我的环境是eclipse (查了一下2013EEIDE)+tomcat7.0+Servlet3.0
项目名称:day08BookManageCase
servlet类是new servlet出来的如下代码,大部分代码省略,只留了注解部分。
/**
* Servlet implementation class FindAllServlet
*/
@WebServlet("/FindAllServlet")
public class FindAllServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
.......
index.html
<body>
<a href="/day08BookManageCase/FindAllServlet">查询所有书籍</a>
</body>
当通过这个页面访问的时候出现了404错误。
问题解决:
因为控制台中没有任何报错信息,最后只能在网上找,最后问题解决了。
出现上述错误的原因是我在创建项目的时候,没有自动生成web.xml
而是copy了之前的一个web.xml,而在之前的这个web.xml中,并不能通过读取web.xml文件关联注解了的servlet类。
所以最后修改了web.xml标签的属性,问题得到解决。
==========================================================
那么对于上述问题,我看到的错误只是404错误,就是找不到页面,而这样的错误,往往是在控制台中没有任何的异常信息会出现的。
而web程序的启动,必然是要去读取web.xml文件。
所以,当出现这种的错误的时候,我们要去查看以下几点:
1.web.xml 文件是否已经创建了
2.web.xml文件的位置是否对了
3.web.xml文件的配置信息是否是对的
包括:web标签本身的属性信息、标签内部的配置信息。
支持注解的web.xml的标签头如下:
<web-app version="3.0" 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">
最后,还要注意的是软件之间是否相互支持。
比如如你用低版本的eclipse,高版本的tomcat,中期版本的servlet这样就极有可能出现各种问题。所以在配置系统的开发环境的时候
要注意一下,版本之间的兼容性,也可以直接在网上找相应的版本组合。
运用servlet3.0注解报404错误