日期:2014-05-17  浏览次数:20722 次

分享HTTP Status 404(The requested resource is not available)的几种解决方案
本帖最后由 u012010949 于 2013-11-06 09:31:40 编辑
这个问题搞了我两天的时间,找了各种资料没解决,后来才发现是struts2版本中一些jar文件的升级问题,下面给出这两天的找到的以及自己的解决方案:



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>

补充说明:在6.0.18 版本error:“ The requested resource () is not available. ”
总是无法访问/myapp/*.jsp文件,可以将 /ROOT 中build.xml 文件copy 一份到myapp,  注意把里面所有的 ROOT 用 myapp 代替. 应该就OK.

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”改为你要运行的文件名

7.struts.xml配置错误,可能是你的Action值写错或者链接URL写错

下面是我自己的解决办法,很多书都是导入六个文件,我自己的话是多增加了commons-lang3-3.1.jar和javassist-3.11.GA.jar
8、增加commons-lang3-3.1.jar文件到啊WEB-INF/lib目录下,struts2最新的web开发包如下:


下载地址:http://download.csdn.net/detail/ahy1024/4626028

------解决方案--------------------
 谢谢楼主的总结,分享。学习
------解决方案--------------------
楼主专研的精神可嘉!赞个。

------解决方案--------------------
分享精神可嘉!