2010-11-23 54 views
1

我是tomcat6应用程序部署的新手。我正试图在tomcat6上部署我的helloworld severlet。但whenrver我用servlet的URL作为http://192.168.2.10:8080/hello/HelloWorldExample2,我收到以下错误:在uncatu上部署servlet tomcat6 10.04

HTTP状态404 - /你好/ HelloWorldExample2

类型状态报告

消息/你好/ HelloWorldExample2

描述请求资源(/ hello/HelloWorldExample2)不可用。

我抄我的servlet到/ var/lib中/ tomcat6中/ webapps目录下。这是我的web应用程序目录的内容

LS -lR你好/ *
你好/ WEB-INF:
总8
drwxr-XR-×2根根4096 2010-11-23 17:07的类
-rw-R - R-- 1根根658 2010-11-23 17点41分的web.xml

你好/ WEB-INF /类:
总8
-rw-R-- r-- 1 root root 1725 2010-11-23 17:07 HelloWorldExample2.class
-rw-r - r-- 1 root root 2532 2010-11-23 1 7:06 HelloWorldExample2.java

这里是我的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> 

的我不知道为什么我无法加载的servlet的内容。请帮忙。

回答

2

您的web.xml不正确。它缺少<servlet-class>这应该是包括包的类的全名。它似乎是HelloWorldExample2从您的目录结构。

和你使用的是url-pattern /你好,这意味着你应该在浏览器的URL尝试为:

http://192.168.2.10:8080/hello/hello

即格式

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

这里<context-root>这个名字您webapphello

<url-pattern>是您在web.xml中为该servlet指定的内容。

如果您要访问它作为http://192.168.2.10:8080/hello/HelloWorldExample2,然后更改<url-pattern>servlet-mapping到/ HelloWorldExample2

此外,在web.xml中应该匹配的webapp(你好),而不是在servlet的display-name - 但不会导致失败。

+0

非常感谢!有效! :) – cppdev 2010-11-23 13:19:13