思想:写个拦截器,并在springmvc配置文件中配置即可
接口实现类
public class loginInterceptor implements HandlerInterceptor {
/**
* 进入controller之前
* @param o
* @return
* @throws Exception
*/
public boolean preHandle(HttpServletRequest req, HttpServletResponse resp, Object o) throws Exception {
HttpSession session = req.getSession();
User u= (User) session.getAttribute("user");
if(u!=null){
return true;
}else{
resp.sendRedirect("toLogin");
//不进入controller
return false;
}
}
public void postHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, ModelAndView modelAndView) throws Exception {
}
public void afterCompletion(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) throws Exception {
}
}
在springmvc.xml中配置以下文件
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/**"/>
<!--排除注册,登录路径-->
<mvc:exclude-mapping path="/login"/>
<mvc:exclude-mapping path="/register"/>
<mvc:exclude-mapping path="/toRegister"/>
<!--排除静态资源-->
<mvc:exclude-mapping path="/**/fonts/*"/>
<mvc:exclude-mapping path="/**/*.css"/>
<mvc:exclude-mapping path="/**/*.js"/>
<mvc:exclude-mapping path="/**/*.png"/>
<mvc:exclude-mapping path="/**/*.gif"/>
<mvc:exclude-mapping path="/**/*.jpg"/>
<mvc:exclude-mapping path="/**/*.jpeg"/>
<mvc:exclude-mapping path="/**/*.jsp"/>
<!--配置拦截器-->
<bean id="loginInterceptor" class="com.qst.util.loginInterceptor"></bean>
</mvc:interceptor>
</mvc:interceptors>
就这么简单完事了。