- 浏览: 36031 次
- 来自: ...
最近访客 更多访客>>
最新评论
-
wushengwuxi:
dtree在IE9中无法正常显示
dTree -
zjnu09220229:
楼主的这个貌似对我很有用,不知可否将完整的代码让我看下,不胜感 ...
dTree -
linshutao:
就素就素,木有注释,不如不写~~
web.xml配置笔记 -
xutao5641745:
光写上有屁用?注释都不给个。。。。。。。。
web.xml配置笔记 -
southking:
<div class="quote_title ...
我的女朋友说我的老婆是电脑
package com.authority.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;
public class SessionTimeOutFilter implements Filter
{
private static final long serialVersionUID = 1L;
private FilterConfig filterConfig;
private String forward = "";
/**
* 初始化过滤器配置
*/
public void init(FilterConfig config) throws ServletException
{
this.filterConfig = config;
forward = filterConfig.getInitParameter("logout");
}
/**
* 运行过滤器
*/
public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws IOException,
ServletException
{
HttpServletRequest servletRequest = (HttpServletRequest) request;
HttpServletResponse servletResponse = (HttpServletResponse) response;
HttpSession session = servletRequest.getSession();
//获取当前页面文件名
String url = servletRequest.getRequestURI();
url = url.substring(url.lastIndexOf("/") + 1, url.length());
try
{
//排除后台不作权限控制的页面名
String exclude = "login.do,base.jsp,error.jsp,menubase.jsp,message.jsp"
+ "redirect.jsp,taglibs.jsp,login.jsp,forward.jsp";
//当获取url文件名与不做权限验证的页面不同时
if (exclude.indexOf(url) == -1)
{
//获取网站访问根目录
String accessPath = servletRequest.getContextPath();
String userid = (String) session.getAttribute("userid");
//当用户名,和密码不存在或者为空字符串时
if (userid == null || userid.trim().length() == 0)
{
servletResponse.sendRedirect(accessPath + forward);
//将这个请求url放在session中以便登录成功后能自动跳转到该url
session.setAttribute("requrl", url);
return;
}
}
}
catch (Exception e)
{
e.printStackTrace();
}
filterChain.doFilter(request, response);
}
/**
* 销毁
*/
public void destroy()
{
}
}
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;
public class SessionTimeOutFilter implements Filter
{
private static final long serialVersionUID = 1L;
private FilterConfig filterConfig;
private String forward = "";
/**
* 初始化过滤器配置
*/
public void init(FilterConfig config) throws ServletException
{
this.filterConfig = config;
forward = filterConfig.getInitParameter("logout");
}
/**
* 运行过滤器
*/
public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws IOException,
ServletException
{
HttpServletRequest servletRequest = (HttpServletRequest) request;
HttpServletResponse servletResponse = (HttpServletResponse) response;
HttpSession session = servletRequest.getSession();
//获取当前页面文件名
String url = servletRequest.getRequestURI();
url = url.substring(url.lastIndexOf("/") + 1, url.length());
try
{
//排除后台不作权限控制的页面名
String exclude = "login.do,base.jsp,error.jsp,menubase.jsp,message.jsp"
+ "redirect.jsp,taglibs.jsp,login.jsp,forward.jsp";
//当获取url文件名与不做权限验证的页面不同时
if (exclude.indexOf(url) == -1)
{
//获取网站访问根目录
String accessPath = servletRequest.getContextPath();
String userid = (String) session.getAttribute("userid");
//当用户名,和密码不存在或者为空字符串时
if (userid == null || userid.trim().length() == 0)
{
servletResponse.sendRedirect(accessPath + forward);
//将这个请求url放在session中以便登录成功后能自动跳转到该url
session.setAttribute("requrl", url);
return;
}
}
}
catch (Exception e)
{
e.printStackTrace();
}
filterChain.doFilter(request, response);
}
/**
* 销毁
*/
public void destroy()
{
}
}
发表评论
-
HttpClient
2009-03-19 09:47 0String url = SUBNODE_UCLO ... -
字符串的压缩和解压(包括加解密)
2008-10-26 18:47 1272import com.util.IArchive; ... -
让select支持onClick
2008-10-26 18:46 3202摘自fins的,留以备用 <!DOCTYPE HT ... -
dTree
2008-10-26 18:45 1605Frame <FRAMESET id=topFrame ... -
随机码生成
2008-10-26 18:45 1542package com.authority.ui.we ... -
让select支持onClick
2008-06-06 10:41 0抄自finas的 <!DOCTYPE HTML P ... -
ajax学习笔记备忘
2008-03-19 21:34 852<script language="j ... -
http://imkenwu.javaeye.com/
2008-03-19 21:33 804http://imkenwu.iteye.com/ -
Servlet初始化的方法
2008-03-19 21:33 2866/** * Servlet覆盖初始化方法( ... -
分页笔记
2008-03-19 21:32 1257PageControlData.java package ... -
代码格式化
2008-03-19 21:32 855<?xml version="1.0" ... -
导入导出EXCEL笔记
2008-03-17 10:31 2715导出Excel package application ... -
日期控件
2008-03-02 22:27 12日期控件 -
js开发工具
2007-12-25 16:56 736http://www.aptana.com/ -
common包
2007-12-25 10:30 827http://menjoy.iteye.com/blog/48 ... -
通用加密技术学习笔记
2007-12-24 18:16 1472import java.security.MessageD ... -
多线程学习笔记
2007-12-24 15:40 942多线程学习笔记 1、监控线程 priv ... -
数据库连接配置笔记备用
2007-12-24 14:52 828数据库连接配置笔记备用 <?xml version= ... -
web.xml配置笔记
2007-12-24 14:41 2264web.xml配置笔记 < ...
相关推荐
在Java Web开发中,用户登录超时过滤器是一种常见的安全机制,用于检查用户是否已登录并保持其会话状态。这个过滤器会在用户访问受保护的页面之前进行拦截,如果发现用户会话已经超时或者不存在,将重定向到登录页面...
3. **会话管理**:过滤器可以用来管理用户的会话,确保会话的有效性。当用户登录后,将用户信息存储在session中,并在每次请求时检查session是否超时。 4. **URL映射**:通过配置过滤器的`<url-pattern>`,我们可以...
主要有四种类型的过滤器:授权过滤器、操作结果过滤器、异常过滤器和资源过滤器。授权过滤器是最早执行的,通常用于进行身份验证和授权检查。 要创建自定义的授权过滤器,我们需要继承`System.Web.Mvc....
本项目"jsp登录验证(含过滤器)"主要关注如何利用过滤器实现用户登录验证,并在会话(Session)中设置全局变量以跟踪用户的登录状态。以下将详细讲解这个知识点。 1. **JSP基础** JSP是基于Java的服务器端脚本...
1. **会话管理**:通过HttpSessionListener监控会话的创建、过期,可以实现会话超时提醒、统计在线用户等功能。 2. **资源初始化和销毁**:ServletContextListener可以在应用启动和停止时执行初始化和清理工作,如...
6. **会话超时与退出**:为了防止会话固定攻击,BBoss框架会设置会话超时机制。此外,用户可以通过点击退出按钮来清除会话,此时`SYSAuthenticateFilter`会确保所有相关的认证信息从会话中移除。 通过阅读`...
但需要注意的是,这只是一个基础示例,实际生产环境中,应考虑更复杂的逻辑,如会话超时、错误处理、以及与其他安全框架(如Spring Security)的集成。此外,为了提高代码可维护性和可扩展性,通常会将过滤器逻辑...
Java EE(Java Platform, Enterprise Edition)是用于构建企业级分布式应用程序的框架,它提供了一系列标准接口和组件模型,包括上下文、监听器和过滤器。这些概念是Java EE开发中的核心组成部分,对于理解和优化Web...
过滤器可以用于多种用途,包括但不限于安全控制、日志记录、数据转换等。 首先,让我们深入理解什么是Servlet过滤器。在Web应用中,当用户发起一个请求到服务器,该请求会经过一系列预先定义好的过滤器。这些过滤器...
2. **HttpSessionListener**:监听HttpSession的创建和销毁,可以统计在线用户数量,或在会话超时后清除敏感数据。 3. **ServletRequestListener**:监听ServletRequest对象的创建和结束,可用于数据校验或记录请求...
在Java Web开发中,Model2架构、监听器和过滤器是三个重要的概念,它们共同构建了一个功能完善的Web应用程序。现在,让我们深入理解这三个组件以及它们如何协同工作。 **Model2架构**:Model2是MVC(Model-View-...
Servlet过滤器和监听器是Java Servlet技术中两个重要的组件,它们极大地增强了Web应用程序的功能和灵活性。Servlet过滤器在Servlet 2.3规范中被引入,主要用于处理通用任务,如请求预处理、响应后处理,以及诸如编码...
这可以通过监听器、过滤器或者在拦截器中实现。例如,在拦截器的`preHandle()`方法中,检查当前请求的Session是否有效,如果发现Session已经过期,就通过`response.sendRedirect(String url)`重定向到登录页面。 在...
- **HttpSessionListener**:监听HttpSession的创建和销毁,适用于记录在线用户数量、实现会话超时提醒等。 - **ServletRequestListener**:监控ServletRequest的创建和销毁,常用于统计请求量、分析请求信息等。 ...
默认情况下,Java Web应用的会话超时时间为30分钟,开发者可以根据需求通过`setMaxInactiveInterval(int interval)`方法调整。超时设定是为了防止会话长时间未活动导致资源浪费,同时也是安全措施的一部分,防止会话...
### XML常用配置信息详解:过滤器、监听器与Session会话闲置时间 #### 一、XML配置基础 在Java Web开发中,`web.xml`是一个非常重要的配置文件,它主要用于定义Web应用程序的基本结构和行为。该文件是用XML(可...
如果用户未登录或会话超时,过滤器将重定向到登录页面。这种过滤器可以有效维护网站的安全性,防止未授权的访问。 3. **字符编码过滤器** 字符编码问题常常会导致乱码,尤其是在不同系统或浏览器之间交互时。字符...
Mina2.0 框架源码剖析主要包括了解 Mina2.0 的核心组件、框架的启动和关闭、会话管理、过滤器和编解码器的使用等。 知识点: * Mina2.0 的核心组件:IoAcceptor、IoSession、IoHandler * 框架的启动和关闭 * 会话...
在IT行业中,尤其是在Web开发领域,连接池、分页、过滤器和监听器是四个非常重要的概念。这些技术被广泛应用于提升系统性能、优化用户体验以及维护应用状态。下面将详细阐述这四个知识点,并结合JSP(JavaServer ...
在本文中,我们将深入探讨如何配置Tomcat,包括添加虚拟目录、配置JSP和Servlet、调整服务器端口、设置默认和错误页面、处理会话超时以及运用过滤器。 1. **增加虚拟目录** 要在Tomcat中添加虚拟目录,需要编辑`...