今天修改完虚拟目录下的\WEB-INF\web.xml文件后出现这个问题,
罪魁祸首是标签拼写错误,导致一个标签前后不匹配。
不过这个错误连点儿提示也没有,查了好半天……
===========================================================================================
HTTP Status 404(The requested resource is not available)的几种解决方案
1.未部署Web应用
2.URL输入错误
排错方法:
首先,查看URL的IP地址和端口号是否书写正确。
其次,查看上下文路径是否正确Project--Properties--MyElipse--Web--WebContext--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下面必须要有几个固定的文件夹和文件
(1)、web.xml该web app的配置文件
(2)、lib该web app用到的库文件
(3)、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”改为你要运行的文件名