项目中经常有需求,如果没有登录进入系统,则应该返回登录,
那么这一层登录怎么去实现呢? 在ssm项目中
主要通过继承
HandlerInterceptorAdapter
这个类
代码:
public class LoginIntercepter extends HandlerInterceptorAdapter {
//handlerMapping处理前
//该函数主要是用于处理 如果没有进行登录则返回登录页面
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
AdminUsers adminUsers=(AdminUsers) request.getSession().getAttribute("adminUser");
if(adminUsers==null)
{
response.sendRedirect("./admin/login.do");
return false;
}
return true;
}
//handlerMapping处理后 handlerAdpter处理前 在视图返回之前
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
super.postHandle(request, response, handler, modelAndView);
}
}
当然编写代码完毕之后,还需要将代码配置到dispatcher-servlet,xml当中
也就是springmvc的配置文件中
<!--登录拦截器配置-->
<mvc:interceptors>
<mvc:interceptor>
<!--默认拦截的连接-->
<mvc:mapping path="/*"/>
<!--不拦截的连接-->
<mvc:exclude-mapping path="/login"/>
<bean class="com.gaoshu.web.intercepter.LoginIntercepter"></bean>
</mvc:interceptor>
</mvc:interceptors>
至此一个简单的登录拦截就实现了