刚刚学习java的初学者,在编写一个servlet程序运行后,常常会遇到“HTTP Status 404”的错误,这里详细说说如何配置才能让servlet正常运行。
下面是一段简单的servlet代码,文件名:ServletExa.java
packagetest;
importjava.io.IOException;
importjavax.servlet.ServletException;
importjavax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
publicclass ServletExa extends HttpServlet
{
@Override
protectedvoid doGet(HttpServletRequest request, HttpServletResponse response) throwsServletException, IOException
{
System.out.print("do get!");
}
}
对应的web.xml配置如下:
<?xmlversion="1.0" encoding="ISO-8859-1"?>
<web-appxmlns="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"
metadata-complete="true">
<servlet>
<servlet-name>ServletExa</servlet-name>
<servlet-class>test.ServletExa</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ServletExa</servlet-name>
<url-pattern>/b</url-pattern>
</servlet-mapping>
</web-app>
编译ServletExa.java生成ServletExa.class,在tomcat安装目录下webapps目录建一个目录为ServletExa,在ServletExa目录下建一个WEB-INF,将web.xml放到WEB-INF目录下,在WEB-INF创建一个目录classes,这个目录主要放置servlet的类,因为程序里输出的包为test,对应web.xml中的servlet-class为test.ServletExa,所以要在classes目录下创建一个目录test,将ServletExa.class放到test目录下。
启动tomcat,在地址栏中输入http://localhost:8080/ServletExa/b,便可看见结果。