Unterschied zw"per Hand" gestartetem Tomcat und pe

Status
Nicht offen für weitere Antworten.

oetzi

Bekanntes Mitglied
EDIT: Titel: Unterschied zw"per Hand" gestarteten Tomcat und per Eclipse

Hallo zusammen,
Ich bin grad bei der Einarbeitung / Vertiefung von J2EE. Gerade bin ich bei der Erstellung von JSPs. Dabei gehe ich nach den Vorgaben eines Buches vor.

Demnach bin ich bis jetzt wie folgt vorgegangen:
"Per Hand":
im webapps verzeichnis habe ich folgende ordnerstruktur angelegt
-test
--index.jsp
--jsp
--WEB-INF
----web.xml

außerdem sollte ich noch in der server.xml unter dem <host> tag folgendes hinzufügen:
<context path="test" docBase="C:\Apache_Tomcat\webapps\test" reloadable="true" />

Hört sich ja auch alles logisch an und wenn ich jetzt den tomcat über das /bin verzeichnis starte und danach im browser http://localhost:8080/test/ aufrufe, bekomme ich auch die index seite angezeigt.


Da ich nun beim weiteren durcharbeiten der Artikel im Buch auf ein Problem mit einer nicht gefundenen Klasse gestoßen bin, dachte ich mir das Problem liegt vielleicht irgendwo bei mir und meiner händischen Konfiguration.

Also hab ich meine eclipse (j2ee version) angeschmissen und dort erstmal ein dynamisches webprojekt angelegt. (auch im webapps verzeichnis des tomcats)

so, jetzt komme ich langsam mal zu meinem problem :)

eclipse legt eine andere verzeichnisstruktur an, als ich es händisch gemacht habe und zwar folgende:

-eclipsetest
--WebContent
----index.jsp
----WEB-INF
------web.xml

1. Warum legt eclipse dieses zusätzliche WebContent verzeichnis an und packt da alles rein?? Hat das irgendeinen Sinn? Weglassen kann ich das Verzeichnis nicht, dann lässt mich Eclipse das Projekt nicht anlegen.

2. Sehr verwirren tut mich folgende Situation: Wenn ich über die tomcat/bin/tomcat.exe den server starte kann ich auf das "test"-projekt über den browser zugreifen, nicht aber auf das "eclipsetest"-projekt, dort kommt dann ein "The requested resource (/eclipsetest/) is not available." Wenn ich hingegen den Server über Eclipse starte sieht es genau andersherum aus!
Warum ist das so?? Ich nutze in Eclipse doch einfach nur den Tomcat, den ich auch von Hand nutze!?!
Ich hatte übrigens auch einfach mal die server.xml um folgenden eintrag ergänzt:
<context path="eclipsetest" docBase="C:\Apache_Tomcat\webapps\eclipsetest\WebContent" reloadable="true" />
In der Hoffnung, dass wenn ich den Server per Hand starte er dann auch das von eclipse angelegt projekt findet. bringt aber leider nichts...

Kann mir da bitte wer helfen?
 
M

maki

Gast
>> Ich bin grad bei der Einarbeitung / Vertiefung von J2EE. Gerade bin ich bei der Erstellung von JSPs. Dabei gehe ich nach den Vorgaben eines Buches vor.

Wenn dein Buch JSPs vor Servlets behandelt wirf es weg, dann ist es Schund.
Wenn du Servlets verstanden hast, kennst du sowohl die Verzeichnissstruktur als auch die Konfiguration.

>>1 . Warum legt eclipse dieses zusätzliche WebContent verzeichnis an und packt da alles rein?? Hat das irgendeinen Sinn? Weglassen kann ich das Verzeichnis nicht, dann lässt mich Eclipse das Projekt nicht anlegen.

Weil es unübersichtlich wäre sowohl die JSPs, HTML, CSS und JavaScript Dateien mitten im Java Code zu haben.
Das eine sind eben webressourcen, das andere Java ressourcen ;)

>> 2...

Deine Konfig stimmt nicht.

Google doch mal nach WTP Eclipse tutorial.
 

oetzi

Bekanntes Mitglied
maki hat gesagt.:
>>1 . Warum legt eclipse dieses zusätzliche WebContent verzeichnis an und packt da alles rein?? Hat das irgendeinen Sinn? Weglassen kann ich das Verzeichnis nicht, dann lässt mich Eclipse das Projekt nicht anlegen.

Weil es unübersichtlich wäre sowohl die JSPs, HTML, CSS und JavaScript Dateien mitten im Java Code zu haben.
Das eine sind eben webressourcen, das andere Java ressourcen ;)

hört sich logisch an :)

maki hat gesagt.:
>> 2...

Deine Konfig stimmt nicht.

Google doch mal nach WTP Eclipse tutorial.

Das Problem an all den Tutorials, Büchern, etc. ist, dass sie quasi alle sehr spezifisch ein Beispiel abhandeln.

Als ich grad z.b. (nach dem googlen nach "WTP Eclipse tutorial") ein entsprechendes tutorial gelesen habe, wurde nur gesagt, dass man in die web.xml
Code:
  <servlet>
   <servlet-name>Snoop Servlet</servlet-name>
   <servlet-class>org.eclipse.wtp.tutorial.SnoopServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>Snoop Servlet</servlet-name>
    <url-pattern>/snoop/*</url-pattern>
 </servlet-mapping>
eintragen soll, aber nicht warum wieso weshalb!
Ich habe also keine möglichkeit nachzuvollziehen, warum welches attribut in der web.xml gebraucht wird und welche funktion es hat.

In einem anderen Beispiel, was ich hier grad noch auf der Platte habe, habe ich nur folgendes in die web.xml eingetragen:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee   http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>Eine Test - App</display-name>
</web-app>
bei beiden konfigurationen läuft die anwendung erstmal.

das problem dürfte klar sein: es wird oft einfach gesagt "mach das so und so" ohne groß hintergrundinfos z.b. über die allgmeine konfiguration einer webanwendung in einem tomcat zu geben.

Ich als Neuling habe also wenn es dann zu problemen kommt keine ansatzmöglichkeiten woran es liegen kann.

Könnte mir also vll jemand eine gute seite empfehlen, wo man solche grundlegenden infos bekommen kann?

gruß
oetzi
 
M

maki

Gast
Das Problem an all den Tutorials, Büchern, etc. ist, dass sie quasi alle sehr spezifisch ein Beispiel abhandeln.

Als ich grad z.b. (nach dem googlen nach "WTP Eclipse tutorial") ein entsprechendes tutorial gelesen habe, wurde nur gesagt, dass man in die web.xml
...
eintragen soll, aber nicht warum wieso weshalb!
Der Unterschied zwischen einer Einführung und einem Tutorial sollte dir doch klar sein ;)

Lernen per Trial & Error funzt hier nicht, zu komplex.

Grundlagen solltest du kennen bevor du anfängst, speziell Servlet Grundlagen.

Nachtrag:
:toll: @ HLX
 

FArt

Top Contributor
Du kannst auch mal schauen, was der Unterschied zwischen Tomcat und Embedded Tomcat ist... könnte auch helfen.
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben