拦截器逻辑和流程
只有登录后的用户才能访问系统主页,若没有登录就直接访问主页(是否登录根据session来判断,登录成功后会记录session),则拦截器会将请求拦截并跳转到登录页面,同时在登录页面中给出提示信息。若用户登陆时,用户名或密码错误,则登录页也会显示相应的提示信息。
拦截器如何实现?
自定义拦截器类实现接口HandlerInterceptor中的三个方法preHandle postHandle afterCompletion
对于登录前的拦截preHandle( )来说,返回值为true和false,返回true则继续向下执行,返回false则中断后续操作
在springmvc中注册拦截器和指定拦截器规则(拦截路径和不拦截路径)
<!-- 配置拦截器 -->
<mvc:interceptors>
<mvc:interceptor>
<!-- 配置拦截器作用的路径 -->
<mvc:mapping path="/**" />
<!--配置拦截器不需要拦截的请求路径-->
<mvc:exclude-mapping path="/login"/>
<mvc:exclude-mapping path="/register"/>
<bean class="com.hty.interceptor.LoginInterceptor" />
</mvc:interceptor>
</mvc:interceptors>