springmvc拦截器跳转问题

public boolean preHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o) throws Exception {
HttpSession session = httpServletRequest.getSession();
Object UserId = session.getAttribute("userId");

        String InterUri =  httpServletRequest.getServletPath();
    String requesturl = httpServletRequest.getRequestURI();
    String contextpath = httpServletRequest.getContextPath();
    String url = requesturl.substring(contextpath.length());




    if ( null ==UserId){
        if (httpServletRequest.getCookies()!=null) {
            Cookie[] cookies = httpServletRequest.getCookies();
            if (cookies != null && cookies.length > 0) {



                String usercook = null;

                for (Cookie cookie : cookies) {
                    if ("UserCookie".equals(cookie.getName())) {
                         usercook = cookie.getValue();
                        String[] Susercook = usercook.split(",");
                        if (Susercook.length == 3) {
                            int userId = Integer.parseInt(Susercook[0]);
                            User user = userService.findbuId(userId);
                            String username = Susercook[1];
                            String password;
                            if (username.indexOf("@") > 0) {
                                password = Susercook[2];
                                if (username.equals(user.getEmail()) && password.equals(user.getPassword())) {
                                    session.setAttribute("UserId", userId);
                                   break;
                                }
                            } else {//手机登录
                                password = Susercook[2];
                                if (username.equals(user.getPhone()) && password.equals(user.getPassword())) {
                                    session.setAttribute("userId", userId);
                                     break;

                                }
                            }

                        }

                    }
                }
             if (usercook!=null){

                 return true;
             }

            }
        }

    }
    else{//id

// httpServletResponse.sendRedirect(httpServletRequest.getContextPath() +"/Main.jsp");

        if(null != allowUrls && allowUrls.length>=1){
            for(String path : allowUrls) {
                if(url.contains(path)) {

                    return true;
                }
            }
        }

    }

    return true;

}

有没有大神帮下忙,为什么 responsesendredirect(页面)根本没反应 还不能return false,不然静态资源又会被拦截,跳页面时候 httpServletRequest.getServletPath();全是静态资源路径没有跳转的页面路径,我的跳转不经过controller跳转,直接页面跳页面,session也得刷新一下页面才能拿得到,感觉好影响项目效率。在线等,好急啊,做了好几天没解决。

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Springmvc拦截器简单使用以及session超时跳转
Spring拦截器使用以及超时跳转的实现
SpringMVC拦截器之拦截跳转页面
package com.guide.interceptors; import java.util.Enumeration; import java.util.HashMap; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.serv
springmvc ajax请求处理跳转问题
1.在springmvc或者一套ajax框架的时候需要进行处理,拦截器或者拦截器的状态,尤其针对于session的时候进行的处理,怎么样很好的控制页面的跳转呢 在拦截器里面进行处理和跳转的时候,ajax基本上没有什么好的处理方式要么是转发要么是重定向的两种方式 可是进行过测试和很多的处理依然可以做到,但是页面不会跳转.针对以上的两种情况,经过自己的探究和研究得到一种很可靠的方式,网上也提供了这
Spring mvc interceptor配置拦截器,没有登录跳到登录页
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.s
SpringMVC简单例子
简单的springMVC认识,包含跳转,拦截器等使用
【坑】前端使用ajax异步请求以后,springMvc拦截器跳转页面无效
使用 $.ajaxSttup() 解决前后端分离开发,前端使用ajax异步请求以后,springMvc拦截器跳转页面无效的问题
Spring中利用拦截器控制登录及页面跳转
一、问题简要描述: 在做web开发的时候往往会遇到这种情况,用户在没登录的情况下访问一些需要身份验证的页面,系统会自动帮用户跳转到登录页面,用户登录成功后,不会返回一个固定的页面,系统会跳转到用户之前访问的页面,用户可以继续进行刚才的操作。或者是session里面保存的用户信息过期了,用户需要重新进行身份验证(重新登录),用户登录成功后,页面还是会回到之前访问的页面。 二、问题所涉及的知识
Spring mvc 未登录 拦截跳转登陆页面
在拦截的时候 会遇到未登录 直接 跳转 到 login.jsp  之前做项目,用到了两种方法 (1) ajax 异步登录 如果未登录 返回一个 restfulMessage (自定义的返回类)里面定义一个code  拦截器 如果发现未登录 返回 这个  然后判断里面的code  再window.location.href=&quot;login.jsp&quot;   (2) 这种 是 个人最近看...
SpringMVC通过拦截器实现登录控制
本文主要介绍通过SpringMVC拦截器实现登录控制,如果用户没有登录,不允许用户跳转到其他页面,服务器自动重新跳转到登录页面。
Spring拦截器preHandle里页面跳转
1.Ajax请求:判断是否有权执行该操作,拦截后,返回指定的resultCode。 2.非Ajax请求:判断是否有权访问该页面。拦截后跳转到指定的页面。
Spring MVC 拦截器和Ajax使用
Spring MVC 拦截器和Ajax使用 1、拦截器说明:     Spring MVC 中包含了拦截器,这是为了针对特殊的请求。例如,用户的权限验证。     Interceptors类必须实现HandlerInterceptor(org.springframework.web.servlet.HandlerInterceptor)。这个接口定义了三个方法 preHan
[Spring-MVC] 4 防止在iframe中跳转到了login界面
在session超时等情况的时候,一般会把界面跳转到login界面但是在使用了iframe的页面中,经常会遇到在iframe中跳转到login界面的情况,而不是整个界面全部跳转所以需要如下方式进行处理在全局的ajaxError.js中 (可参考 [Spring-MVC] 3 异常统一处理)if (data.sessionInvalid) { // 跳转到登录页面,这里要加上top.为了防止在if...
SpringMVC中拦截器配置中拦截地址整理
springMvc / encodingFilter /* / 会匹配到/login这样的路径型url,不会匹配到模式为*.jsp这样的后缀型url/* 会匹配所有url:路径型的和后缀型的url(包括/login,*.jsp,*.js和*.html等)
springmvc拦截器拦截ajax请求
使用springmvc 拦截请求时,需要实现 spring中的HandlerInterceptor这个接口。拦截普通的请求,不需要特殊的处理,但是拦截ajax请求时,则需要处理,   1、首先写一个js,用与复写ajax请求,如果是ajax请求,给其加一个标志,标注释ajax请求 $(function() { overrideJQeuryAjax(); }); function o...
关于session失效时springmvc拦截器拦截ajax请求失败的问题
前两天做项目时在处理session失效时使用springMVC拦截器拦截ajax请求,结果发现正常请求拦截没问题,ajax请求拦截到了,可是ajax success函数捕获数据是登录页的源码,去网上查了一下 , https://my.oschina.net/zhk/blog/323452 明白了怎么回事 具体来说ajax是用XMLHttpRequest 对象用于和服务器交换数据。它的请求头区
实现Spring拦截器拦截ajax请求并重定向
首先,实现拦截器的操作很简单,只要按部就班即可 :           public class LoginInterceptor extends HandlerInterceptorAdapter{ @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse respon
SpringMVC中的 拦截器(登录拦截案例的实现)
1.首先还是项目结构图2.web.xml&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&amp;gt;&amp;lt;web-app xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; xmlns=&quot;http://xmlns.jcp.org/xml/ns/javaee&quot; xsi:schemaLocation=&quot;http:/
springmvc拦截器面对ajax时的处理
前面说过,当前台是ajax传过来的请求的时候拦截器并不能跳转,原因可想而知了,因为ajax是局部的,不管是成功还是失败都会由ajax的的成功或者失败函数的进行处理。 没看过的可查看另一篇文章 那我们就需要区分传过来的请求是否是ajax请求,然后将Url的转发交给前台来做 原理:ajax请求会先发送一个请求头,判断正确后才发送真正的请求 代码如下 1.后台代码@Override publ
SpringMVC拦截器登录之后重新回到之前的页面及未登录非法访问
之前想着在后台去登陆的时候拿到之前页面的url但是不知道怎么拿,而且发现就算拿也是哪的是登录的uri不是登录之前的uri,然后就想着从页面上获取,在除了登录注册外的每个页面上都获取到访问的uri然后想办法存到session中,登录之后再取出来进行跳转。但是感觉有点麻烦啊!这样我每个页面都需要写一次,获取uri,然后在存到session中,想到为header.jsp是几乎是嵌在出登录注册之外的所有页...
SpringMVC之Interceptor拦截器之登录拦截器
SpringMVC的拦截器是主要作用是拦截用户请求到后台之间的请求,在进入后台之前可以对其进行权限认证和用户登录的限制。 1.定义拦截器; springmvc中拦截器中主要有两种方式:第一种是实现HandleInterceptor接口,重写里面的方法;第二种是实现WebRequestInterceptor接口,同样的重写里面的方法,实现自己自定义的逻辑处理。 1、实现handleInterc
springmvc拦截器配置和路径问题
1. 2.过滤器 类 package com.java.classroom.interceptor; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.spring
拦截器冲突导致无法跳转正确页面
在springmvc.xml的配置中,配置拦截器的内容&amp;lt;!--配置拦截器--&amp;gt; &amp;lt;mvc:interceptors&amp;gt; &amp;lt;mvc:interceptor&amp;gt; &amp;lt;!--拦截admin下的文件夹及子文件夹 只拦截Controller不拦截jsp文件--&amp;gt; &amp;lt;mvc:mapping path=&quot;/admin...
SpringMVC异常页面跳转
SpringMVC异常处理 1.首先导入SpringMVC包 创建SpringMVC工程(简单创建) &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.springframework&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;spring-webmvc&amp;lt;/artifactId&amp;gt; &amp;lt;ver...
登陆拦截器,iframe下跳父页面
需求:session超时时,返回登录页面,由于页面嵌套在iframe下,因此要跳转到登录页面的父页面,但是首页,登录页面等不需要进行跳转 实现: java文件:SessionIterceptor.java import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionInvoc
springMVC 拦截器如何做登录检查及页面跳转
一个非常简单的登录权限拦截器 问题一:登录页面的提交请求肯定是要过滤掉的,目前采用在xml里配置来过滤,可不可以配置不拦截某种请求。如果是按目前这种配置需要拦截请求,当请求太多的时候那就太麻烦了。 问题二:我简单地在拦截器里判断session是否有值,如果有表示登录,如果没有则跳转登录页面。按我下面的做法是不行的,有没有正确而有效的方法。 问题三:如果大家能够给出在拦截器内跳转页
springmvc 访问静态资源,springmvc 拦截器
问题:在访问html页面的时候访问不了,js文件。 一、访问不了html文件(去你的web.xml下面看一下配置)  二、可以访问页面了,但是页面的上js、css什么的没有显示。同时你也进行了静态资源的放行。  这个时候你就要看一下,你的页面是否放在 WEB-INF下面,如果是就不能用相对路径,要用绝对路径才可以, 如果拦截器,你还是想配置 /,同时要访问html,这个时候你需...
EasyUI+SpringMVC配置session过期跳转页面
问题描述在开发过程中,session过期是常见的,当session过期我们就能看到登录信息为null,这种问题最常见的处理方法就是判断session是否过期,如果过期跳转到登陆页面。这篇博客分享一下在easyUI和springmvc情况下如何配置。 SpringMVC拦截器配置在SpringMVC中提供自定义拦截器的扩展,这时候就可以通过自定义完成对判断: public class HandlerI
Spring MVC全局异常处理与拦截器校检
在使用Spring MVC进行开发时,总是要对系统异常和用户的异常行为进行处理,以提供给用户友好的提示,也可以提高系统的安全性。拦截系统响应错误首先是拦截系统响应错误,这个可以在web.xml中配置,根据错误代码跳转到相应的提示页面。这里要注意一个问题,错误处理页面所用到的静态资源最好是直接写在页面中,或者同一个文件夹下,因为如果用户访问了一个系统不存在的路径,例如:/ss/kk/ll/tt.jsp
springmvc拦截器 登录缓存失效然后跳转重新登录
1.新增配置文件dispatcher-servlet.xml   &amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&amp;gt; &amp;lt;beans xmlns=&quot;http://www.springframework.org/schema/beans&quot;     xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; x...
通过Spring MVC 的自定义拦截器实现灵活的登录拦截
SpringMVC 中的Interceptor 拦截器,它的主要作用是拦截用户的请求并进行相应的处理。用户可以自定义拦截器来实现特定的功能,比如通过它来进行权限验证,或者是来判断用户是否登陆等。
SpringMVC拦截器path路径的坑
SpringMVC提供了很方便的拦截器供我们开发使用。在配置文件中通过&amp;lt;mvc:mapping path=&quot;&quot; /&amp;gt;进行配置拦截的路径,但是这个path在配置的时候有一个小坑 我们都知道在SpringMVC拦截器中的/**是配置全部路径.现在我有一个需求,想要拦截以/user/开头的请求.我的path写为/user/**,这样就能拦截到所有的符号条件的请求. 然后我的项目需求增加了...
关于spring-mvc前端控制器,jsp页面跳转不会被拦截的问题
在做项目时,使用spring-mvc搭建的项目,jsp页面通过配置的web.xml进行跳转出现的问题,我遇到的是,在所有的配置文件没有错误的情况下,jsp页面无法跳转到controller,这是为什么呢??jetty:run的时候&amp;lt;form action=&quot;course_select.html?select&quot; method=&quot;post&quot;&amp;gt; &amp;lt;button id=&quot;submit&quot; ...
springMvc的interceptor拦截器实现用户免登陆的
1,首先applicationContext-mvc.xml中拦截器配置文件如下: 其中mapping path就是你登陆验证的地址,我这里首页默认直接跳转到路径为/index的Controller. 2,过滤器类代码如下: package com.gao.web.controller; import javax.servlet.ht
Spring MVC 中“拦截器”处理模型数据 (二) @ModelAttribute
在这里强烈建议看看我之前写的几篇关于SpringMVC的博客,都是串通的。@ModelAttribute这个是SpringMVC中处理模型数据的最难也是最重要的点。相当于以前Struct的拦截器。用途:比如我们要修改一个对象的部分数据,按照以前的思维,new一个对象保存数据,然后赋值,把不修改数据先拿出来保存起来。但是这个已经Out了, 在SpringMVC中,是拿到数据库的实例,然后把传进来的值也
springmvc拦截器案例演示demo
1.1   拦截器案例应用,登录拦截器1.1.1 思路1、有一个登录页面,需要写一个controller访问页面2、登录页面有一提交表单的动作。需要在controller中处理。a)       判断用户名密码是否正确b)       如果正确 想session中写入用户信息c)       返回登录成功,或者跳转到商品列表3、拦截器。a)       拦截用户请求,判断用户是否登录b)     ...
SpringMVC中处理404静态页面操作
在SpringMVC中,是通过前端分发器也就是DispatchServlet来进行我们的请求拦截的,所以如果我们的请求拦截的地址如果是类似于*.do,*.action的话,那么我们的js、png、css就可以逃过,因此是可以访问到的,可是如果我们配置的拦截地址是/,那么将会拦截我们所有的请求信息。那么如何来解决这个问题呢?  第一种方式  在一些常见的服务器中都有一些处理静态资源的Servle
springMVC配置拦截器无效问题解决
    今天花了三分钟写了一个拦截器,然后正准备配合前端一起测试的,发现拦截器竟然无效,根本拦截不了请求,这就很蛋疼了,看了几分钟愣是没找出问题,然后查资料也一无所获,最后。。。等等,我好像忽略了什么。这是一段申明扫描@controller的配置,而我写的拦截器也放在这个路径下,似乎找到了原因,嚯嚯嚯,改了拦截器的路径,果然就成功了,回头看很简单,但是要找到原因还是花了一点时间。在网上查资料说这个...
SpringMVC拦截器实现登录认证(2017修正版)
当使用到springmvc的做网页工程的时候,总会遇到需要判断登陆权限的,一般的做法是每次登陆的话,发送给后台,后台返回一个唯一的token,以便标识用户每一次请求的权限,如果没有登陆成功,则token为空,访问任意网址都会跳到登陆界面,所以网上查了,有很多博客说了,例如这位前辈:http://blog.csdn.net/u014427391/article/details/51419521,我的
springMVC拦截器功能简单案例
Interceptor(即处理器拦截器、拦截器),类似于 Servlet 开发中的过滤器 Filter,用于对处理器(Controller)进行预处理和后处理。 常见的应用场景: 1. 日志记录:记录请求信息的日志,以便进行信息监控、信息统计、计算PV(Page View)等。 2.权限检查:如登录检测,进入处理器检测检测是否登录,如果没有直接返回到登录页面。 3.性能监控
SpringMVC的拦截器和过滤器的区别与联系
首先要明确什么是拦截器、什么是过滤器1.1 什么是拦截器: 拦截器,在AOP(Aspect-Oriented Programming)中用于在某个方法或字段被访问之前,进行拦截然后在之前或之后加入某些操作。拦截是AOP的一种实现策略。 在Webwork的中文文档的解释为——拦截器是动态拦截Action调用的对象。它提供了一种机制可以使开发者可以定义在一个action执行的前后执行的代码
文章热词 双目视觉问题 特征点问题 相机标定问题 最优化问题 统计学稳健估计问题
相关热词 c# 拦截器跳转 android 拦截器的作用 c# 方法拦截器编写 区块链问题 学习python时遇到的问题