Problem beim hochladen einer Web Application

Status
Nicht offen für weitere Antworten.

Robson

Aktives Mitglied
Also:
Ich hab ein Servelt Programmiert in Eclipse was ich immer mit der Tomcat Servlet Engine getestet habe.
Alles Wunderbar.

Nun hab ich mir die J2EE geholt und will mein Servlet unter dem Application Server laufen lassen.

Ich habe mit dem DEPLOY TOOL mein Servlet files in ein WAR File gebastelt. Dazu habe ich bei dem DEPLOY TOOL den Ordner angewählt wo mein Servlet mit der Verzeichnis Struktur drin ist. (WEB-INF etc.)

gut dann hatte ich das war file.

dann in die Admin Oberfläche vom Application Server
unter WEB Applications auf DEPLOY mein Warfile angegeben und alles so gemacht wie er es will.

jetzt steht meine Application da, wenn ich aber auf Launch klicke öffnet sich ein Fenster und man sieht nur folgendes und nicht mein Servlet.

Directory Listing For /
Filename Size Last Modified
Sun-Java-System/Application-Server-PE-8.0

hab ich irgendwas wichtiges vergessen ?
 
was ist Servlet?

ein Ordner - ein jsp ohne Extension - eine Servletmapping auf ein Servlet?

das passt nicht zu deiner Frage bzgl. "Directory Listing For / "
 
Also unter meinem Tomcat kommt wenn ich

http://localhost:8080/Servlet/

eingebe mein Servlet aber under dem J2EE Server kommt

Directory Listing For /
Filename Size Last Modified
Sun-Java-System/Application-Server-PE-8.0

also der findet das servlet irgendwie nicht .. oder so :roll:
deswegen wollte ich nachfragen ob ich bei dem packen meinen servlets in ein war file irgendwas vergessen habe
 
ja, nämlich unter welchem context-path die webapp zur verfügung stehen soll!

lies die doku oder nimm das deploy-tool
 
Code:
...
   <servlet-mapping>
      <servlet-name>ServletName</servlet-name>
      <url-pattern>/</url-pattern>
   </servlet-mapping>
...
in web.xml sollte reichen
 
web.xml ist quatsch!

es geht um den "äusseren Kontext", und der ist in der web.xml nicht zu beeinflussen. in vorliegenden Fall soll ja gar keiner Verwendet werden - das ist bei jedem Appserver anders

bei SUN: in META-INF eine sun-web.xml anlegen, die etwa so aussieht
Code:
<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE sun-web-app PUBLIC '-//Sun Microsystems, Inc.//DTD Application Server 8.0 Servlet 2.4//EN' 'http://www.sun.com/software/appserver/dtds/sun-web-app_2_4-0.dtd'> 
<sun-web-app> 
   <context-root>/</context-root>
<!-- oder was anderes, was da steht - z.B. xyz - führt zum
Pfad [url]http://host/xyz/[/url] für dieses war -->
</sun-web-app>
im ürbrigen RTFM
 
@Bleiglanz
Schön arrogant. Warum antwortest Du, wenn Du RTFM meinst?
Das mit web.xml funktioniert, ich habe es schon zig mal gemacht.
Es setzt aber selbstverständlich voraus, das die WAR Datei den
gewünschten Namen hat.
z.B.
- MyServlet.WAR
- Mapping wie oben für beliebiges Servlet
- Aufruf mit: http://localhost:####/MyServlet

(Zumindest unter Tomcat, Resin und OC4J läuft es so.)

Hough, ich habe gesprochen.
 
prost!
Das mit web.xml funktioniert, ich habe es schon zig mal gemacht.
Es setzt aber selbstverständlich voraus, das die WAR Datei den
gewünschten Namen hat.

ist ja schon gut

1. Das Problem hat NICHTS mit der web.xml zu tun und auch gar NICHTS mit einem Servlet-Mapping auf /, ist das nicht klar??

2. Dass verschiedene Appserver eine xyz.war eben unter ihrem Namen einhängen ist zwar praktisch, aber hilft hier nicht weiter weil ja gerade der wurzel-kontext gesetzt werden soll - und eine Datei ohne Namen geht wahrscheinlich nicht?!

probiers doch mal mit einer Datei namens ".war" aus, würde mich interessieren
 
probiers doch mal mit einer Datei namens ".war" aus, würde mich interessieren
Wer macht den sowas?
Lösche paar JAR's aus dem Serververzeichnis. Damit kannst Du auch
unsinnige Fehler provozieren.

Wie auch immer. :roll: Peace! 8)
 
Ich hab das problem gefunden . 🙂
Ich hatte vergessen in meinem Web Archive dem Servlet ein Alias zuzuweisen.
Deswegen konnte ich es nicht aufrufen. 8)
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben