Servlet: HelloServlet 404错误
来源:互联网 发布:免费留学国家知乎 编辑:程序博客网 时间:2024/05/22 07:00
刚开始学习Servlet 时,开始写一个HelloWorld小程序测试Servlet程序是否能够Tomcat服务器下正常工作。可是在浏览器输入URL时就出现404错误,在网上找了好多答案,但并没有正确解决问题。在stackoverflow上终于得到一个提示,最终解决了404错误。以下是个人解决问题的方案:具体也可以参考:stackoverflow。
问题的关键是该测试类不能为裸体类,必须加包名作为URL唯一标识符。
(本文只是提供一种解决方案,不必模仿路径名)
文件目录:
在Tomcat的webapps建立一个测试目录:testdemo
testdemo
|-----WEB-INF
|-----web.xml
|-----classes
|-----com
|-----examle
|-----HelloServlet.class
java文件:
最主要为该java文件添加包名,作为URL的标识符。作为测试,我只是简单添加:package com.example。
本人遇到的错误是直接使用裸体类,并没有为Java文件添加package,故出现了404错误(Tomcat 7.0.33)。
package com.example;
/**
* 2012-12-08
* HelloServlet.java
*
* test tomcat setting
*/
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
public class HelloServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse
response) throws IOException {
PrintWriter out = response.getWriter();
java.util.Date d = new java.util.Date();
out.println("<html>" +
"<body>"+"<h1 align=center>Hello Servlet!</h1>"+"<br />"+
"</body>" + "</html>"
);
}
}
(对于不知怎样得到.class 文件,在Tomcat目录下的lib目录把相应的servlet jar包添加到环境变量,直接javac编译该java文件,同时把.class文件复制到自己的classes目录下)
web.xml文件配置:<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>Hello Servlet</servlet-name>
<servlet-class>com.example.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Hello Servlet</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
</web-app>
该文件的分析:在web.xml中通过映射找到Servlet类。客户端通过公共名称即<url-pattern>/hello</url-pattern>中的hello找到<servlet-name>Hello Servlet</servlet-name>,最终找到<servlet-class>com.example.HelloServlet</servlet-class>中Servlet类。在第一步中写什么都可以,但必须为用户知道的名称,同时不能漏掉“/”,因为是在你的工程名字下访问的;在第三步中,必须写完整的路径名,但不必加.class。
访问该Servlet类: http://localhost:8080/testdemo/hello
(提示一下:改变了.class部署文件,有必要重起Tomcat服务器)
好吧,就写到这里,我的解决方法可能并不能适合你的,我只是提供一种解决方法,如不能解决你的问题,请继续搜索答案。
- Servlet: HelloServlet 404错误
- 解决"HTTP Status 404 - /servlet/HelloServlet"错误
- HTTP Status 404 - /servlet/helloservlet
- Servlet初识-HelloServlet
- Servlet学习之HelloServlet生命周期
- Allocate exception for servlet helloServlet
- 第一个Servlet程序 HelloServlet
- [Servlet]HelloServlet示例:Servlet的基本元素
- HelloServlet
- JSP&&SERVLET学习笔记(一):HelloServlet
- 创建第一个servlet程序--HelloServlet
- JSP&Servlet学习笔记(2)HelloServlet解析
- 我的第一个Servlet(二)——HelloServlet
- servlet报404错误
- 第一个Servlet小程序之HelloServlet详解,及form表单 action如何填写等问题。
- Java for Web学习笔记(四):Servlet(2)HelloServlet
- java Web 工程servlet中@WebServlet("/HelloServlet") 是怎么工作的
- servlet表单验证404错误
- http 状态详解
- DWZ简介及其使用
- 分子图形软件MOL4D(7) for Windows(插图70幅)
- 【互动出版网】《算法导论:原书第3版》现在购买即可领取8元现金抵用券专题活动已经上线啦
- 对JavaEE的十大不当使用导致的性能问题
- Servlet: HelloServlet 404错误
- 在VMware虚拟机机下,为什么添加串口,只有serial port 2, 没有serial port
- CvvImage.h CvvImage.cpp文件
- 我最喜爱的编程语言”排行榜 (2012年11月)
- 思考
- 《感伤》
- 做好“五大系统”帮助企业开启电商之路
- 拟牛顿法/Quasi-Newton,DFP算法/Davidon-Fletcher-Powell,及BFGS算法/Broyden-Fletcher-Goldfarb-Shanno
- javascript操作JSON