- 浏览: 368831 次
- 性别:
- 来自: 上海
-
文章分类
最新评论
-
DanceM:
谢谢
Jquery的blockUI使用 -
ideayl:
谢谢,问题解决了
Struts2 数据标签(一)在JSP页面中访问action类中数据 -
springmvc-freemarker:
如何在java Web项目中开发WebService接口 ht ...
Java 创建简单的WebService -
Fs_sky:
感谢
Unrecognized xbean element mapping: beans in namespace http://xfire.codehaus.org -
hh792000:
留个言,感谢一下,顺便mark一下,谢谢
Unrecognized xbean element mapping: beans in namespace http://xfire.codehaus.org
使用filter使session失效的用户,重新跳转到登录页面:
1.前台简单的登录测试页面login.jsp
2.struts.xml的配置信息:
3.LoginAction如下:
4.过滤器FilterTest如下:
5.配置Web.xml信息:
添加信息:
6.成功跳转页面success.jsp如下:
7.配置了一个Session的监听器来监听Session是否失效
8.WebRoot的目录结构:
----WebRoot
------filterJsp
-----ExtremeCompomentTest_1.jsp
------login.jsp
------success.jsp
9.结果:
在IE中输入:http://localhost:8080/FileUpload/login.jsp如下显示
提交表单之后跳转的页面为:
等待1分钟之后,在Eclipse的控制台出现"EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE"信息时,即Session已经失效了,再点击上面的"Forward to Filter URL"链接,这时候过滤器filter就会起作用,验证Session失效后,跳转到登录界面。
1.前台简单的登录测试页面login.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>My JSP 'login.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> <script type="text/javascript"> function submitForm(){ document.getElementById("form1").submit(); } </script> </head> <body> This is Login page. <br> <form action="login" method="post" id="form1" name="form1"> UserName:<input type="text" id="userName" name="userName"/><input type="button" value="submit" onclick="submitForm()" id="submit1" /> </form> </body> </html>
2.struts.xml的配置信息:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"> <struts> <package name="default" extends="struts-default" namespace="/"> <action name="login" class="com.wl.action.test.LoginAction"> <result name="success"> /success.jsp </result> </action> </package> </struts>
3.LoginAction如下:
package com.wl.action.test; import java.util.Map; import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionSupport; public class LoginAction extends ActionSupport { String userName; @Override public String execute() throws Exception { ActionContext context=ActionContext.getContext(); Map session=context.getSession(); System.out.println("userName="+userName); session.put("userName", userName); return SUCCESS; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } }
4.过滤器FilterTest如下:
package com.wl.filter.test; 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 FilterTest implements Filter { public void destroy() { // TODO Auto-generated method stub } public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException { // TODO Auto-generated method stub HttpServletRequest httpReq=(HttpServletRequest)req; HttpServletResponse httpRes=(HttpServletResponse)res; HttpSession httpSession=httpReq.getSession(); if(httpSession.getAttribute("userName")==null){ httpRes.sendRedirect("../login.jsp"); }else{ chain.doFilter(req, res); } } public void init(FilterConfig arg0) throws ServletException { // TODO Auto-generated method stub } }
5.配置Web.xml信息:
添加信息:
<!-- configure filter --> <filter> <filter-name>filterTest</filter-name> <filter-class>com.wl.filter.test.FilterTest</filter-class> </filter> <filter-mapping> <filter-name>filterTest</filter-name> <url-pattern>/filterJsp/*</url-pattern> </filter-mapping> <!-- configure session timeout one minute --> <session-config> <session-timeout>1</session-timeout> </session-config>
6.成功跳转页面success.jsp如下:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ taglib prefix="s" uri="/struts-tags" %> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>My JSP 'success.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <body> Success. <br> <a href="filterJsp/ExtremeCompomentTest_1.jsp">Forward to Filter URL</a> </body> </html>
7.配置了一个Session的监听器来监听Session是否失效
package com.wl.listener.test; import javax.servlet.http.HttpSessionEvent; import javax.servlet.http.HttpSessionListener; public class HttpSessionListenerTest implements HttpSessionListener { public void sessionCreated(HttpSessionEvent arg0) { // TODO Auto-generated method stub System.out.println("SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS); } public void sessionDestroyed(HttpSessionEvent arg0) { // TODO Auto-generated method stub System.out.println("EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE"); } }
8.WebRoot的目录结构:
----WebRoot
------filterJsp
-----ExtremeCompomentTest_1.jsp
------login.jsp
------success.jsp
9.结果:
在IE中输入:http://localhost:8080/FileUpload/login.jsp如下显示

提交表单之后跳转的页面为:

等待1分钟之后,在Eclipse的控制台出现"EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE"信息时,即Session已经失效了,再点击上面的"Forward to Filter URL"链接,这时候过滤器filter就会起作用,验证Session失效后,跳转到登录界面。
发表评论
-
Java多线程资料
2012-04-17 21:49 1119http://zangweiren.blog.51cto.co ... -
Java异常处理机制
2012-04-17 21:06 914http://www.cnblogs.com/with-wan ... -
Liferay资料
2012-04-09 17:10 1152http://www.blogjava.net/eamoi/ ... -
复选框 回显
2011-12-22 23:13 1910复选框回显操作 在对有选择复选框的页面进行修改的时候 要把 ... -
Spring使用Quartz配置定时任务
2011-11-02 22:27 21241.Spring使用Quartz配置定时的简单测试类: ... -
Java的监听器种类
2011-05-13 11:26 13709Listener是Servlet的监听器 ... -
分页组件extremeComponents的使用
2011-05-11 16:25 19211.从http://www.extremecomponents ... -
Informaiton upload
2011-05-11 08:59 971information upload -
Java资料
2011-04-18 00:12 973SSH所需架包: WebService : http:// ... -
ADO题目
2011-04-13 12:53 985ADO.net http://ishare.iask.sin ... -
Spring Src
2011-04-10 22:36 1252Spring Source Jar -
对List中的某个属性进行排序
2011-02-28 15:28 96611.Student的Bean如下: public clas ... -
SVN Document
2011-02-25 14:50 1169SVN Document for English Torto ... -
JDK配置的参数有什么作用
2011-02-13 22:16 1441很多人在初学Java的时候经常会被书中介绍的一堆环境变量 ... -
JDK与Tomcat版本不兼容问题
2011-01-03 15:51 2586出现的异常信息: java.lang.Unsuppo ... -
Java截取上传路径中的文件名
2010-12-28 10:19 4081xxx.split("\\") 显然得 ... -
java 中的一些异常类
2010-11-29 17:09 1081算术异常类:ArithmeticExe ... -
中文与Unicode的互相转化
2010-11-21 13:02 12021.中文转化为Unicode /* ...
相关推荐
java filter使用配置项的详细说明代码示例
### Java Filter 打印请求返回参数详解 #### 一、背景与目的 在Web开发过程中,经常需要在请求处理流程中增加一些通用的功能,比如日志记录、性能监控、安全控制等。Java Servlet规范提供了Filter机制来实现这些...
本资料包可能包含了关于Java Filter的详细使用方法和生命周期管理的文档或示例代码。 1. **Filter的基本概念** - Java Filter是一个实现了javax.servlet.Filter接口的类,它允许开发者在请求到达目标Servlet或JSP...
本文将详细介绍如何在Java中使用Filter过滤器,以及如何配置相关的配置文件,让你一目了然。 ### 1. Filter接口与生命周期 Filter是Servlet API中的一个接口,位于`javax.servlet`包下。它定义了三个关键方法: -...
### Java中的Filter(过滤器)使用详解 #### 一、Filter概述 在Java Web开发中,`Filter`是一种非常实用的技术,它可以在请求到达目标资源(如Servlet或JSP页面)之前进行预处理,或者在响应返回客户端之前进行后...
通过巧妙地使用Filter,我们可以实现如登录验证、GZIP压缩、性能监控、安全控制等多种功能,提高应用的可维护性和扩展性。在实际项目中,经常可以看到Filter与其他Java Web技术(如Servlet、JSP、Spring MVC)协同...
### Java Filter概述与应用 #### 一、Java Filter基本概念 在Java Web开发中,`Filter`是一种重要的组件,主要用于实现请求预处理和响应后处理的功能。它可以在客户端请求到达目标资源(如Servlet、JSP等)之前...
在Java Web开发中,`Filter`(过滤器)是一个至关重要的概念,它允许开发者在请求到达Servlet之前或从Servlet响应返回...对于初学者来说,理解和掌握`Filter`的原理及使用方法是成为专业Java Web开发者的重要一步。
在Java的Web开发中,过滤器(Filter)是一种非常实用的技术,它可以在请求到达目标资源(如Servlet或JSP页面)之前或响应离开容器之后进行处理。本文将深入探讨Java中过滤器的几种使用方法及其应用场景,以帮助...
本话题主要关注如何使用Java Filter来限制用户的浏览权限,确保只有经过身份验证和授权的用户才能访问特定的资源。这在构建安全的Web应用程序时至关重要。 首先,我们需要了解Java Filter的基本概念。Filter是...
JavaFilter自定义编码过滤器知识点 一、Filter接口和 FilterChain接口 在 Java 中, Filter 接口和 FilterChain 接口是 Servlet 规范中的两个重要组件。 Filter 接口用于定义一个过滤器, FilterChain 接口用于将...
3. `destroy()`:当Web应用停止或Filter不再使用时,调用此方法释放资源。 在`web.xml`部署描述符中,通过`<filter>`和`<filter-mapping>`元素定义Filter及其映射。例如,`<dispatcher>`元素用于指定Filter在哪些...
在Java编程领域,"Java登录注册列表小项目和Filter测试代码"是一个常见的实践项目,它涵盖了Web应用程序开发中的基础功能,如用户身份验证、权限控制以及数据操作。在这个项目中,开发者通常会创建一个简单的用户...
- `FORWARD`: 当Servlet或Filter使用`RequestDispatcher.forward()`方法将请求转发到其他资源时,Filter也会被调用。 - `INCLUDE`: 当Servlet或Filter使用`RequestDispatcher.include()`方法包含其他资源时,Filter...
JEECG权限根据业务数据的机构字段,实现的工具类。可用于datagrid方法中,list页面过滤,add,update页面也可以
【Java Filter过滤器在项目开发中的应用】 Java Filter(过滤器)是Java EE(现在称为Jakarta EE)规范的一部分,它允许开发者在请求被实际处理...理解并熟练使用Filter,对于提升Java EE项目开发的专业性至关重要。
在本篇博客“java自学===Filter类的应用,网站数量统计”中,作者可能探讨了如何使用Filter来实现网站访问量的统计功能。 首先,Filter类位于javax.servlet包中,它是Servlet API的一部分,主要用于增强Web应用程序...
本文将详细介绍如何使用Java的Filter来实现跨域请求的允许。 ### 概念解析 **同源策略**:同源策略是浏览器的一项安全措施,防止恶意网站读取其他网站的数据,保护用户隐私。如果协议、域名和端口三者都相同,那么...
为了解决这一问题,我们可以利用Java的Filter机制来创建一个防止SQL注入的URL过滤器。下面将详细介绍这个过滤器的工作原理、配置方法以及如何有效地防止SQL注入。 首先,我们需要理解SQL注入的基本概念。SQL注入是...