`

过滤器(filter)实现用户登录拦截

阅读更多

过滤器(filter)实现用户登录拦截

 

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.

蕃薯耀 2015年8月25日 16:20:47 星期二

http://fanshuyao.iteye.com/

 

一、增加一个Java类,实现filter接口

 

public class UserFilter implements Filter {

	@Override
	public void destroy() {
		System.out.println("userFilter destroy()");

	}

	@Override
	public void doFilter(ServletRequest request, ServletResponse response,
			FilterChain chain) throws IOException, ServletException {
		HttpServletRequest req = (HttpServletRequest)request;
		HttpServletResponse res = (HttpServletResponse) response;
		HttpSession session = req.getSession();
		//User user = (User) session.getAttribute(Conf.SESSION_USER);
		String user = (String) request.getAttribute("user");
		if (user != null) {
			chain.doFilter(request, response);
		} else {
			session.setAttribute("redirect_url", req.getRequestURL().toString());
			//System.out.println("req.getRequestURL().toString()="+req.getRequestURL().toString());
			res.sendRedirect(req.getContextPath() + "/login?redirect_url="+URLEncoder.encode(req.getRequestURL().append("?").append(req.getQueryString()).toString(), "utf-8"));
		}
	}

	@Override
	public void init(FilterConfig arg0) throws ServletException {
		System.out.println("userFilter init()");

	}

 

 

二、配置web.xml文件

 

<filter>
   <filter-name>userFilter</filter-name>
   <filter-class>com.spring.filter.UserFilter</filter-class>
  </filter>
  
  <filter-mapping>
   <filter-name>userFilter</filter-name>
   <url-pattern>/user/*</url-pattern>
  </filter-mapping>

 

 

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.

蕃薯耀 2015年8月25日 16:20:47 星期二

http://fanshuyao.iteye.com/

 

 

 

1
4
分享到:
评论

相关推荐

    Java SpringBoot实现的过滤器(和拦截器)控制登录页面跳转

    本项目主要关注的是如何使用过滤器(Filter)和拦截器(Interceptor)来实现登录页面的控制与跳转。以下是对这些知识点的详细说明: 1. **SpringBoot**: SpringBoot是Spring框架的一个子项目,旨在简化Spring应用...

    使用过滤器实现判断用户是否登录验证.

    在这个场景下,我们讨论的是如何使用过滤器来实现用户登录验证的功能。下面将详细解释这一过程。 首先,我们需要了解过滤器的基本概念。在Java Web应用中,过滤器是实现了javax.servlet.Filter接口的类。它们通过在...

    servlet+jsp实现过滤器 防止用户未登录访问

    在本例中,要实现一个简单的登录验证过滤器,可以阻止未登录用户访问除了登录页面以外的其他后台管理页面。通过实现javax.servlet.Filter接口,我们创建了一个LoginFilter类。这个过滤器会在每个请求到达目标页面...

    spring boot 拦截器拦截/Filter 过滤session案例

    在本文中,我们将深入探讨如何在Spring Boot应用中使用拦截器(Interceptor)和过滤器(Filter)来处理用户的登录session。这两个组件都是Spring框架的重要部分,它们在处理HTTP请求和响应时发挥着关键作用。 首先...

    SpringBoot中使用过滤器(Filter)和拦截器(Interceptor)案例

    1、在SpringBoot中如何实现自定义过滤器(Filter)和拦截器(Interceptor) 2、通过执行案例了解多个过滤器和拦截器的执行顺序 【本案例包含源码以及可执行的jar文件,源码文件建议使用IDEA进行导入查看学习,建议使用...

    利用java filter 实现业务异常拦截源码

    利用java filter 实现业务异常拦截 跳转到错误信息提示页面 我们在做项目中肯定都会遇到自定义业务异常 ,然后将业务异常信息跳转的统一的信息提示页面的情况,比如我们在struts的时候我们会用到struts的异常处理...

    过滤器拦截并处理request请求

    此外,过滤器也可以用来进行安全控制,比如检查用户登录状态,或者进行URL重写。 接下来,我们探讨如何配置过滤器。在`web.xml`部署描述符中,我们定义过滤器的实例,并指定其需要拦截的URL模式。例如: ```xml ...

    设计模式-拦截过滤器

    拦截过滤器模式(Interceptor Filter Pattern)基于责任链模式,通过创建一个过滤器链,每个过滤器都实现一个共同的接口,这个接口定义了对请求进行处理的方法。当请求到达时,它会依次通过这个过滤器链,每个过滤器...

    Struts2编写的通用(拦截器,过滤器)Filter

    在本项目中,过滤器可能与拦截器协同工作,同样负责验证用户登录状态。通常,过滤器通过实现`javax.servlet.Filter`接口并重写`doFilter()`方法来实现。过滤器可以全局应用,对所有请求或特定URL模式生效。 **非法...

    拦截器和过滤器的区别

    在现代软件开发过程中,特别是Web应用程序中,为了实现灵活高效的业务逻辑处理及控制流管理,常常会使用到两种设计模式:拦截器(Interceptor)与过滤器(Filter)。这两种技术虽然在功能上有一定的相似之处,但其...

    利用Filter拦截用户登录

    本文将详细讲解如何利用Filter拦截用户登录,确保只有已登录的用户才能访问特定页面。 首先,我们需要了解`Filter`的基本概念。在Java Web中,Filter是Servlet API的一部分,它可以通过实现`javax.servlet.Filter`...

    Filter过滤器与Interceptor拦截器

    Filter过滤器与Interceptor拦截器有很多相似

    Filter(过滤器)简介和工作原理

    * 认证和授权:可以使用 Filter 来实现认证和授权功能,例如检查用户的登录状态和权限。 * 日志记录:可以使用 Filter 来记录客户端的请求和响应信息,以便进行日志记录和分析。 * 缓存处理:可以使用 Filter 来实现...

    SpringMVC的拦截器(Interceptor)和过滤器(Filter)的区别与联系

    在Java Web开发中,Spring MVC框架提供了两种机制来处理请求:拦截器(Interceptor)和过滤器(Filter)。它们都是在请求被控制器处理之前和之后执行的一系列预处理和后处理操作,但它们在功能、使用场景和工作原理...

    过滤器Filter的全面解析

    总的来说,Java Web中的过滤器Filter是一种强大的工具,它可以帮助开发者在不改变原有业务逻辑的情况下,增加额外的功能和控制,提高了代码的可维护性和灵活性。理解并熟练掌握过滤器的使用,对于任何J2EE开发者来说...

    过滤器(Filter)

    过滤器可以用来实现诸如登录验证、数据转换、日志记录等功能,为Web应用程序提供了强大的扩展性。 首先,我们需要理解过滤器的基本工作原理。当用户向服务器发送一个请求时,过滤器会按照在web.xml中的配置顺序被...

    servlet 过滤器做的简单登陆demo

    配置文件中会定义过滤器的`&lt;filter&gt;`和`&lt;filter-mapping&gt;`元素,指明过滤器类及其需要拦截的URL模式。例如,所有需要登录才能访问的资源路径都会被配置在这个过滤器下。 6. **实践步骤**: - 编写Filter实现类,...

    过滤器/拦截器

    在Web开发领域,过滤器(Filter)和拦截器(Interceptor)是两种常见的机制,它们用于在请求被实际处理之前或之后执行特定的操作。这两种技术在Java Web应用中尤为常见,尤其是使用Servlet API或者Spring框架的时候...

    权限管理(过滤器粗粒度无侵入拦截方式)

    本文将详细探讨一种常见的权限管理实现方式——使用过滤器(Filter)进行粗粒度无侵入拦截。 首先,我们需要理解什么是过滤器。在Java Web开发中,过滤器是Servlet规范的一部分,它允许开发者在请求到达目标资源...

    管道过滤器程序,主要用java实现

    1. **Filter接口**:这是所有过滤器组件需要实现的接口,定义了处理数据的方法,例如`filter()`。每个过滤器类都需实现此接口,提供其特定的处理逻辑。 2. **Filter链**:多个过滤器通过实例化并链接起来形成一个链...

Global site tag (gtag.js) - Google Analytics