`
box1106
  • 浏览: 14362 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

servlet利用filter实现登录过滤

阅读更多
servlet利用filter实现登录过滤
2008-03-22 15:16

登录过滤类loginFilter
------------------------------------------

package spell;
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.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

public class loginFilter extends HttpServlet implements Filter {
    
     private FilterConfig filterConfig;
//Handle the passed-in FilterConfig
     public void init(FilterConfig filterConfig) throws ServletException {
         this.filterConfig = filterConfig;
     }
//Process the request/response pair
     public void doFilter(ServletRequest request, ServletResponse response,
             FilterChain filterChain) {
         try {
                 HttpServletRequest req=(HttpServletRequest)request;
                 HttpServletResponse rsp=(HttpServletResponse)response;
                 HttpSession session=req.getSession(true);
                 String userName=(String)session.getAttribute("userName");
                 if(userName!=null)
                 {//验证通过
                      filterChain.doFilter(request, response);
                 }
                 else
                 {//验证不通过,取得设置的跳转页面参数
                     String noLogin=filterConfig.getInitParameter("noLogin");
                     rsp.sendRedirect(noLogin);
                 }
         } catch (Exception sx) {
             filterConfig.getServletContext().log(sx.getMessage());
         }
        
     }
    
//Clean up resources
     public void destroy() {
     }
    
     protected void doGet(HttpServletRequest arg0, HttpServletResponse arg1) throws ServletException, IOException {
// TODO Auto-generated method stub
         super.doGet(arg0, arg1);
     }
    
     protected void doPost(HttpServletRequest arg0, HttpServletResponse arg1) throws ServletException, IOException {
// TODO Auto-generated method stub
         super.doPost(arg0, arg1);
     }
}

web.xml配置
----------------------------

     <filter>
         <filter-name>loginFilter</filter-name>
         <filter-class>spell.loginFilter</filter-class>   <!--loginFilter对应的类名-->
         <init-param>
             <param-name>noLogin</param-name>
             <param-value>../strutsHtml.jsp</param-value> <!--没有登录跳转的页面-->
         </init-param>
     </filter>

     <filter-mapping>
         <filter-name>loginFilter</filter-name>   <!--选择loginFilter来验证登录-->
         <url-pattern>/member/*</url-pattern>   <!--配置member下的文件要求权限判断-->
     </filter-mapping>

分享到:
评论

相关推荐

    servlet里过滤器设置

    sevlet里设置过滤器,利用索引过滤不符合自己想要的url,达到重定向的目的

    5个Servlet过滤器实例源码(JSP)

    Servlet过滤器大全,各种详细使用的代码! 一、字符编码的过滤器 二、使浏览器不缓存页面的过滤器 三、检测用户是否登陆的过滤器 四、资源保护过滤器 五 利用Filter限制用户浏览权限

    web.xml详细说明

    用于 web.xml 配置详解。例如: &lt;display-name&gt;&lt;/display-name&gt;定义了WEB应用的...&lt;filter-mapping&gt;&lt;/filter-mapping&gt; 一旦命名了一个过滤器,就要利用filter-mapping元素把它与一个或多个servlet或JSP页面相关联。

    Web配置详解

    jsp的web.xml配置说明 Web.xml常用元素&lt;web-app&gt;&lt;display-name&gt;定义了WEB应用的名字...&lt;filter-mapping&gt;&lt;/filter-mapping&gt; 一旦命名了一个过滤器,就要利用filter-mapping元素把它与一个或多个servlet或JSP页面相关联。

    sitemesh导航框架示例

    利用sitemesh构架导航框架的示例,通过sitemesh模板统一导航栏

    名为责任链或者拦截器或者过滤器的简单模拟

    以及最早学习到的java web中的javax.servlet.Filter的概念, 都是一种链式的处理流程,这一个环节处理完成,然后处理另一个环节,这样就可以在一个处理本身的之前和之后做一些事情了。 比如说,struts2中Action在...

    基于JavaWEB的网上订餐系统设计与实现.zip

    其次本系统设计还使用 了 JSP技术、 JDBC技术、 JavaBean 技术、filter过滤器技术和MVC开发模式。 详细介绍参考:https://biyezuopin.blog.csdn.net/article/details/122449901?spm=1001.2014.3001.5502

    基于Java Web + MySQL实现的(Web)网上订餐系统【100010670】

    其次本系统设计还使用 了 JSP技术、 JDBC技术、 JavaBean 技术、filter过滤器技术和MVC开发模式。 本系统主要实现用户的网上订餐业务流程、用户注册、用户资料修改和管理员实现添加菜品相关信息,修改推销广告等。

    JSP利用过滤器解决request中文乱码问题

    本文为大家分享了JSP用过滤器解决request中文乱码问题,具体内容如下 ...读取参数时,很容易出现中文乱码现象。 (2)用过滤器解决request中文乱码...public class ChineseFilter implements Filter { //定义了一个过滤器

    基于Java Web+MySQL实现的网上订餐系统【100013048】

    其次本系统设计还使用 了 JSP技术、 JDBC技术、 JavaBean 技术、filter过滤器技术和MVC开发模式。 主要功能分别是:添加管理员、添加菜谱、添加推荐菜品、删除购物车订单、删除菜品、用户信息、下单信息、订单支付、...

    用户数据操作.rar

    动态网页项目,可实现用户注册、登录、增删改查用户信息数据。利用Oracle数据库,通过JDBC连接数据库,实现从前端到后端的连通。其中,添加了过滤器filter,汉字乱码过滤器和登录页面安全跳转过滤器。

    拦截器和控制器的区别

    2、拦截器不依赖于servlet容器,通过动态代理实现,过滤器依赖于servlet容器 3、拦截器在方法前后,异常前后等调用,而过滤器只能在请求前和请求后各调一次。 4、拦截器可以利用依赖注入,因此在spring框架程序中,...

    简易学习社交平台

    利用丰富的文章内容吸引用户注册登录评论文章,对于用户的请求,后台service业务层都有相对应的curd功能为用户提供服务,后台servlet逻辑层控制整个web应用的页面逻辑跳转功能,Filter过滤器过滤掉没有用户信息的...

    基于Java实现的Web服务器与测试工具开发.zip

    3)对每次网页请求都进行过滤(filter)。 4)支持request、response的跳转请求。 5)可维持一个客户端与服务器间的会话(session)。 (2)客户端模拟器: 1)通过输入端口连接Web服务器,完成交互。 2)支持get方法的...

    Java防止xss攻击附相关文件下载

    首先说一下思路,防止这种类似于注入攻击,就是使用拦截器(Filter)处理特殊字符或过滤特殊字符 今天介绍一个方法,利用覆盖Servlet的getParameter方法达到处理特殊字符的目的来解决(防止)Xss攻击 web.xml,需要的...

    Java Web编程宝典-十年典藏版.pdf.part2(共2个)

    8.8.1 Struts Prepare And Execute Filter过滤器 8.8.2 struts.xml文件配置出错 8.9 精彩回顾 第9章 庖丁解牛 ——揭密Struts2高级技术 9.1 本章学习任务 9.1.1 本章知识体系 9.1.2 实例开发任务 9.2 OGNL表达式...

    动态JSP页生成静态HTML的方法

    利用Filter的过滤功能把*.jsp过滤出来,判断是否存在对应的.html文件,如果不存在对应的.html文件,则将其内容读出写入指定的.html文件,再跳转到对应的.html即可。如果存在对应的.html文件,则直接跳转到对应的....

    hrrs:在Java EE和Spring应用程序中记录,转换和重播HTTP请求

    本质上,HRRS捆绑了用于记录的servlet过滤器( hrrs-servlet-filter )和用于转换( hrrs-distiller )和重放( hrrs-replayer )请求的独立命令行Java应用程序。目录(设置Spring Web应用程序,运行蒸馏器和重播器...

    J2EE面试题

    d) Filter可以用来处理统一认证,过滤不雅字句等。 参考答案 c,d 14) 会话Bean的状态的说法正确的有(a)。 a) 有状态会话Bean的状态是借助于序列化保存下来的 b) 有状态会话Bean被激活后会恢复挂起前的状态 c...

    处理Java的ssh集成中的中文乱码问题

    简单,易懂,利用过滤器和请求处理器来解决项目中的中文乱码问题

Global site tag (gtag.js) - Google Analytics