[英]Cannot run a servlet inside Tomcat
我在运行servlet时遇到问题。 当我尝试运行它时,我得到HTTP STATUS 404,请求的资源不可用
我在“ ..Tomcat 7.0 \\ webapps \\ ROOT \\ test \\ WEB-INF \\ classes”中有test.class
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
public class test extends HttpServlet {
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws IOException{
PrintWriter out=response.getWriter();
java.util.Date today=new java.util.Date();
out.println("<html>"+"<body>"+"<BR>"+"<B>"+"<center>"+today
+"</center>"+"<body>"+"</html>");
}
}
我的web.xml是insinde WEB-INF,看起来像
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">
<servlet>
<servlet-name>test</servlet-name>
<servlet-class>test</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>test</servlet-name>
<url-pattern>/test<url-pattern>
</servlet-mapping>
</web-app>
我用以下命令编译了.java文件:
..ROOT \\ test \\ WEB-INF> javac -classpath“ C:\\ Program Files \\ Apache Software Foundation \\ Tomcat 7.0 \\ lib \\ servlet-api.jar” -d类test.java
通过在web.xml中给出完全限定的类名来尝试
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">
<servlet>
<servlet-name>test</servlet-name>
<servlet-class>test</servlet-class> <!-- give the fully qualified class name -->
</servlet>
<servlet-mapping>
<servlet-name>test</servlet-name>
<url-pattern>/test<url-pattern>
</servlet-mapping>
</web-app>
主要问题是您的目录结构: Tomcat 7.0\\webapps\\ROOT\\test\\WEB-INF\\classes
。 特殊目录WEB-INF
必须直接在应用程序名称下(在您的情况下为ROOT
)。
有关更多信息,请参见Oracle 教程 。
文档根目录下的特殊目录WEB-INF包含与应用程序相关的所有内容,这些内容不在应用程序的公共文档树中。 WEB-INF中包含的任何文件都不能直接提供给客户端。 WEB-INF的内容包括:
/ WEB-INF / classes / *-Servlet和其他类的目录。
/WEB-INF/web.xml和/WEB-INF/sun-web.xml-基于XML的部署描述符,用于指定Web应用程序配置,包括映射,初始化参数和安全性约束。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.