【发布时间】:2017-09-30 07:07:33
【问题描述】:
一开始我遵循了Head First Servlets & JSP中的一个非常简单的例子,但是我遇到了一个问题。当我尝试访问 webapps/ch1/web-inf/ 中名为 Ch1Servlet 的 servlet,映射到 url-pattern:/Serv1 时,tomcat 返回 ERROR 404:
HTTP Status 404 - /ch1/Serv1
我在浏览器的地址栏中输入localhost:8080,它显示了Tomcat的主页,服务器似乎没有问题。
然后我创建了一个名为Ch1Servlet 的servlet。这是它的样子:
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
public class Ch1Servlet 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><h1>Today</h1>"+today+"</body></html>");
}
}
接下来,需要一个 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" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<Servlet>
<Servlet-name>Ch1Servlet</Servlet-name>
<Servlet-class>Ch1Servlet</Servlet-class>
</Servlet>
<Servlet-mapping>
<Servlet-name>Ch1Servlet</Servlet-name>
<url-pattern>/Serv1</url-pattern>
</Servlet-mapping>
</web-app>
Ch1Servlet.java编译完成后,得到一个class文件,放在WEB-INF/classes中,web.xml放在WEB-INF中。所以层次结构是这样的:webapps/ch1/WEB-INF。
这表明我们将能够访问 servlet 并在屏幕上显示一个 HTML 页面,方法是使用 url:http://localhost:8080/ch1/Serv1。但不幸的是,在那里发现了ERROR 404。
【问题讨论】:
标签: java spring jsp tomcat servlets