`

web项目用户登录验证filter

阅读更多

package com.tnt.web.filter;

import java.io.IOException;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

public class LoginCheckFilter implements Filter {
	//protected Log log = LogFactory.getLog(getClass());

	/**
	 * 登陆页面
	 */
	private String loginPage = "";

	@SuppressWarnings("unchecked")
	public void doFilter(ServletRequest request, ServletResponse response,
			FilterChain chain) throws IOException, ServletException {
		HttpServletRequest httpServletRequest = (HttpServletRequest) request;
		HttpSession session = httpServletRequest.getSession();
		if (session == null || session.getAttribute("user") == null) {
			HttpServletResponse httpServletResponse = (HttpServletResponse) response;
			httpServletResponse.sendRedirect(httpServletRequest.getContextPath() + loginPage);
//			httpServletRequest.getRequestDispatcher(loginPage).forward(httpServletRequest, httpServletResponse);
		} else {
			chain.doFilter(request, response);
		}
	}

	public void init(FilterConfig filterConfig) throws ServletException {
		this.loginPage = filterConfig.getInitParameter("loginPage");
	}

	public void destroy() {

	}
}
这是filter类。

在web.xml中配置filter。

<!-- 用户登录检测过滤器 -->
	<filter>
		<filter-name>LoginCheckFilter</filter-name>
		<filter-class>
			com.tnt.web.filter.LoginCheckFilter
		</filter-class>
		<init-param>
			<param-name>loginPage</param-name>
			<param-value>/logon.jsp</param-value>
		</init-param>
	</filter>
	<filter-mapping>
		<filter-name>LoginCheckFilter</filter-name>
		<url-pattern>/index.jsp</url-pattern>
	</filter-mapping>
	<filter-mapping>
		<filter-name>LoginCheckFilter</filter-name>
		<url-pattern>/indexadmin.jsp</url-pattern>
	</filter-mapping>
	<filter-mapping>
		<filter-name>LoginCheckFilter</filter-name>
		<url-pattern>/right.jsp</url-pattern>
	</filter-mapping>
	<filter-mapping>
		<filter-name>LoginCheckFilter</filter-name>
		<url-pattern>/main/*</url-pattern>
	</filter-mapping>
	<filter-mapping>
		<filter-name>LoginCheckFilter</filter-name>
		<url-pattern>/tree/*</url-pattern>
	</filter-mapping>
 
分享到:
评论

相关推荐

    webapi登陆验证四种方式.docx

    ### WebAPI登录验证的四种方式详解 #### 一、概述 在现代Web开发中,安全性是至关重要的。对于WebAPI而言,确保用户数据的安全性尤为关键。本文档将详细介绍WebAPI登录验证的四种常见方式:**FORM身份验证、集成...

    用filter实现验证登录

    ### 实现登录验证Filter 1. **创建Filter类**:首先,我们需要创建一个实现了`Filter`接口的类。在这个类中,我们将实现`doFilter()`方法,这是`Filter`的核心,用于处理请求和响应。 ```java public class ...

    利用Filter拦截用户登录

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

    Java项目登录验证

    Java项目中的登录验证是Web应用开发中的一个关键环节,它确保只有合法的用户才能访问受保护的资源。在这个Java项目中,登录验证涉及到多个组件,包括Servlet、Filter、DAO(数据访问对象)以及数据库交互。下面我们...

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

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

    webfilter的教程

    本教程将详细讲解`Filter`的两个主要功能:字符编码过滤和登录验证。 首先,让我们深入理解字符编码过滤。在Web应用程序中,数据的编码一致性至关重要,特别是当用户通过表单提交非ASCII字符时。`Filter`可以用于...

    java用户登录验证码 filter过滤

    本文将深入探讨如何在用户登录界面实现基于Servlet的验证码功能,并结合Filter进行验证。 首先,验证码的生成通常涉及到以下几个步骤: 1. **生成随机字符串**:验证码一般由4-6个随机字母或数字组成,可以通过...

    使用过滤器完成用户登录验证

    在"使用过滤器完成用户登录验证"的场景中,我们将创建一个过滤器类,该类实现了Filter接口并重写了doFilter()方法。在这个方法里,我们可以检查请求中是否有有效的登录信息,例如通过检查请求头中的session或cookie...

    检验用户登录信息(使有Filter,最终版)

    标题中的“检验用户登录信息(使用Filter,最终版)”是指在Web开发中,通过使用Servlet Filter技术来验证用户登录状态的一种实现方式。Filter是Java Servlet API中的一部分,它允许我们在请求到达目标Servlet或JSP...

    Web项目最基本的架构

    7. **com.web.filter**:过滤器包,包含实现了Filter接口的类,用于实现请求和响应的预处理和后处理,如字符编码过滤、登录验证等。 8. **com.web.servlet**:Servlet包,通过Web.xml配置文件,实现各种服务和功能...

    网络应用开发 之使用Filter实现用户自动登录功能

    在这个实验中,Filter将用于检查用户的Cookie,如果找到有效的登录信息,就自动为用户登录。 Cookie是一种小型文本文件,由服务器发送到用户的浏览器,并在后续的请求中返回给服务器。它可以用来存储用户的状态信息...

    有验证功能的基于jsp开发的mvc架构的登录系统

    View-Controller(MVC)设计模式的Web应用程序,该程序主要用于用户身份验证,它使用Java Server Pages(JSP)作为视图层技术,并且可能与SQL Server 2000数据库进行交互以处理用户登录信息。 描述进一步补充了该...

    jsp filter 过滤器判断用户是否登录

    这里假设用户登录后,其用户名会被存储到会话中。 - 如果 `username` 为空或者等于空字符串,表示用户未登录,重定向到登录页面;否则继续执行链中的下一个过滤器或目标资源。 3. **销毁方法 `destroy`**:当过滤器...

    Filter过滤器的代码及其web.xml配置代码

    在Java Web开发中,Filter(过滤器)是一个非常重要的组件,...在实际项目中,Filter常用于处理全局性的问题,如统一字符编码、登录验证、日志记录等。了解并熟练掌握Filter的使用,对于提升Java Web开发能力至关重要。

    Filter使用范例--登陆验证

    在这个"Filter使用范例--登陆验证"的主题中,我们将深入探讨如何利用Filter进行用户登录验证,以确保只有经过身份验证的用户才能访问受保护的资源。 Filter接口在`javax.servlet`包中定义,它提供了`doFilter()`...

    servlet之Filter使用范例--登陆验证

    以下是一个简单的登录验证Filter的实现步骤: 1. **创建Filter类**:继承`javax.servlet.Filter`接口并实现`doFilter()`方法。在这个方法中,我们将进行登录状态的检查。 ```java public class LoginFilter ...

    JAVA WEB项目开发案例精粹(源代码)

    过滤器(Filter)和监听器(Listener)是Java Web的重要组成部分,它们可以用于数据预处理、用户会话管理等。案例将展示如何配置和使用这两个组件,以实现如登录验证、字符编码转换等功能。 7. **Ajax与JSON** ...

    shiroFilter权限验证

    -- authc:该过滤器下的页面必须验证后才能访问,它是Shiro内置的一个拦截器org.apache.shiro.web.filter.authc.FormAuthenticationFilter --&gt; &lt;property name="filterChainDefinitions"&gt; /statics/**=anon ...

    jsp+servlet登录验证过滤器

    在这个项目中,“jsp+servlet登录验证过滤器”涉及了用户登录验证的过程,以及使用过滤器(Filter)来实现这一功能。下面将详细介绍这个主题中的相关知识点。 1. **JSP**:JSP是一种服务器端的技术,允许开发者在...

    Java登录注册列表小项目和Filter测试代码

    在Java编程领域,"Java登录注册列表小项目和Filter测试代码"是一个常见的实践项目,它涵盖了Web应用程序开发中的基础功能,如用户身份验证、权限控制以及数据操作。在这个项目中,开发者通常会创建一个简单的用户...

Global site tag (gtag.js) - Google Analytics