`
tsinglongwu
  • 浏览: 232708 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

判断session是否存在的过滤器

    博客分类:
  • j2ee
阅读更多
在web.xml中有如下配置:
<filter>
		<filter-name>myFilter</filter-name>
		<filter-class>com.test.MyFilter</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>myFilter</filter-name>
		<url-pattern>*.jsp</url-pattern>
	</filter-mapping>

凡是访问以jsp为后缀的页面都会经过过滤器com.test.MyFilter,代码如下:
public class MyFilterimplements Filter {
	
	protected FilterConfig filterConfig;

	public void doFilter(ServletRequest req, ServletResponse res,
			FilterChain chain) throws IOException, ServletException {
		HttpServletRequest hreq = (HttpServletRequest) req;
		HttpServletResponse hres = (HttpServletResponse) res;
		String requestUrl = hreq.getRequestURI();
		if (requestUrl.indexOf("index.jsp") > -1) {
			chain.doFilter(req, res);
		} else {
			if (null == hreq.getSession().getAttribute("session_user"))
				hres.sendRedirect(hreq.getContextPath()+ "/"+"index.jsp");
			else
				chain.doFilter(req, res);
		}
	}

	public void init(FilterConfig filterConfig) throws ServletException {
		this.filterConfig = filterConfig;
	}
	
	public void destroy() {
		this.filterConfig = null;
	}
	
	public void setFilterConfig(FilterConfig filterConfig) {
		this.filterConfig = filterConfig;
	}
}

分享到:
评论

相关推荐

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

    ### JSP Filter 过滤器判断用户是否登录 在Web应用开发中,权限验证是非常重要的一个环节。通过使用过滤器(Filter),可以在请求到达目标资源(如Servlet或JSP页面)之前进行处理,例如实现登录状态检查、权限验证...

    servlet 过滤器做的简单登陆demo

    后续每次请求,过滤器会检查session中是否存在有效的登录信息。 - **Cookie**:Cookie是客户端存储用户信息的一种方式。在这个示例中,可能也会用到cookie来存储登录状态。比如,登录成功后,服务器会发送一个包含...

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

    这个过滤器会在每个请求到达目标页面之前执行,从而根据session中的信息来判断用户是否已经登录。 过滤器类LoginFilter中有几个关键的方法。首先是doFilter方法,这个方法是过滤器的核心,每次请求都会被拦截到这个...

    用户登陆过滤器

    用户登陆过滤器是一个用于限制未登陆用户访问的过滤器配置,通过filter机制和session机制来判断用户是否已经登陆,从而决定是否允许用户访问某些资源。 在这个过滤器中,我们可以看到它主要由两部分组成:一部分是...

    过滤器实现鉴权

    - 在过滤器中实现鉴权,通常会检查用户是否登录(例如,通过session中是否存在用户信息),或者直接硬编码允许访问的URL列表。 3. **分目录权限控制** - 过滤器可以配置在web.xml中,针对特定的URL模式进行拦截。...

    javaWEB总结(33):检查用户是否登陆过滤器

    本篇文章将深入探讨“检查用户是否登录的过滤器”这一主题,帮助开发者理解如何利用过滤器来实现用户身份验证,确保只有已登录的用户才能访问特定的资源。 首先,我们需要了解过滤器在Servlet规范中的地位。根据...

    六个有用的java过滤器

    在这个示例中,我们通过检查会话(Session)中是否存在指定的属性来判断用户是否已登录。如果未登录,则将其重定向到登录页面;如果已登录,则允许访问。 #### 三、字符编码过滤器 字符编码过滤器用于统一整个Web...

    过滤器(实现粗颗粒权限控制).zip

    如果Session存在并且包含用户信息,说明用户已登录,可以放行请求;反之,如果Session不存在或者没有用户信息,说明用户未登录,此时需要阻止请求并进行相应处理,如重定向到登录页面。 4. **处理未登录状态**:...

    通过过滤器管理用户权限(1)

    在这个方法中,我们可以检查请求的上下文,例如,通过检查请求的Cookie或Session来判断用户是否已经登录。如果没有登录,我们可以重定向用户到登录页面;反之,如果用户已登录,那么就允许请求继续传递到目标资源。 ...

    用过滤器验证登陆框架,简单实例

    6. **过滤器链**:在Web应用中可能存在多个过滤器,它们按照在web.xml中定义的顺序形成一个过滤器链。每个过滤器都可以选择是否继续传递请求给下一个过滤器。 此外,标签“源码”和“工具”暗示可能有相关的代码...

    fiter过滤器的实现

    它可能会在用户尝试访问特定资源之前,检查请求中是否存在有效的会话(Session)或认证令牌,如果没有,就重定向到登录页面。实现这样的过滤器,通常需要以下几个步骤: 1. 实现`javax.servlet.Filter`接口,覆盖`...

    SSH框架网上商城项目第18战之过滤器实现购物登录功能的判断

    5. 如果用户已经登录(`session`中存在`user`),则调用`FilterChain`的`doFilter()`方法,允许请求继续传递到下一个过滤器或目标页面。 6. 最后,别忘了在`web.xml`配置文件中声明并配置我们的过滤器,指定哪些URL...

    session一致性

    - 在用户访问资源时,通过拦截器(或过滤器)判断用户是否已经登录。 - 如果用户未登录,则重定向到登录页面;如果已登录,则允许继续访问资源。 #### 三、总结 Session一致性问题是分布式Web应用中常见的挑战之一...

    你真的了解Filter过滤器 ?

    1. **权限检查**:例如,在一个需要用户登录才能访问的资源(如admin目录下的页面和图片)前,Filter可以检查Session中是否存在用户的登录信息,确保只有登录用户才能访问。 2. **日志记录**:Filter可以用于记录每...

    jsp实现登录验证的过滤器.docx

    在Java Web开发中,过滤器(Filter)是一个强大的工具,它可以拦截请求并处理响应,用于实现各种功能,比如登录验证。本示例讲解了如何使用JSP和Servlet来实现一个登录验证过滤器,确保只有已登录用户才能访问特定的...

    spring boot 配置Filter过滤器的方法

    // session存在,继续请求处理 chain.doFilter(httpRequest, httpResponse); return; } else { // session不存在,处理未登录状态(这里可以跳转到登录页面) // ... chain.doFilter(httpRequest, ...

    filter过滤器实现权限访问控制以及同一账号只能登录一台设备

    2. **Filter实现**:创建一个自定义的`Filter`类,检查每个请求的`Session`中是否存在登录信息。如果不存在或者登录信息过期,则重定向到登录页面。 3. **权限判断**:在`Filter`中,可以进一步检查请求的资源是否...

    Ajax请求session失效该如何解决

    2. 在前端JavaScript中监听Ajax请求的响应,根据响应头判断Session是否超时并做出相应处理。 这种做法确保了无论是常规请求还是Ajax请求,当Session失效时都能正确地通知用户并引导他们重新登录,从而保持应用的...

    ajax提交session超时跳转页面使用全局的方法来处理

    2. 在客户端(如JavaScript)监听所有AJAX请求的完成事件,通过响应头来判断Session是否超时,并根据情况执行相应操作,如跳转至登录页面。 3. 这种全局处理方式可以减少代码重复,提高代码复用性,同时也能确保用户...

Global site tag (gtag.js) - Google Analytics