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 ajax请求处理跳转问题
1.在springmvc或者一套ajax框架的时候需要进行处理,拦截器或者拦截器的状态,尤其针对于session的时候进行的处理,怎么样很好的控制页面的跳转呢 在拦截器里面进行处理和跳转的时候,ajax基本上没有什么好的处理方式要么是转发要么是重定向的两种方式 可是进行过测试和很多的处理依然可以做到,但是页面不会跳转.针对以上的两种情况,经过自己的探究和研究得到一种很可靠的方式,网上也提供了这
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拦截器简单使用以及session超时跳转
Spring拦截器使用以及超时跳转的实现
SpringMVC拦截器实现登录控制
利用SpringMVC的拦截器(Interceptors)实现登录控制。 思路 1)用户通过指定页面登录,通过session存储登录信息 2)每次访问登陆页以外页面,通过拦截器检查登录状态是否有效 实现 假设后台目录为/admin/*、登录页面为/admin/login.do;登录session为:adminsession springMVC-servlet.x
SpringMVC简单例子
简单的springMVC认识,包含跳转,拦截器等使用
Spring MVC 拦截器和Ajax使用
Spring MVC 拦截器和Ajax使用 1、拦截器说明:     Spring MVC 中包含了拦截器,这是为了针对特殊的请求。例如,用户的权限验证。     Interceptors类必须实现HandlerInterceptor(org.springframework.web.servlet.HandlerInterceptor)。这个接口定义了三个方法 preHan
实现Spring拦截器拦截ajax请求并重定向
首先,实现拦截器的操作很简单,只要按部就班即可 :           public class LoginInterceptor extends HandlerInterceptorAdapter{ @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse respon
SpringMVC拦截器登录之后重新回到之前的页面及未登录非法访问
之前想着在后台去登陆的时候拿到之前页面的url但是不知道怎么拿,而且发现就算拿也是哪的是登录的uri不是登录之前的uri,然后就想着从页面上获取,在除了登录注册外的每个页面上都获取到访问的uri然后想办法存到session中,登录之后再取出来进行跳转。但是感觉有点麻烦啊!这样我每个页面都需要写一次,获取uri,然后在存到session中,想到为header.jsp是几乎是嵌在出登录注册之外的所有页...
Spring中利用拦截器控制登录及页面跳转
一、问题简要描述: 在做web开发的时候往往会遇到这种情况,用户在没登录的情况下访问一些需要身份验证的页面,系统会自动帮用户跳转到登录页面,用户登录成功后,不会返回一个固定的页面,系统会跳转到用户之前访问的页面,用户可以继续进行刚才的操作。或者是session里面保存的用户信息过期了,用户需要重新进行身份验证(重新登录),用户登录成功后,页面还是会回到之前访问的页面。 二、问题所涉及的知识
SpringMVC通过拦截器实现登录控制
本文主要介绍通过SpringMVC拦截器实现登录控制,如果用户没有登录,不允许用户跳转到其他页面,服务器自动重新跳转到登录页面。
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
关于session失效时springmvc拦截器拦截ajax请求失败的问题
前两天做项目时在处理session失效时使用springMVC拦截器拦截ajax请求,结果发现正常请求拦截没问题,ajax请求拦截到了,可是ajax success函数捕获数据是登录页的源码,去网上查了一下 , https://my.oschina.net/zhk/blog/323452 明白了怎么回事 具体来说ajax是用XMLHttpRequest 对象用于和服务器交换数据。它的请求头区
Spring MVC 中“拦截器”处理模型数据 (二) @ModelAttribute
在这里强烈建议看看我之前写的几篇关于SpringMVC的博客,都是串通的。@ModelAttribute这个是SpringMVC中处理模型数据的最难也是最重要的点。相当于以前Struct的拦截器。用途:比如我们要修改一个对象的部分数据,按照以前的思维,new一个对象保存数据,然后赋值,把不修改数据先拿出来保存起来。但是这个已经Out了, 在SpringMVC中,是拿到数据库的实例,然后把传进来的值也
SpringMVC之Interceptor拦截器之登录拦截器
SpringMVC的拦截器是主要作用是拦截用户请求到后台之间的请求,在进入后台之前可以对其进行权限认证和用户登录的限制。 1.定义拦截器; springmvc中拦截器中主要有两种方式:第一种是实现HandleInterceptor接口,重写里面的方法;第二种是实现WebRequestInterceptor接口,同样的重写里面的方法,实现自己自定义的逻辑处理。 1、实现handleInterc
通过Spring MVC 的自定义拦截器实现灵活的登录拦截
SpringMVC 中的Interceptor 拦截器,它的主要作用是拦截用户的请求并进行相应的处理。用户可以自定义拦截器来实现特定的功能,比如通过它来进行权限验证,或者是来判断用户是否登陆等。
SpringMVC配置拦截器实现登录控制
SpringMVC读取Cookie判断用户是否登录,对每一个action都要进行判断。之前使用jstl标签在页面上判断session如果没有登录就使用如下代码跳转到登录页面。 但是测试发现如果session过期,页面渲染就会无故中断并且不会跳转到登录页面。故尝试使用拦截器来进行登录判断。 拦截器配置文件如下 如果只写一个*,则不能拦截类似/*/*的请求。静态
springMvc的interceptor拦截器实现用户免登陆的
1,首先applicationContext-mvc.xml中拦截器配置文件如下: 其中mapping path就是你登陆验证的地址,我这里首页默认直接跳转到路径为/index的Controller. 2,过滤器类代码如下: package com.gao.web.controller; import javax.servlet.ht
拦截器冲突导致无法跳转正确页面
在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...
Spring MVC全局异常处理与拦截器校检
在使用Spring MVC进行开发时,总是要对系统异常和用户的异常行为进行处理,以提供给用户友好的提示,也可以提高系统的安全性。拦截系统响应错误首先是拦截系统响应错误,这个可以在web.xml中配置,根据错误代码跳转到相应的提示页面。这里要注意一个问题,错误处理页面所用到的静态资源最好是直接写在页面中,或者同一个文件夹下,因为如果用户访问了一个系统不存在的路径,例如:/ss/kk/ll/tt.jsp
springmvc控制登录用户session失效后跳转登录页面
第一步,配置 web.xml 15 第二步,配置spring-mvc.xml 第三步,写拦截器SystemSessionInterceptor 方法 public class SystemSe
springmvc拦截器案例演示demo
1.1   拦截器案例应用,登录拦截器1.1.1 思路1、有一个登录页面,需要写一个controller访问页面2、登录页面有一提交表单的动作。需要在controller中处理。a)       判断用户名密码是否正确b)       如果正确 想session中写入用户信息c)       返回登录成功,或者跳转到商品列表3、拦截器。a)       拦截用户请求,判断用户是否登录b)     ...
EasyUI+SpringMVC配置session过期跳转页面
问题描述在开发过程中,session过期是常见的,当session过期我们就能看到登录信息为null,这种问题最常见的处理方法就是判断session是否过期,如果过期跳转到登陆页面。这篇博客分享一下在easyUI和springmvc情况下如何配置。 SpringMVC拦截器配置在SpringMVC中提供自定义拦截器的扩展,这时候就可以通过自定义完成对判断: public class HandlerI
springmvc拦截器配置和路径问题
1. 2.过滤器 类 package com.java.classroom.interceptor; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.spring
shiro过滤器,web.xml中默认访问页面,springMVC拦截器执行顺序
shiro过滤器,web.xml中默认访问页面以及springMVC拦截器执行顺序及shiroFilter部分参数含义
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:/
Spring拦截器preHandle里页面跳转
1.Ajax请求:判断是否有权执行该操作,拦截后,返回指定的resultCode。 2.非Ajax请求:判断是否有权访问该页面。拦截后跳转到指定的页面。
SpringMVC拦截器实现登录认证(2017修正版)
当使用到springmvc的做网页工程的时候,总会遇到需要判断登陆权限的,一般的做法是每次登陆的话,发送给后台,后台返回一个唯一的token,以便标识用户每一次请求的权限,如果没有登陆成功,则token为空,访问任意网址都会跳到登陆界面,所以网上查了,有很多博客说了,例如这位前辈:http://blog.csdn.net/u014427391/article/details/51419521,我的
[Spring-MVC] 4 防止在iframe中跳转到了login界面
在session超时等情况的时候,一般会把界面跳转到login界面但是在使用了iframe的页面中,经常会遇到在iframe中跳转到login界面的情况,而不是整个界面全部跳转所以需要如下方式进行处理在全局的ajaxError.js中 (可参考 [Spring-MVC] 3 异常统一处理)if (data.sessionInvalid) { // 跳转到登录页面,这里要加上top.为了防止在if...
关于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拦截器面对ajax时的处理
前面说过,当前台是ajax传过来的请求的时候拦截器并不能跳转,原因可想而知了,因为ajax是局部的,不管是成功还是失败都会由ajax的的成功或者失败函数的进行处理。 没看过的可查看另一篇文章 那我们就需要区分传过来的请求是否是ajax请求,然后将Url的转发交给前台来做 原理:ajax请求会先发送一个请求头,判断正确后才发送真正的请求 代码如下 1.后台代码@Override publ
SpringMVC的拦截器和过滤器的区别与联系
首先要明确什么是拦截器、什么是过滤器1.1 什么是拦截器: 拦截器,在AOP(Aspect-Oriented Programming)中用于在某个方法或字段被访问之前,进行拦截然后在之前或之后加入某些操作。拦截是AOP的一种实现策略。 在Webwork的中文文档的解释为——拦截器是动态拦截Action调用的对象。它提供了一种机制可以使开发者可以定义在一个action执行的前后执行的代码
springmvc 拦截器配置出错导致重复拦截多次,且不能访问项目
在项目开发过程中,拦截器要实现在登录session 失效的情况下拦截到登录页面。我习惯在controller上加@RequestMapping注解,这样访问的时候请求路径是两层的,可是在开发的过程中发现,我的请求在未登陆的情况下拦截不住(比如/user/getList.do),但是共同开发的同事,没有在controller上加@RequestMapping注解,这样的请求是一层的请求都是可以拦截的...
SpringMVC 拦截器实现原理和登录实现
SpringMVC 拦截器的原理图 springMVC拦截器的实现一般有两种方式      第一种方式是要定义的Interceptor类要实现了Spring的HandlerInterceptor 接口      第二种方式是继承实现了HandlerInterceptor接口的类,比如Spring已经提供的实现了HandlerInterceptor接口的抽象类Handler
springMVC带参数请求重定向
springMVC带参数请求重定向 SpirngMVC返回逻辑视图名 可以分下面几种情况:1. servlet进行请求转发,返回到jsp页面,如  return &quot;index.jsp&quot; ;2. servlet 返回结果,让请求 重定向到某个jsp页面 ,此时servlet 返回语句类似:  return  &quot; redirect : index.jsp &quot;;3. servlet 的返回结果是 请求另...
SpringMVC中处理404静态页面操作
在SpringMVC中,是通过前端分发器也就是DispatchServlet来进行我们的请求拦截的,所以如果我们的请求拦截的地址如果是类似于*.do,*.action的话,那么我们的js、png、css就可以逃过,因此是可以访问到的,可是如果我们配置的拦截地址是/,那么将会拦截我们所有的请求信息。那么如何来解决这个问题呢?  第一种方式  在一些常见的服务器中都有一些处理静态资源的Servle
Spring MVC重定向无法实现页面跳转
若请求成功,且未跳转。则是由于ajax请求造成 通过Ajax请求的数据返回的是字符串,不会进行跳转。 如果要需要重定向,在Ajax请求的成功回调中执行window.location='/hello'就可以了,或者更改请求方式,改为普通表单提交,路径跳转等。
SpringMVC中RequestMapping用于类上时页面跳转路径不对 登录拦截失败
一、SpringMVC中RequestMapping用于类上时页面跳转路径不对如图所示: 路径会多出“类级别部分”,而造成这样的路径是因为我们返回的是相对路径,所以才会在返回路径前面加上“类级别部分”,既然相对路径会自动添加一部分,那我们用绝对路径就好了,绝对路径格式就是在前面加上“/” 二、SpringMVC中设置拦截器实现登录拦截样式不对或页面跳转出错1.样式不对 因为没有设置过
spring mvc 拦截器路径问题,只拦截固定后缀
拦截固定后缀  匹配url正确配置为 /**/*.htm     错误:**.htm    /**.htm   *.htm  --> 不拦截的url --> 问题1: SpringMVC interceptor有时候配置的时候path="/**" 两个星号什么意思,与path="/"以
关于springMVC中的使用拦截器interceptor问题
springmvc中的拦截器interceptor的使用 最近在搭建一个前后端分离的后端ssm框架,想要实现一个接口加签验签过程,需要用到spring的拦截器来对请求进行验签处理。所以查找了些资料,总结了下spring中的拦截器intercept。 概述 springMVC中的拦截器是相当有用的,能够在用户进行请求后,进入具体的业务代码controller方法之前,进行相关操作,例如接口
SpringMVC DispatcherServlet重写、自定义拦截器拦截器(一)
在使用springmvc框架的时候,经常会遇到请求URL不存在或者请求参数错误这种现象,尤其是在和其他模块对接的时候,客户端代码往往会去判断网络status
文章热词 双目视觉问题 特征点问题 相机标定问题 最优化问题 统计学稳健估计问题
相关热词 c# 拦截器跳转 android 拦截器的作用 c# 方法拦截器编写 区块链问题 学习python时遇到的问题