springmvc拦截器使用小结

springmvc拦截器使用小结

想做个session拦截验证。 想到了过滤器, 首先百度了一下,照着一做,

先定了个过滤器类,继承HandlerInterceptorAdapter

public class SessionInterceptor extends HandlerInterceptorAdapter {
private final static String ignoreUrl=ConfigReader.get("session.ignore.url");
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
String url=request.getServletPath();
if(ignoreUrl.contains(url)){
return true;
}
Users user=(Users)request.getSession().getAttribute("users");
if(user==null){
response.sendRedirect(request.getContextPath()+"/commons/sessionout.jsp");
return false;
}
return true;
}
/* @Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
}
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
} */
}

然后在springmvc配置文件中配置过滤器:

<!-- <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"> -->
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping" autowire="default" >
<!-- <property name="mappings">
<props>
<prop key="/users/userCenter.do">usersController</prop>
</props>
</property> -->
<property name="interceptors">
<list>
<ref bean="handlerInterceptor"/>
</list>
</property>
</bean>
但运行总是拦截不到。进入不了拦截器,

后来,换了一种配置方式,终于能拦截请求了。

<mvc:interceptors>

<bean id="handlerInterceptor" class="com.zlwh.member.interceptor.SessionInterceptor"/>
</mvc:interceptors>
方法更简单,当然里面还可以添加配置<property name="mappings"> ,指定拦截具体的url.

可能跟前面的配置有关吧,导致前一方式不起作用,

后一方式,则可以保证必定会在某一个地方拦截。所以推荐大家如果前一方式不起作用时,就用后一方式试试。

当时也可以在这进一步配置,要拦截的url及初始注入配置参数值
<mvc:mapping path="/register/eztxregister/doRegisterParentCreateChild.do" />
<mvc:mapping path="/register/eztxregister/doRegisterValidateParent.do" />
<mvc:mapping path="/register/eztxregister/saveRegisterTeacher.do" />
<mvc:mapping path="/register/eztxregister/saveStudent.do" />
<bean id="hbshregisterInterceptor" class="com.zlwh.member.interceptor.HbxhSyncterceptor">
<property name="isSync">
<value>${hbxh.register.flag}</value>
</property>
</bean>

</mvc:interceptor>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值