WEB-INF 访问方式总结

WEB-INF这个目录由于受到servlet的保护,因此不能从浏览器输入url直接访问资源。

 

访问方式

1.jsp页面中,用<jsp:forward page="WEB-INF/**.jsp"></jsp:forward>

2.jsp中,用 <%  request.getRequestDispatcher("WEB-INF/**.jsp").forward(request,response);%>

3.通过框架控制跳转,略。

4.对于html页面,由于是静态页面,不是servlet所以通过上面的1.2方式是跳不过去的。要手动在web.xml中指定servlet mapping 如:

  <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>  

 

 

 

 

附:forward 与redirect 跳转的区别 (后前台跳转区别):

其一、forward(requestForForward)可以把index.jsp中的问号以及表单中的参数传到forward的目标页面(redirectOrForward.jsp),但是redirect不行;
其二、forward的时候,请求的地址(点击requestForForward.jsp 中链接URL)就是最终显示在浏览器地址栏中的URL,而redirect时,请求的地址与最终显示在浏览器地址栏中的URL一般不一样,而且后者以redirect时的参数(地址)为准。

基于以上做一个简单的分析或者说推测:
1、forward是你所请求的URL所在服务器,把你的请求封装成流传给forward到的目标页面(其中含有以及基本信息以及参数等),而redirect相当于你首先向你所请求的URL申请,然后此URL给你一个新的URL,你再向此新URL再来一次新的请求,所以浏览器地址栏会变,而且接受不到原先传的参数(index.jsp中传的)

 

posted @ 2009-10-22 10:44  Kevin_WGJ  阅读(577)  评论(0编辑  收藏  举报