# Problem beim hochladen einer Web Application



## Robson (10. Sep 2004)

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 ?


----------



## Bleiglanz (13. Sep 2004)

Eine index.jsp?


----------



## Robson (13. Sep 2004)

muss man sowas haben ?


----------



## Bleiglanz (13. Sep 2004)

wenn bei aufruf ohne Seite (z.B. www.xyz.de/) etwas haben willst, dann ja

wenn man immer eine Seite aufrufen muss (www.xyz.de/seite.jsp) dann nein


----------



## Robson (14. Sep 2004)

Eigendlich will ich es nur so haben wie es unterm Tomcat läuft.

also http://localhost:8080/Servlet

was muss ich tun damit ich auch unterm SUN Application Server das Servlet so aufrufen kann ?


----------



## Robson (14. Sep 2004)

Eigendlich will ich es nur so haben wie es unterm Tomcat läuft.

also http://localhost:8080/Servlet

was muss ich tun damit ich auch unterm SUN Application Server das Servlet so aufrufen kann ?


----------



## Bleiglanz (14. Sep 2004)

was ist Servlet?

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

das passt nicht zu deiner Frage bzgl. "Directory Listing For / "


----------



## Robson (14. Sep 2004)

Das ein Ordner


----------



## Bleiglanz (14. Sep 2004)

das passt nicht zu deiner Frage bzgl. "Directory Listing For / "

ausserdem:

http://localhost:8080/Servlet/


----------



## Robson (14. Sep 2004)

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


----------



## Bleiglanz (14. Sep 2004)

ja, nämlich unter welchem context-path die webapp zur verfügung stehen soll! 

lies die doku oder nimm das deploy-tool


----------



## Guest (14. Sep 2004)

```
...
   <servlet-mapping>
      <servlet-name>ServletName</servlet-name>
      <url-pattern>/</url-pattern>
   </servlet-mapping>
...
```
in web.xml sollte reichen


----------



## Bleiglanz (15. Sep 2004)

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

```
<?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


----------



## Guest (15. Sep 2004)

@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.


----------



## Bleiglanz (16. Sep 2004)

> Schön arrogant.


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


----------



## Guest (16. Sep 2004)

> 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)


----------



## Robson (16. Sep 2004)

Ich hab das problem gefunden . 
Ich hatte vergessen in meinem Web Archive dem Servlet ein Alias zuzuweisen.
Deswegen konnte ich es nicht aufrufen.  8)


----------

