WEB-INF

WEB-INF下的内容是没有办法通过浏览器去请求的。可以把东西放在WEB-INF下面,避免用户直接通过浏览器请求。那些资源只允许通过url请求过来通过其他途径转发给用户。
比如WEB-INF/jsp/login.jsp这个页面,在结合springmvc框架的情况下,可以通过一个控制器来进行转发,

@Controller
@RequestMapping(value="/start")
public class LoginController{
    // ...
    @RequestMapping(value="/login.html")
    public String loginPage(){
        return "login";
    }
    
    //...
}

为springmvc指定视图解析器(就是springmvc启动的那个servlet的 xx-servlet.xml中设置的)
<!-- xx-servlet.xml -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"
    p:viewClass="org.springframework.web.servlet.view.JstlView:
    p:prefix="/WEB-INF/jsp/"
    p:suffix=".jsp"/>

# 也就是说通过访问http://projectname/start/login.html,这个请求被xx这个servlet拦截后,把请求交给LoginController,匹配到方法loginPage,
# 这个方法返回login,login被视图解析器处理,加上前缀和后缀就变成了/WEB-INF/jsp/login.jsp了,然后就成功的请求到目标页面了。

posted on 2017-09-09 21:35  blbl9527  阅读(194)  评论(0编辑  收藏  举报

导航


github sina微博 FB