一、404Not Found
Http 404 或Not Found错误是HTTP状态码中常见的一种。表示当用户访问某网站时,点击了错误的链接时,所返回的页面;其目的就是告诉浏览器所请求的页面不存在或链接错误。
二、原因
1、拼写错误
在浏览器地址栏输入的url错误。比如你的url应该是:http://localhost:8080/drp3.1/login.jsp。而你输入了http://localhost:8080/drp3.0/login.jsp。这个错误只要细心即可避免。
2、配置文件web.xml里的配置信息错误
你在myeclipse中创建一个名为TestServlet.java的servlet类。这时web.xml文件中会自动加入如下信息。
<servlet>
<servlet-name>TestServlet</servlet-name>
<servlet-class>com.bjpowernode.drp.util.servlet.TestServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>TestServlet</servlet-name>
<url-pattern>/servlet/TestServlet</url-pattern>
</servlet-mapping>
由于某些原因,你需要修改servlet类的名字为TestTestServlet。但由于MyEclipse没有这么智能,所以并没有更改web.xml文件中相应的信息。也就是说web.xml并没有TestTestServlet的相关配置信息。这个错误需要手动修改web.xml配置文件。
3、tomcat配置错误
tomcat虚拟目录错误,如果你用的是myeclipse将项目部署到tomcat时,默认的虚拟目录就是项目的名称。也就是web名。这个web名会自动添加到tomcat下的webapps目录下。
当你把原来名为drp.3.1.1的项目修改为drp3.1时。Web Context-root:并没有跟着改变。需要手动修改。
4、路径问题
所访问路径下的某个web资源不存在,或者没有在这一路径下。
总之,引起404的根本原因就是:请求的Web资源不存在。
三、自己遇到的问题:
在学drp的过程中,在添加分销商页面时,需要采用ajax技术验证分销商代码是否存在。当分销商对应的输入域失去焦点时,判断分销商代码是否存在。无论分销商代码输入什么,总是弹出如下信息。当时就纳了闷,明明照着视频敲的啊,怎么会出这个错误?
之前编写ajax之前已经测试过啦,没有问题。
最后才发现。将JavaScript中URL的值alert()出来才发现。两次的url并不一致。最后在web.xml添加了一个映射(一个servlet类可以对应多个servlet映射)。