2010-11-23 4 views
1

Je suis un nouveau venu dans le déploiement d'applications tomcat6. J'essaie de déployer mon severlet helloworld sur tomcat6. Mais whenrver j'utilise url servlet comme http://192.168.2.10:8080/hello/HelloWorldExample2, je reçois l'erreur suivante:Déployer le servlet sur tomcat6 sur ununtu lucid 10.04

HTTP Status 404 -/bonjour/HelloWorldExample2

type de rapport d'état

un message/bonjour/HelloWorldExample2

Description La demande resource (/ hello/HelloWorldExample2) n'est pas disponible.

J'ai copié ma servlet dans le répertoire/var/lib/tomcat6/webapps. Voici le contenu de mon répertoire webapp

ls -LR bonjour/*
bonjour/WEB-INF:
au total 8
drwxr-xr-x 2 root root 4096 2010-11-23 17:07 cours
-rw-r - r-- 1 root root 658 2010-11-23 17:41 web.xml

bonjour/WEB-INF/classes:
au total 8
-rw-r-- r-- 1 racine racine 1725 2010-11-23 17:07 HelloWorldExample2.class
-rw-r - r-- 1 racine racine 2532 2010-11-23 1 07:06 HelloWorldExample2.java

Voici le contenu de mon web.xml

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> 
<display-name>HelloWorldExample2</display-name> 
<servlet> 
<servlet-name>HelloWorldExample2</servlet-name> 
<servlet-class></servlet-class> 
</servlet> 
<servlet-mapping> 
<servlet-name>HelloWorldExample2</servlet-name> 
<url-pattern>/hello</url-pattern> 
</servlet-mapping> 
</web-app> 

Je ne sais pas pourquoi je suis incapable de charger servlet. S'il vous plaît aider.

Répondre

2

Votre fichier web.xml est incorrect. Il manque le <servlet-class> qui devrait être le nom complet de la classe, y compris le paquet. Il semble être HelloWorldExample2 de votre structure de répertoire.

et que vous utilisez le url-pattern/bonjour ce qui signifie que vous devriez essayer avec l'URL dans le navigateur:

http://192.168.2.10:8080/hello/hello

-à-dire le format

http://<server:port>/<context-root>/<url-pattern> 

Ici, le <context-root> est le nom de votre webapphello

et le <url-pattern> est ce que vous avez spécifié dans web.xml pour ce servlet.

Si vous voulez y accéder comme http://192.168.2.10:8080/hello/HelloWorldExample2, puis modifiez le <url-pattern> pour le servlet-mapping à/HelloWorldExample2

En outre, le display-name dans web.xml doit correspondre à la webapp (bonjour) et non le servlet - mais wont provoquer l'échec.

+0

Merci beaucoup! Ça a marché! :) – cppdev