HTTP Status 404(The requested resource is not available)异常是我们项目中常有的错误,下面给出7种解决方案
1. 未部署Web应用,检查应用是否部署和是否部署成功!!!!
2. URL输入错误(常有的错误。。)
- 查看URL的IP地址和端口号是否书写正确。
- 查看上下文路径是否正确 Project——–Properties——MyElipse—–Web—– Web Context-root检查这个路径名称是否书写正确。
- .检查一下文件名称是否书写正确。
3. 目录不能被引用
在 Eclipse 的 “包资源管理器(Package Explorer)” 检查文件存放的位置。
由于META-INF WEB-INF文件夹下的内容无法对外发布,所以,如果你引用了带这两个目录的文件,肯定是不允许。
例如: http://localhost:8080/guestbook/WEB-INF/index.html 就是错误的,文件位置存放错误
4. Tomcat服务器中web.xml中的问题
如果你的web应用程序有多个jsp页面的话,当你点击你web应用程序的虚拟根目录时可能会出现404错 误,只是你只需要修改Tomcat服务器中web.xml。
<init-param>
<param-name>listings</param-name>
<param-value>false(将其改为true)</param-value>
</init-param>
5. WEB-INF下面必须要有几个固定的文件夹和文件
- web.xml 该web app的配置文件
- lib 该web app用到的库文件
- classes存放编译好的servlet
请注意他们的名字,不要把classes写成class
6. 如果要运行的不是.jsp文件,而是servlet(.class)文件
要配置web.xml(当然是WEB-INF下面的),加上以下字段:
<servlet>
<servlet-name>HelloWorldServlet</servlet-name>
<servlet-class>HelloWorldServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorldServlet</servlet-name>
<url-pattern>/HelloWorldServlet</url-pattern>
</servlet-mapping>
其中的“HelloWorldServlet”改为你要运行的文件名
注:在web-app高版本(一般为3.0及以上)可在源代码中添加 @WebServlet()
注解来代替 xml 文件中的内容,但需注意二者只能保留一个,否则容易抛出404错误