springmvc 全局登陆 拦截器配置
2015-10-12 18:06
453 查看
最近在做一个管理系统,要求是首页是登陆界面 ,我的DispatcherServlet servlet 是过滤所有的请求
<!-- Map all requests to the DispatcherServlet for handling --> <servlet-mapping> <servlet-name>DispatcherServlet</servlet-name> <url-pattern>/*</url-pattern> </servlet-mapping>
@RequestMapping(value = {"","/","index.html"}) public String index() { return "index"; }上面的代码是为了设置欢迎页面在首页的登陆界面中,form 表单的地址是 "/login" 以上是我的项目的背景,下面是正式的登陆代码实现我们对全局的拦截登陆
public class GlobalLoginInterceptor implements HandlerInterceptor { pblic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { String requesturi = request.getRequestURI(); String contextPath = request.getContextPath(); String url = requesturi.substring(contextPath.length()); //当所访问的地址是首页,或者是 登陆表彰的form acion 路径时,我们不对他进行拦截 if(url.endsWith("/")||url.endsWith("index.html")||url.endsWith("login")){ return true; } User attribute = (User) request.getSession().getAttribute( "user"); // 判断是否有Session ,如果不存在,则跳转到登陆页面 if (attribute == null) { response.sendRedirect(contextPath+"/index.html"); // request.getRequestDispatcher("/").forward(request, // response); return true; } return true; } public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { } public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { }}以上是我主要的拦截核心代码,如有不正确的,可能给我留言,谢谢。
相关文章推荐
- 万能的Java WebService调用程序支持C# JAVA WS调用
- Java设计模式 —— 原型模式(Proto Type)
- Struts2之文件下载
- JAVA中实例化对象的方式
- 使用springJunit的简单实例:
- 在同一台机器上安装多个版本jdk,修改环境变量不生效
- JAVA常量池
- java当中的定时器的4种使用方式
- java中的几种定时器
- spring事务的7种传播级别
- 关于eclipse快速打出日志的方法方法
- java中String对象的split方法的小陷阱
- Java两个list合并后逆序排序
- 配置环境变量java
- 利用Spring MVC搭建REST Service
- Spring国际化总结
- spring mvc web应用异常处理
- Java中Bean是什么
- Java 实现MD5消息摘要和RSA数字签名:
- java 利用JAX-RS快速开发RESTful 服务