原先我建的jsp都是在web-inf外的,都能正常访问,但我将它们移入web-inf目录下,并也修改了相应的struts-config.xml中forward的jsp路径,但运行后报错:HTTP Status 404 - /web-inf/pages/customer/chehaow.jsp--------------------------------------------------------------------------------type Status reportmessage /web-inf/pages/customer/chehaow.jspdescription The requested resource (/web-inf/pages/customer/chehaow.jsp) is not available.
web-inf下的文件是受保护地
但是可以让servlet进行访问,如web-inf下有a.jsp则可以用request.getRequestDispatcher("/WEB-INF/a.jsp").forward(request,response);
原因很简单,jsp就是servlet,会被编译成class文件,而htm的就不行了。
所以需要配置以下conf下的web.xml文件才能去访问htm。
具体实现如下:
用打开tomcat安装目录下conf下的web.xml文件,找到
<servlet-mapping>
<servlet-name>jsp</servlet-name>
<url-pattern>*.jsp</url-pattern>
</servlet-mapping>
然后在它下面添加
</servlet-mapping>
<servlet-mapping>
<servlet-name>jsp</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>这样的话,你就能用request.getRequestDispatcher("/WEB-INF/a.htm").forward(request,response);去访问web-inf下的htm了
问题好像是你没区分大小写吧???
web-inf -> WEB-INF,必须大写.