标签:
之前接触过struts拦截器,但是没有使用过Spring MVC拦截器,今天花了一天时间好好研究了一下。
/* * 判断用户的登录信息 ,注意此方法不能拦截,否则拦截器获取不到session中的信息 */ @RequestMapping("/indexManagerUser/managerLogin") public String userLogin(HttpServletRequest request,HttpServletResponse response,String userName,String passWord){ logger.info("STEP INTO --> ManagerUserController.userLogin()");//打印出状态 if(userName == null || passWord == null){//对用户名密码进行判空处理 return "manager/error/loginError";//返回到登录错误界面 } ManagerUser managerUser = managerUserService.userLogin(userName,passWord);//调用service判断用户名密码是否正确 if(managerUser != null){//如果用户信息不为空,将用户信息保存到session中 HttpSession session = request.getSession(); session.setAttribute("managerUser", managerUser); session.setMaxInactiveInterval(1800); return "manager/systemSet/welcome"; }else{ return "manager/error/loginError"; } }
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.log4j.Logger; import org.springframework.web.servlet.handler.HandlerInterceptorAdapter; import com.elushunfeng.model.ManagerUser; public class ManagerUserInterceptor extends HandlerInterceptorAdapter{ private static Logger logger = Logger.getLogger(ManagerUserInterceptor.class); @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { /* * 从session中获取用户信息 */ ManagerUser managerUser = (ManagerUser) request.getSession().getAttribute("managerUser"); if(managerUser == null){//如果session中没有用户的信息,跳转到登录页面,内部网页不能访问 logger.info("ManagerUserInterceptor---->>>>>>preHandle"); request.getRequestDispatcher("/index.jsp").forward(request, response); return false; }else return true; } }
<mvc:interceptors> <!-- 配置访问拦截器 --> <mvc:interceptor> <mvc:mapping path="/"/><!-- 我这里边是对方法分开进行拦截的 --> <mvc:mapping path="/payAliPay/**" /> <mvc:mapping path="/logistics/**" /> <mvc:mapping path="/petroleumOrder/**" /> <mvc:mapping path="/petroleum/**" /> <mvc:mapping path="/carousel/**" /> <mvc:mapping path="/managerUser/**" /> <mvc:mapping path="/user/queryCheckUsers/**" /> <bean id="managerUserInterceptor" class="com.elushunfeng.manager.interceptor.ManagerUserInterceptor"/> </mvc:interceptor> </mvc:interceptors>
标签:
原文地址:http://blog.csdn.net/wojiaohuangyu/article/details/52125741