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>
分享到:
相关推荐
在本文中,我们讨论了三种解决SpringMVC拦截器拦截静态资源文件的方法,并对这些方法的优劣进行了分析。 方案一是在拦截器中排除静态资源路径。在SpringMVC的配置文件中(通常是spring-mvc.xml),可以通过配置元素...
在 SpringMVC 的配置类中,使用 `@Configuration` 和 `@EnableWebMvc` 注解启用 Web MVC 功能,并使用 `@Bean` 注解声明拦截器。例如: ```java @Configuration @EnableWebMvc public class WebConfig ...
SpringMVC 拦截器实现单点登录是一种常见的安全控制机制,主要用于确保在同一时间只有一个用户能够使用同一账号进行操作。这种功能在多用户、多设备登录的环境中尤为重要,可以防止用户账号被盗用或者误操作。 单点...
本文将详细介绍三种避免SpringMVC拦截器拦截静态资源的方法。 ### 方案一:在拦截器配置中排除静态资源 在`spring-mvc.xml`配置文件中,可以通过`<mvc:exclude-mapping>`标签明确指定不被拦截的路径。例如: ```...
总结来说,SpringMVC中的拦截器和异常处理机制为开发者提供了强大的工具来增强应用的控制流和错误处理能力。通过合理利用拦截器,我们可以实现通用的功能,如用户认证和授权,而异常处理则能确保在出现错误时提供...
- 如果需要共享拦截器逻辑,可以考虑使用Spring的`@Component`和`@Order`注解,结合`@EnableWebMvc`和`WebMvcConfigurerAdapter`来实现组件化和定制化的拦截器管理。 7. **总结** SpringMVC的Session拦截器是提高...
本教程将深入探讨如何在Spring Boot项目中配置和使用拦截器来拦截请求的body和表单参数。 首先,我们需要了解`WebMvcConfigurer`接口。这是Spring MVC提供的一种非强制性配置方式,可以用来定制MVC的行为。我们可以...
总结起来,SpringMVC拦截器是系统资源和权限管理的关键组成部分,通过DispatcherServlet的配置和拦截器的实现,我们可以灵活地控制请求流程,确保安全性和性能。同时,处理静态资源的策略对于避免拦截器与静态资源...
《SpringMVC 拦截器详解》 在SpringMVC框架中,拦截器(Interceptor)扮演着不可或缺的角色,它允许开发者在请求被处理器处理之前和之后进行额外的操作,如日志记录、权限验证、性能统计等。拦截器机制极大地扩展了...
总结来说,这个示例演示了如何利用Spring MVC的拦截器机制来实现登录验证。通过创建自定义拦截器类并配置拦截器链,我们可以在用户访问特定资源之前进行权限检查,确保只有已登录的用户才能访问受保护的页面。
总结起来,这个项目是关于如何使用SpringMVC和MyBatis框架,结合策略设计模式和拦截器技术,实现一个动态的按年分表策略。这样的设计不仅可以提升系统的性能,还能灵活适应业务需求的变化,是一个典型的面向现代Web...
在Java Web开发中,特别是使用SpringMVC框架时,管理...总之,通过SpringMVC拦截器来实现对session是否过期的监听,是一个既灵活又强大的解决方案,对于需要精细控制Web应用会话的开发者来说,是一个必不可少的技术点。
### Java实训教程知识点详解——SpringMVC拦截器 #### 一、SpringMVC概述与应用场景 SpringMVC作为Spring框架中的一个模块,主要用于构建Web应用。它是一个基于MVC(Model-View-Controller)设计模式的轻量级框架...
总结起来,这个示例展示了如何通过Spring MVC的拦截器和自定义注解来控制Controller方法的返回值。在开发过程中,你可以利用这个机制快速地构建和测试接口,而不需要每次都编写完整的方法实现。这种灵活性有助于提高...
总结来说,"基于springMVC的session拦截器.rar"是一个展示如何在Spring MVC中使用拦截器来管理用户Session的实例。通过拦截器,开发者能够实现诸如用户认证、权限控制等高级功能,提高Web应用的安全性和用户体验。...
在Spring MVC中,有两种常见的机制可以用来对访问...总结,拦截器和过滤器都是在请求处理过程中进行增强的重要工具,它们各自有其独特的优势和适用场景。开发者可以根据实际需求选择合适的方式来实现对URL的拦截处理。
总结,Spring MVC的拦截器机制为开发者提供了强大的灵活性,可以在多个阶段插入自定义逻辑,极大地扩展了框架的功能。通过理解并熟练掌握拦截器的使用,可以更高效地管理和优化应用程序。在实际开发中,合理利用拦截...
在本文中,我们将深入探讨SpringMVC的拦截器(Interceptor)和Servlet的过滤器(Filter)之间的差异和联系,以及如何配置SpringMVC的拦截器。理解这两者的区别对于开发高效且安全的Web应用程序至关重要。 首先,让我们...