您的位置:首页 > 编程语言 > Java开发

springmvc中拦截器的使用

2016-04-21 23:00 441 查看
拦截器的实现

1.编辑拦截器类实现HandlerInterceptor接口。

2.把拦截器注册到springmvc框架中。

3.配置拦截器的拦截规则

拦截器类:

public class LoginHandler implements HandlerInterceptor {
@Override
public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3)
throws Exception {
}
/**
* 可以通过modelandview修改传递的内容和视图
*/
@Override
public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3)
throws Exception {
}
/**
* 返回值表示是否需要将当前的请求拦截下来
* 参数arg2表示请求的目标对象
*/
@Override
public boolean preHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2) throws Exception {

if(arg0.getSession().getAttribute("name")==null){
arg0.getRequestDispatcher("login.jsp").forward(arg0, arg1);
return false;
}else{
return true;
}
}

}


注册拦截器(注意xml文件的头部需要加的命名空间等内容):

<!--注册拦截器  -->
<mvc:interceptors>
<!--          <mvc:interceptor>
<mvc:mapping path="/json.action"/>
<bean class="filter.LoginHandler"></bean>
</mvc:interceptor> -->

<bean class="filter.LoginHandler"></bean>

</mvc:interceptors>


通过上面的代码就可以实现,在发送请求时,如果没有登录的话(登录后会保存一个session,拦截规则就是判断session),会跳转到登录界面。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: