# Problem mit JSDK 2.1



## dico (17. Jan 2005)

Hallo,

in einem Uni-Projekt entwickelt meine Gruppe und ich z.Z. ein Wiki in Java. Laufen soll das Wiki mit Hilfe des JSDK 2.1 (Java Servlet Development Kit 2.1), dass einen Server mit integrierter (Java-)Servlet-Engine bereitstellt. Die Implementierung ist auch - bis auf ein paar Kleinigkeiten - abgeschlossen.

Doch haben wir noch ein Problem mit der Darstellung der Oberfläche. Die Oberfläche besteht aus statischen/dynamischen XHTML-Seiten, die nach XHTML 1.0 strict validiert sind. Die Darstellung außerhalb des Servers klappt wunderbar, doch innerhalb des Servers erscheint sie teilweise nicht wie gewünscht.

Im Firefox wird die Seite ohne die Stylesheet dargestellt, im IE6 wird sie richtig dargestellt. Hier die Screenshots dazu:
Firefox, IE 6

Hier der Header von den XHTML-Seiten:

```
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
 "http://www.w3.org/TR/xhtml1/DTD/Strict.dtd">
 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de">
```

Habt ihr eine Idee, woran es liegt? Interpretiert der Server den Doctype nicht richtig?

Gruß
Christian


----------



## foobar (17. Jan 2005)

> Die Darstellung außerhalb des Servers klappt wunderbar, doch innerhalb des Servers erscheint sie teilweise nicht wie gewünscht.


Was meinst du mit innerhalb und außerhalb?



> Interpretiert der Server den Doctype nicht richtig?


Der Doctype wird wenn überhaupt vom Client interpretiert.


----------



## dico (18. Jan 2005)

> Was meinst du mit innerhalb und außerhalb?



Innerhalb = Die Seiten werden mit Hilfe des Servers geladen (z.B. 127.0.0.1:8080).
Außerhalb = Die Seiten werden ohne den Server angezeigt.



> Der Doctype wird wenn überhaupt vom Client interpretiert.



Hast du eine andere Idee woran es liegt, dass der Firefox, die CSS-Datei nicht nutzt, um die Seite darzustellen (siehe Screenshot).
Außerhalb des Servers stellt der Firefox sie perfekt dar.


----------



## foobar (18. Jan 2005)

> Hast du eine andere Idee woran es liegt, dass der Firefox, die CSS-Datei nicht nutzt, um die Seite darzustellen (siehe Screenshot).
> Außerhalb des Servers stellt der Firefox sie perfekt dar.


Was steht in den Logfiles?


----------



## Bleiglanz (18. Jan 2005)

das ist ja alles ganz schlau, warum postest du nicht mal die Zeile

```
<link rel="stylesheet" href="./css/style.css" type="text/css" />
```
da ist nämlich der Fehler (beim href!)

was soll man den an den Screenshots erkennen?


----------



## dico (19. Jan 2005)

Die Struktur sieht folgendermassen aus:


```
|
|
|--index.htm
|--layout.css
|
|
|--WEB-INF--|
            |
            |
            |--servlets--|
                         |
                         |--LogIn.class
                         |--...
```

In dem Ordner servlets sind alle Servlets enthalten.

Um eine CSS-Datei in die statische Seite (index.htm) zu laden, verwende ich bisher folgenden Code:

```
<link rel="stylesheet" href="layout.css" type="text/css" />
```

Um eine CSS-Datei in die dynamischen Seiten (Servlets) zu laden, verwende ich bisher folgenden Code:

```
<link rel="stylesheet" href="../../layout.css" type="text/css" />
```

Liegt daran der Fehler?


----------



## Bleiglanz (19. Jan 2005)

dico hat gesagt.:
			
		

> Liegt daran der Fehler?



ja

das  JSDK 2.1 (Java Servlet Development Kit 2.1) ist doch total veraltet, nimm Tomcat oder Jetty zum Testen

ebenso veraltet ist der "direktaufruf" von servlets über die magische url "/servlet/MeineKlasse", richte ein Servletmapping in der web.xml ein und leg die Servlet-Klassen in WEB-INF/classes

richte dann ein Servlet-Mapping so ein, dass das Servlet im "Wurzelpfad" liegt (http://context/MeineKlasse) und verwende

```
<link rel="stylesheet" href="layout.css" type="text/css" />
```
ganz normal


----------

