关于http status 404的问题

在学习struts2的过程中,遇到了http status 404 的问题,由于是跟着视频学的,所以出错后的第一反应是里面的代码写错了,于是乎,我开始跟视频上的一点一点的对照,后来发现没有写错,还是供源的作者人好,竟然还有源代码,我就直接把工程给导入了,接下来悲剧了,还是这个错,于是寄希望于百度了。不过还好,最后总算是把问题解决了,把方法贴出来,希望能帮到大家吧。

可能的情况如下:


HTTP Status 404(The requested resource is not available)的几种解决方案


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


如果你的错误原因以上的都不是,那么可能就是下面的问题了

可能是你没有部署tomcat,以下是方法:

关于Myeclipse中tomcat的部署问题:


一、在Myeclipse软件中部署

1、 在Myeclipse中,创建好工程后,在Myeclipse菜单栏中选择 Windows -> Preferences -> Myeclipse -> Tomcat5,选择"Enable";Tomact Home Directory要选择你机器上Tomcat所安装的目录。然后,再Windows -> Preferences-> Myeclipse -> Tomcat5 ->JDK,确保这个是有对应的jdk版本,若没有,则通过"Add"添加其安装路径。ok

2、选择工具栏上的            按钮,在”Project”中选择你要部署的工程,然后”Add”,再选择”Tomcat”,Finish。

3、 在工具栏上选择 ,启动Tomcat。

4、 运行程序。在IE中输入http://localhost:8080/aa/WebRoot/index.jsp(aa为工程名字)

二、在Tomcat的server.xml配置文件中部署(我就是用这种方法解决的)

1、在Tomcat下,找到conf文件下的server.xml,打开。

2、在<Host>和</host>之间加上如下代码:

1 <Context path="/虚拟目录名" docBase="目标目录位置" debug="0" reloadable="true">
2 </Context>

(严格区分大小写,当path=""时,此时的虚拟目录直接为root--->http://localhost:8080/)
    path:表示在浏览器中输入http://localhost:8080/虚拟目录名

docBase:表示你的程序包的物理绝对路径,默认的绝对路径是     %tomcat_home%/webapps

reloadable :为true,则tomcat会自动检测应用程序的/WEB-INF/lib 和/WEB-INF/classes目录的变化,自动装载新的应用程序,我们可以在不重起tomcat的情况下改变应用程序;为false则不自动加载。(我觉得这种部署方法就好在这里,可以不用重新启动Tomcat。)

示例: 1 <!-- 我的自定义目录-->
2 <Context path="/wess" debug="0" docBase="C:\Documentsand Settings\tt\workspace\Welcome_SS\WebRoot" reloadable="true">
3 </Context>
4、 启动Tomcat

在Myeclipse工具栏上选择  ,启动Tomcat。或者在Tomcat下,找到bin文件下的startup.bat,打开进行启动。

5、 运行程序。在地址中输入http://localhost/wess/index.jsp(引用上面示例配置时的情况)

在lib下的struts-config.xml可以添加下面三句进行主页默认的配置,而不必写出主页。

<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>

 

注:由于以上提到的有些图片不能显示,故把出处附上:http://wenku.baidu.com/view/69bce89c51e79b89680226ca.html

 

 

特别说明:如果以上情况都不是,可能是你的tomcat的安装路径问题,一般情况下我们会把tomcat的安装路径设为D:\Program Files\apache-tomcat-6.0.18,注意了,Program与Files中间的空格很可能就是问题所在,建议大家改变tomca的安装路径,如:C:\apache-tomcat-6.0.18,只要文件夹的名字中不含空格就可以了

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值