`

Spring mvc 未登录 拦截跳转登陆页面

阅读更多

在拦截的时候 会遇到未登录 直接 跳转 到 login.jsp 

之前做项目,用到了两种方法

(1)

ajax 异步登录

如果未登录 返回一个 restfulMessage (自定义的返回类)里面定义一个code 

拦截器 如果发现未登录 返回 这个  然后判断里面的code  再window.location.href="login.jsp"

 

(2)

这种 是 个人最近看到的  测试了 以下 ,发现 还不错的 

就是 servlet 中 有一个 抽象类 HandlerExceptionResolver

 

在拦截的时候 如果发现 未登录 直接抛出这个异常

下面这个方法捕捉到这个异常

 

  1. public class QADHandlerExceptionResolver implements HandlerExceptionResolver{  
  2.     private static Logger logger = Logger.getLogger(QADHandlerExceptionResolver.class);  
  3.     @Override  
  4.     public ModelAndView resolveException(HttpServletRequest request,  
  5.             HttpServletResponse response, Object handler, Exception ex) {  
  6.         logger.error("Catch Exception: ",ex);//把漏网的异常信息记入日志  
  7.        Object ex=request.getAttribute("ex");
  8.         if(ex instanceof myException) {
  9.              if(myException.getCode=="1"){
  10.                return new ModelAndView("login");  
  11. }
  12. }
  13.         return new ModelAndView("login");  
  14.     }  
  15.   
  16. }

 

 

 

分享到:
评论

相关推荐

    拦截器和控制器的区别

    拦截错误跳转的页面 <result name="error">/demo01/error.jsp 2、 token *" class="view.TestAction" method="{1}"> <interceptor-ref name="defaultStack"></interceptor-ref> ...

    SpringMVC简单例子

    简单的springMVC认识,包含跳转,拦截器等使用

    springmvc模块三作业.zip

    查询出 tb_resume 表【表数据和课上保持一致】的所有数据(列表不要求分页,在列表右上方有“新增”按钮,每一行后面有“编辑”和“删除”按钮,并实现功能),如果未登录就访问url则跳转到登录页面,用户名和密码...

    JavaQuarkBBS:基于Spring Boot实现的一个简易的Java社区

    JavaQuark社区 :warning:本项目已停止维护更新...4、quark-portal:前台社区系统,使用springMVC进行页面跳转与拦截,采用前后端分离的机制实现。前台展示模块通过http协议访问RESTFulAPI获取数据, 使用LayUI,jQuery

    springmvc+shiro配置教程

    --登录页面 --> <property name="unauthorizedUrl" value="/index.html" /> <!--访问一个没有权限的链接是跳转至此页面 --> <!-- 定义过滤规则 --> <value>/index.html* =anon <!-- 不需要权限 --> /main.jsp ...

    java面试题

    7:Spring MVC:分离模型、视图、控制器、以便更容易定制 折构函数和虚函数? 答:折构函数式销毁一个类的函数,虚函数是为了C++的动态绑定而设计的。 描述你的编程风格? 答:类名首字母大写,常量一般全部大写,...

    网上体育商城的设计与实现毕业设计答辩PPT.pptx

    对于用户的请求是通过拦截器来处理的,当用户在客户端对浏览器发出请求,根据struts.xml中的配置找到对应的Action类和方法,返回结果result,并跳转到相应页面,返回HTTP响应到客户端浏览器,简单的说,就是用户在...

    基于jbpm与activiti的工作流平台技术架构介绍

    2.Spring MVC 3.0 3.Spring Security 3.0.5 4.Spring AOP 3.0.4 5.Apache Active MQ 5.5 6.MyBatis 3 7.CKEditor 3.6 8.JQuery 1.8 9.CXF 2.0 10.Alfresco Activiti 5.8 11.Compass + Lucene 12.JasperReport 4.5 13...

    从J2SE到J2EE知识点介绍

    (七) servlet里面的跳转和传参数的方法 130 1. 跳转 130 2. 传参数 131 (八) jsp中文乱码问题 131 1. JSP页面乱码 132 2. 表单提交中文时出现乱码 134 3. 关于jsp在MyEclipse中打开的乱码问题 138 4. 关于html页面在...

    asp.net知识库

    在ASP.Net中两种利用CSS实现多界面的方法 如何在客户端调用服务端代码 页面一postback,它就显示页面的最顶端,怎样让它定位在某一位置? 如何保证页面刷新后的滚动条位置 清除网页历史记录,屏蔽后退按钮! 如何传值...

    JBoss Seam 工作原理、seam和hibernate的范例、RESTFul的seam、seam-gen起步、seam组件、配置组件、jsf,jboss、标签、PDF、注解等等

    1.5. Seam 页面流:猜数字范例........................................................................................................................................ 40 1.5.1. 理解代码....................

Global site tag (gtag.js) - Google Analytics