我已将我的项目放在tomcat_home / webapps /目录中。结构是:project_name / WEB-INF / classes。在WEB-INF中我已经放了我的web.xml描述符。问题是当我尝试运行应用程序时,它找不到文件。错误是:
The requested resource () is not available.
我的web.xml内容是:
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app 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"
version="2.4">
<servlet>
<servlet-name>Chapter1 Servlet</servlet-name>
<servlet-class>Ch1Servlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Chapter1 Servlet</servlet-name>
<servlet-url>/Serv1</servlet-url>
</servlet-mapping>
</web-app>
我也重启了服务器,但它不想工作。 有什么建议吗?
答案 0 :(得分:1)
您的servlet是否具有命名空间。在标记中,您需要完全限定Ch1Servlet类,即my.code.Ch1Servlet
---阅读评论后补充-----
好的,试试吧。为您的webapp创建上下文。创建一个名为project_name.xml的文件,并将以下内容放入其中:
<Context path="/Serv1" docBase="webapps/project_name"
reloadable="true" debug="0" privileged="true">
</Context>
现在将xml文件放在webapps目录中。
如果要部署WAR,请将docBase替换为“webapps / project_name.war”
答案 1 :(得分:1)
你需要扔掉你所拥有的东西,重新开始并仔细检查:
http://tomcat.apache.org/tomcat-6.0-doc/appdev/index.html
到目前为止你学到了什么?
package com.foo;
迫使人们提出建议,并重复“它不起作用”,不会让你到达你需要的地方。
答案 2 :(得分:0)
如果您使用Tomcat附带的默认server.xml,则不必将其更改为仅运行Web应用程序。您是否尝试过以下网址访问它:http://localhost:8080/project_name/
答案 3 :(得分:0)
看起来您需要将servlet放在一个包中,例如
com.me.Ch1Servlet。然后将servlet-class声明更改为
<servlet-class>com.me.Ch1Servlet</servlet-class>
答案 4 :(得分:0)
如果网址中没有网络应用名称http://localhost:8080/Serv1怎么样?