使用Filter验证用户是否登陆,完整示例1
来源:百度文库 编辑:神马文学网 时间:2024/04/27 08:00:00
对filter不明白可以看Tomcat 与java.web开发技术详解
使用Filter验证用户是否登陆,完整示例
/* 使用Filter进行用户信息验证等操作是个不错的选择。 这是OnlineFilter.java 初学者注意,这里用到的是javax.servlet.*,不包含在j2sdk里,需要从j2ee sdk中,或者$tomcat_home/lib/ 或者$resin_home/lib/下找到那个jar包。 */ package cn.techtiger.struts; import java.io.IOException; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; public class OnlineFilter extends HttpServlet implements javax.servlet.Filter { private static final long serialVersionUID = 1L; public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws ServletException, IOException { HttpServletRequest req = (HttpServletRequest) request; HttpServletResponse res = (HttpServletResponse) response; HttpSession session = req.getSession(); if (session.getAttribute("user") == null) { System.out.println("user has logged in."); res.sendRedirect("error.jsp"); return; } else { chain.doFilter(request, response); } } public void init(FilterConfig filterConfig) { System.out.println("OnlineFilter initialized."); } public void destroy() { System.out.println("OnlineFilter destroied"); } }
这是web.xml的配置 onlineFilter cn.techtiger.struts.OnlineFilter onlineFilter u_*.jsp 注意:url-pattern是匹配哪些url要通过这个filter过滤,目前配置就是验证以u_开头的.jsp文件。
这是几个测试的jsp文件 testFilter.jsp <%@ page pageEncoding="UTF-8" %> <% session.setAttribute("user","techtiger"); %> u_login.jsp <%@ page pageEncoding="UTF-8" %> 用户已经登录,所以可以看到此页面
用户退出后,再访问此页面就访问不到了,而是直接转向了error.jsp 在OnlineFilter.java中指定的。 exit.jsp <% session.removeAttribute("user"); response.sendRedirect("u_login.jsp"); %> error.jsp <%@ page pageEncoding="UTF-8" %> <% out.println("错误"); %>
测试的jsp文件,起始业testFilter.jsp,此页已经创建了session,所以当访问u_login.jsp时,通过了filter的过滤,点击退出,exit.jsp 删除掉了session attribute “user”(注意:exit.jsp不经过filter过滤),然后返回u_login.jsp,此时已经没有session attribute “user",所以filter把它跳转至error.jsp
使用Filter验证用户是否登陆,完整示例
/* 使用Filter进行用户信息验证等操作是个不错的选择。 这是OnlineFilter.java 初学者注意,这里用到的是javax.servlet.*,不包含在j2sdk里,需要从j2ee sdk中,或者$tomcat_home/lib/ 或者$resin_home/lib/下找到那个jar包。 */ package cn.techtiger.struts; import java.io.IOException; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; public class OnlineFilter extends HttpServlet implements javax.servlet.Filter { private static final long serialVersionUID = 1L; public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws ServletException, IOException { HttpServletRequest req = (HttpServletRequest) request; HttpServletResponse res = (HttpServletResponse) response; HttpSession session = req.getSession(); if (session.getAttribute("user") == null) { System.out.println("user has logged in."); res.sendRedirect("error.jsp"); return; } else { chain.doFilter(request, response); } } public void init(FilterConfig filterConfig) { System.out.println("OnlineFilter initialized."); } public void destroy() { System.out.println("OnlineFilter destroied"); } }
这是web.xml的配置
这是几个测试的jsp文件 testFilter.jsp <%@ page pageEncoding="UTF-8" %> <% session.setAttribute("user","techtiger"); %> u_login.jsp <%@ page pageEncoding="UTF-8" %> 用户已经登录,所以可以看到此页面
用户退出后,再访问此页面就访问不到了,而是直接转向了error.jsp 在OnlineFilter.java中指定的。 exit.jsp <% session.removeAttribute("user"); response.sendRedirect("u_login.jsp"); %> error.jsp <%@ page pageEncoding="UTF-8" %> <% out.println("错误"); %>
测试的jsp文件,起始业testFilter.jsp,此页已经创建了session,所以当访问u_login.jsp时,通过了filter的过滤,点击退出,exit.jsp 删除掉了session attribute “user”(注意:exit.jsp不经过filter过滤),然后返回u_login.jsp,此时已经没有session attribute “user",所以filter把它跳转至error.jsp
使用Filter验证用户是否登陆,完整示例1
Linux允许用户直接使用root账户登陆图形界面
用户登录验证方案
log4j使用示例
struts2 ckeditor 使用示例
asp制作用户登陆界面--
Ajax+jsp用户登陆例子
创建filter笔记1
实现用户注册验证码
web service开发的完整示例
使用 Windows CardSpace:示例情景
3G应用全面登陆用户体验精彩纷呈
asp制作用户登陆界面--龙二
php编写用户登陆和登出代码
修改Windows XP默认登陆用户
阿扁1991年曾登陆 是否也卖台?
Validator验证框架使用教程
Validator验证框架使用教程
如何验证软件是否满足最初设想
夫妻情侣风水学,验证是否准确?
VS2005使用OpenMP最简单示例
使用Digester解析XML文档示例
SSH设置-----允许个别用户登陆SSH - Linux学习网
案例写作示例1