SpringMVC拦截器:登录拦截器
来源:互联网 发布:中级会计职称题库软件 编辑:程序博客网 时间:2024/05/21 17:26
配置拦截器
<mvc:interceptors> <mvc:interceptor> <mvc:mapping path="/**"/><!-- 对所有uri进行拦截 --> <mvc:exclude-mapping path="/login" /><!-- 排除拦截的uri:进入登录页面的uri --> <mvc:exclude-mapping path="/dologin" /><!-- 排除拦截的uri:处理登录的uri --> <bean class="interceptor.LoginInterceptor" /><!-- 登录拦截器类 --> </mvc:interceptor></mvc:interceptors>
版本导致的问题
注意:把spring-mvc-3.1.xsd改成spring-mvc-3.2.xsd,不然会启动会报错
cvc-complex-type.2.4.a: Invalid content was found starting with element 'mvc:exclude-mapping'. One of '{"http://www.springframework.org/schema/mvc":mapping, "http://www.springframework.org/schema/beans":bean, "http://www.springframework.org/schema/beans":ref}' is expected.
拦截器LoginInterceptor.java
/** * 登录拦截器,继承自HandlerInterceptor,实现preHandle方法 * * 只要访问的页面时还用户未登录,则一律重定向至登录页面。(我们已经在配置中排除了对登录的拦截) * 已登录过的页面则通过 * @author Administrator * */public class LoginInterceptor implements HandlerInterceptor { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { Object user = request.getSession().getAttribute("user"); System.out.println("RequestURI = " + request.getRequestURI());; if(user == null){ System.out.println("have not logged in yet..."); response.sendRedirect(request.getContextPath() + "/login?url="+request.getRequestURI()); }else{ System.out.println("logged in..."); } return true; } @Override public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { // TODO Auto-generated method stub } @Override public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { // TODO Auto-generated method stub }}
处理器LoginController.java
@Controllerpublic class LoginController{ @RequestMapping("/login") public String login(HttpServletRequest req, HttpServletResponse resp) { req.setAttribute("url", req.getParameter("url")); return "login"; } @RequestMapping("/dologin") public void dologin(String username, HttpServletRequest req, HttpServletResponse resp) throws JsonGenerationException, JsonMappingException, IOException { req.getSession().setAttribute("user", "thisUser"); JSONObject json = new JSONObject(); json.accumulate("flag", true); resp.getWriter().print(json.toString()); }}
登录页面login.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>sign in</title><script src="http://code.jquery.com/jquery-1.8.0.min.js"></script></head><body><a href="javascript:;" onclick="ajaxLogin()">login in</a><script type="text/javascript"> function ajaxLogin(){ $.ajax({ url : 'dologin', type : 'post', dataType : 'json', success : function(data) { console.log(data.flag); if(data.flag == true){ if('${url}' != ''){ window.location.href='${url}'; }else{ window.location.href="your default path"; } }else{ console.log('login failed'); } } }); }</script></body></html>
阅读全文
0 0
- springmvc登录拦截器
- SpringMVC登录拦截器
- SpringMVC拦截器:登录拦截器
- springmvc拦截器,用户登录拦截过程
- SpringMVC 登录拦截器实现
- springMVC 拦截器 登录管理
- SpringMvc拦截器登录处理
- SpringMVC拦截器实现登录
- SpringMVC之Interceptor拦截器之登录拦截器
- springMVC拦截器使用之登录拦截器
- 在springmvc配置拦截器拦截未登录用户操作
- springmvc 自定义拦截器实现未登录用户的拦截
- SpringMVC拦截器实现登录控制
- 简单的springmvc登录验证拦截器
- 基于SpringMVC的登录拦截器
- 基于Springmvc的登录权限拦截器
- java SpringMVC Filter登录拦截器
- SpringMVC拦截器实现登录认证
- 脏读,不可重复读,幻读,丢失更新(乐观锁,悲观锁)
- mybatis invalid comparison: java.sql.Timestamp and java.lang.String
- 使用ToolRunner运行Hadoop作业的原理及用法
- OkHttp使用(一)——GET请求
- WampServer可以访问IP,但无法访问localhost
- SpringMVC拦截器:登录拦截器
- Python web 开发
- Linux笔记
- 阿里云Ubuntu上通过nginx+uwsgi部署Django
- Java中的线程池
- hadoop日常运维
- Deep Learning模型之:CNN卷积神经网络(二) 文字识别系统LeNet-5
- Bug库____org.springframework.jdbc.IncorrectResultSetColumnCountException: Incorrect column count: exp
- hadoop API之:文件操作