- 在Spring mvc中,为了不让用户直接访问界面路径跳过请求,一般把私有的重要视图界面放在WEB-INF路径下,当只有用户通过请求跳转时才允许访问,直接访问视图路径的请求将会被DispatcherServlet拦截
/webapp
/WEB-INF
/page
admin.jsp
home.jsp
/static
…
- 通过视图解析器ViewResolver处理拼接WEB-INF下的视图路径,可以直接使用视图名称直接指定视图文件
示例
- dispatcher-servlet.xml
<!--当处理器返回 admin 时,InternalResourceViewResolver解析器会自动添加前缀和后缀:/WEB-INF/page/admin.jsp-->
<bean class="org.springframework.web.servlet.view.BeanNameViewResolver">
<property name="prefix" value="/WEB-INF/page/" />
<property name="suffix" value=".jsp" />
</bean>
- MainController
@Controller
public class MainController {
@RequestMapping(value="admin")
public ModelAndView login(){
ModelAndView mav = new ModelAndView();
mav.setViewName("admin"); //在控制器中直接使用视图名称
return mav;
}
}