springmvc拦截请求

springmvc.xml

<!--拦截请求 -->
<mvc:interceptors>
<mvc:interceptor>
<!-- 要拦截的请求类型 /** 所以请求 -->
<mvc:mapping path="/**"/>
<!-- 不拦截的请求 -->
<mvc:exclude-mapping path="/login.form"/>
<mvc:exclude-mapping path="/register.form"/>
<!-- 拦截的请求的执行的方法类 -->
<bean class="cn.books.interceptor.TestInterceptor"></bean>
</mvc:interceptor>
</mvc:interceptors>

TestInterceptor

首先继承HandlerInterceptor

public class TestInterceptor implements HandlerInterceptor{

/*第三次执行的方法*/
@Override
public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3)
throws Exception {
// TODO Auto-generated method stub
}
/*可以通过ModelAndView跳转视图页面
* 第二个执行的方法*/
@Override
public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3)
throws Exception {
// TODO Auto-generated method stub

}

/*返回值:表示我们是否需要将当前的请求拦截下来
true表示请求继续运行
false请求将被终止
Objest表示的是被拦截的请求的目标对象
最开始执行的方法
*/
@Override
public boolean preHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2) throws Exception {
// TODO Auto-generated method stub
HttpSession session=arg0.getSession();
String sa=(String) session.getAttribute("usersession");
if(sa!=null) {
return true;
}else {
return false;
/*arg3.setViewName("main.jsp");*/
}

我这儿是在第一个的时候如果没登录就直接false也可以第二个是跳转视图

 

上一篇:算术运算


下一篇:python 代码规范