Shun 发表于 2021-10-20 16:58:15

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

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

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


https://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页面了
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

https://www.uoften.com/program/jsp/20180413/48162.html
页: [1]
查看完整版本: 详解直接访问WEB-INF目录下的JSP页面的方法