欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

详解直接访问WEB-INF目录下的JSP页面的方法

程序员文章站 2022-07-12 08:34:50
web-inf目录下的jsp页面不能通过地址栏直接访问,web-inf目录下的文件不能直接被访问主要是出于安全考虑,当然如果不用考虑安全性的话,你可以直接把jsp页面放到w...

web-inf目录下的jsp页面不能通过地址栏直接访问,web-inf目录下的文件不能直接被访问主要是出于安全考虑,当然如果不用考虑安全性的话,你可以直接把jsp页面放到web-inf外的webapp目录下,这样也可以直接访问。下面说下如何直接访问web-inf目录下的jsp页面

可以通过转发的方式访问,我用的是controller来进行转发,如下:

package com.sogou.baike.controller; 
 
import org.apache.log4j.logger; 
import org.springframework.stereotype.controller; 
import org.springframework.web.bind.annotation.requestmapping; 
import org.springframework.web.servlet.modelandview; 
 
/** 
 * created by denglinjie on 2016/6/3. 
 */ 
@controller 
public class comparecontroller { 
 
  private static logger logger = logger.getlogger(comparecontroller.class); 
 
  @requestmapping(value = "/api/compare", produces = "text/html; charset=utf-8") 
  public modelandview getcomparehomepage() { 
    modelandview view = new modelandview("compare"); 
    return view; 
  } 
 
} 

这样,页面在请求的时候,可以在地址栏输入

http://10.10.10.10:30005/api/compare 

这个请求由上述controller进行处理,并通过modelandview来进行跳转,跳转到compare.jsp页面。当然要用modelandview的话需要在spring的配置文件中配置

视图解析器,我的配置如下:

<bean class="org.springframework.web.servlet.view.internalresourceviewresolver"> 
    <property name="viewclass" value="org.springframework.web.servlet.view.jstlview" /> 
    <property name="prefix" value="/web-inf/vm/" /> 
    <property name="suffix" value=".jsp" /> 
  </bean> 

我的compare.jsp页面是放在了/web-inf/vm目录下,这样当在地址栏输入上述地址后,就可以通过controller跳转到web-inf目录下的jsp页面了

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!