CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  Web 开发

怎样才能访问web-inf下的jsp

楼主yuanshiaa()2005-11-17 09:24:41 在 Java / Web 开发 提问

原先我建的jsp都是在web-inf外的,都能正常访问,但我将它们移入web-inf目录下,并也修改了相应的struts-config.xml中forward的jsp路径,但运行后报错:  
   
  HTTP   Status   404   -   /web-inf/pages/customer/chehaow.jsp  
   
  --------------------------------------------------------------------------------  
   
  type   Status   report  
   
  message   /web-inf/pages/customer/chehaow.jsp  
   
  description   The   requested   resource   (/web-inf/pages/customer/chehaow.jsp)   is   not   available.  
   
  问题点数:50、回复次数:10Top

1 楼skycncomp(闭关修练到年底)回复于 2005-11-17 10:08:01 得分 0

好像不能访问吧  
  web-inf下的文件是受保护地Top

2 楼lye2000000_super(我自横刀香甜笑)回复于 2005-11-17 10:14:00 得分 0

这个文件夹是放受保护的文件的地方,比如说要用到的java类。Top

3 楼OnlyFor_love(『勾勾手指头 一辈子不分手』)回复于 2005-11-17 10:17:18 得分 10

因为web-inf下,应用服务器把它指为禁访目录,即直接在浏览器里是不能访问到的.  
  但是可以让servlet进行访问,如web-inf下有a.jsp则可以用request.getRequestDispatcher("/WEB-INF/a.jsp").forward(request,response);  
  Top

4 楼yuanshiaa()回复于 2005-11-17 10:30:01 得分 0

我手头有一套公司的程序,它就是把所有的jsp文件放在web-inf目录下的,只在web-inf目录外留一个链接文件,真不知道它是怎么配置的Top

5 楼OnlyFor_love(『勾勾手指头 一辈子不分手』)回复于 2005-11-17 10:30:03 得分 10

补充一下,如果你想访问web-inf下的htm文件的话,用request.getRequestDispatcher("/WEB-INF/a.htm").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了  
  Top

6 楼OnlyFor_love(『勾勾手指头 一辈子不分手』)回复于 2005-12-01 12:18:19 得分 0

顶一下     楼主还有问题吗?  
  Top

7 楼superslash(开始用功学习)回复于 2005-12-01 12:24:49 得分 0

xue   xiTop

8 楼pigo()回复于 2005-12-01 12:39:17 得分 10

 
   
  forward和indelude都可以访问WEB-INF下的文件的。  
  问题好像是你没区分大小写吧???  
   
   
    web-inf     ->   WEB-INF,必须大写.  
   
   
  Top

9 楼mxlmwl(飞星)回复于 2005-12-01 13:49:44 得分 10

晕倒,楼上既然用structs,怎么还用*.jsp这种方式来访问啊,那你还要structs干啥?不相当于把structs给踢掉了嘛,框架等于没用。正确的方式是:你应该以*.do的格式来访问,然后在return   mapping.findForward("ss");在配置文件中把ss的地址对应为   /web-inf/pages/customer/chehaow.jsp,然后访问的时候访问*.do就可以了。  
   
  楼上几位说的是利用servlet实现的,也是对的。Top

10 楼mxlmwl(飞星)回复于 2005-12-01 13:50:42 得分 10

另外,和web-inf大小写没什么关系,但是浏览器中绝对不能http://www.abc.com/web-inf/pages/a.jsp,这样是不可以的,tomcat已经把web-inf给保护起来了。Top

相关问题

  • TOMCAT中要把JavaBean放在什么位置才能被jsp访问到?
  • jsp访问asp
  • 在websphere 下应该将我自己的类放在哪里才能让我的jsp程序访问到??
  • 我的文件aaa.Jsp放WEB-INF用http://127.0.0.1:8080/aaa./jsp下面能访问,放WEB-INF/JSP/aaa.jsp目录下用http://127.0.0.1:8080/JS
  • 怎样才能访问col$表?
  • C#怎么才能访问到WORD
  • 用http://localhost/RBBS/可以访问,怎样才能用IP访问?
  • JSP中访问数据库
  • jsp访问新闻组
  • jsp访问javabean和SQL..

关键词

  • jsp
  • 文件
  • web
  • servlet
  • xml
  • inf
  • 访问
  • chehaow
  • 目录
  • getrequestdispatcher

得分解答快速导航

  • 帖主:yuanshiaa
  • OnlyFor_love
  • OnlyFor_love
  • pigo
  • mxlmwl
  • mxlmwl

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo