# Tomcat - web.xml und package .



## Java_Nerd (3. Sep 2008)

Moin,

ich habe jetzt angefangen bissl mit Java Servlets zu experimentieren, leider habe ich ein Problem, hoffe ihr könnt mir dabei helfen:

Zunächst einmal was ich gemacht habe: eine einfache Klasse zum Testen von Tomcat.


```
package test;

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

//Einfaches Servlet zum Testen von Tomcat!

public class HelloWorld extends HttpServlet {
    
    public void doGet( HttpServletResponse response,
                        HttpServletRequest request)
               throws ServletException, IOException {
        
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        
        String docType =
                "<DOCTYPE HTML PUBLIC \"- //W3C//DTD HTML 4.0 " +
                "TRANSITIONAL//EN\">\n";
        out.println( docType + 
                    "<HTML>\n" +
                    "<HEAD><TITLE>test test test</TITLE></HEAD>\n"+
                    "<BODY>\n" +
                    "<H1>test test test</H1>\n" +
                    "</BODY></HTML>");
        out.close();
    }


}
```

web.xml:


```
<!DOCTYPE web-app PUBLIC
  '-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN'
  'http://java.sun.com/dtd/web-app_2_3.dtd'>
<web-app>
  <servlet>
    <servlet-name>hello</servlet-name>
    <servlet-class>test.HelloWorld</servlet-class>
  </servlet>

  <servlet-mapping>
    <servlet-name>hello</servlet-name>
    <url-pattern>/hello</url-pattern>
  </servlet-mapping>
</web-app>
```

Verzeichnisstruktur: tomcat/webapps/servlets/*

*bin/
*src/
*WEB-INF/**
*work

**classes/test/HelloWorld.class
**lib/
**src/test/HelloWorld.java
**web.xml

Nun wenn ich die URL: localhost:8080/servlets/test/hello aufrufe:


```
type Status report

message /servlets/test/hello

description The requested resource (/servlets/test/hello) is not available.
```

Was habe ich nun falsch gemacht?? In dem Buch was vor mir liegt, ist es genauso beschrieben, das Beispiel funktioniert wunderbar wenn ich keine package benutze! Ich nehme an (ich vermute es, oder was auch immer) dass es web.xml liegt, leider habe ich bis jetzt keine passende Lösung gefunden.

Wenns hilft: Mac os x und benutze die neuste Tomcatversion.

thx


[/quote]


----------



## maki (3. Sep 2008)

Versuch mal

http://localhost:8080/<contextname>/hello

<contextname> ersetzt du durch den Contextnamen 

Ps: Packetnamen gehören nicht in die URL...


----------



## Java_Nerd (3. Sep 2008)

ahh ok danke! nun gehts, dann verstehe ich absolut nicht warum das im Buch so steht, such mir ein anderes Buch 

hab übrigens im quellcode ein fehler drinn: zuerst HttpServletRequest request und nicht zuersst HttpServletResponse response ...


----------



## maki (3. Sep 2008)

Welches Buch ist denn das?

Hab früher aus dem O'Reilly Büchern gelernt, fand ich gut.


----------



## Java_Nerd (3. Sep 2008)

Core Servlets und JavaServer Pages von Marty Hall und Larry Brown Erscheinungsjahr: 2004 Markt+Technikverlag

Auf Seite 85 unter der Abbildung: Ausgabe von http://localhost/servlet/coreservlets.HelloServlet2 

Also mit dem Punkt habe ich das nicht hinbkommen


----------

