`
白浪滔天
  • 浏览: 88433 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

一个简单的Filter

    博客分类:
  • java
阅读更多

一个简单的Filter例子.

/**
 * Description: Filter.
 *
 * Created on:2007-9-25 上午8:41:23
 *
 * @author Lzs
 *
 * @version 1.0
 */
public class LzsFilter implements Filter {

 private FilterConfig fConfig;

 private String reidrect;

 private String enable;

 private String ignore;

 private String[] ign;

 public void destroy() {
  fConfig = null;
  reidrect = null;
  enable = null;
  ignore = null;
 }

 public void doFilter(ServletRequest arg0, ServletResponse arg1,
   FilterChain arg2) throws IOException, ServletException {

  HttpServletRequest request = (HttpServletRequest) arg0;
  User user = (User) request.getSession()
    .getAttribute(Constants.USER_KEY);
  boolean ttt=false;
  // 配置过滤器的有效性
  if ("true".equalsIgnoreCase(enable)) {
   if (user == null) {
    for (int i = 0; i < ign.length; i++) {
     if (ign[i].equalsIgnoreCase(request.getServletPath())) {
      arg2.doFilter(arg0, arg1);
        ttt=true;
      break;
     }
    }
    if(!ttt){
     RequestDispatcher rd=null;
     rd=request.getRequestDispatcher(reidrect);
     rd.forward(arg0, arg1);
    }else{
     arg2.doFilter(arg0, arg1);
    }
    
   } else {
    arg2.doFilter(arg0, arg1);
   }
  } else {
   arg2.doFilter(arg0, arg1);
  }

 }

 public void init(FilterConfig arg0) throws ServletException {

  fConfig = arg0;
  reidrect = fConfig.getInitParameter("redirect");
  enable = fConfig.getInitParameter("enable");
  ignore = fConfig.getInitParameter("ignore");
  StringTokenizer token = new StringTokenizer(ignore, ",");
  ign = new String[token.countTokens()];
  int i = 0;
  while (token.hasMoreElements()) {
   ign[i++] = (String)token.nextElement();
  }

 }

}

web.xml配置信息如下:

<!----><!----><!---->      <filter>
 <filter-name>LzsFilter</filter-name>
 <filter-class>com.nokia.smp.acms.web.filter.LzsFilter</filter-class>
 <init-param>
  <param-name>redirect</param-name>
  <param-value>/logon.jsp</param-value>
 </init-param>
 <init-param>
  <param-name>ignore</param-name>
  <param-value>/logon.jsp,/logon.do</param-value>
 </init-param>
 <init-param>
  <param-name>enable</param-name>
  <param-value>true</param-value>
 </init-param>
  </filter>
  <filter-mapping>
      <filter-name>LzsFilter</filter-name>
      <url-pattern>/*</url-pattern>
  </filter-mapping>   

 

分享到:
评论
2 楼 wangshu3000 2007-10-10  
 :lol: Filter是什么?
1 楼 白浪滔天 2007-09-29  
粘贴xml文件的时候,为什么他把< 和>标记自动去了呢?

相关推荐

    开发一个简单filter的例子

    ### 开发一个简单filter的例子 #### 背景与目的 对于DirectShow(DShow)初学者来说,能够动手开发一个简单的filter是非常重要的一步。它不仅有助于理解filter的基本结构,还能帮助开发者熟悉DirectShow的工作原理...

    如何创建一个简单的Filter

    如何创建一个简单的Filter

    filter solutions 简易教程

    Filter Solutions 简易教程 Filter Solutions 是一种滤波器设计软件,旨在帮助用户快速设计和实现滤波器电路。下面是 filter solutions 简易教程的知识点总结: 一、Filter Solutions 软件简介 * Filter ...

    一个翻转图像的Transform Filter

    在这个特定的案例中,我们关注的是一个实现图像翻转功能的Transform Filter,标题为"一个翻转图像的Transform Filter"。这个滤镜是基于DirectX(Dx)技术,因此,标签“Filter Dx”表明它是利用DirectX API来处理...

    filter 简单小例子,入门例子

    本文将深入讲解Filter的基本使用,通过一个简单的入门例子来帮助理解其工作原理。 首先,让我们了解什么是Filter。在Servlet规范中,Filter是一个接口,它允许开发者在请求到达目标Servlet或JSP之前对其进行拦截,...

    简单的servlet+Filter的例子

    回到主题,"简单的servlet+Filter的例子"可能涉及到一个简单的应用场景,比如登录验证。在用户尝试访问受保护的资源(如Servlet)之前,Filter会检查请求中是否携带了有效的session信息。如果没有,Filter会重定向...

    简单的directshwo filter实例代码

    每个Filter由多个Pin(端口)连接,形成一个数据流处理的图,称为Filter Graph。Filters之间的Pin通过连接传递数据,构建出媒体流处理的路径。 在"dsfiltersrc"这个例子中,我们可能看到的是一个Source Filter的...

    Search & Filter 是一个简单的 WordPress搜索和过滤插件_PHP

    Search & Filter 是一个简单的 WordPress 搜索和过滤插件。 它是 WordPress 搜索框的进步,添加了分类过滤器以真正优化您的搜索! 您可以轻松地按类别、标签、自定义分类法或这些的任意组合进行搜索 - 您甚至可以...

    JSP-Filter的简单练习

    下面是一个简单的Filter示例: ```java import javax.servlet.*; import java.io.IOException; public class MyFilter implements Filter { @Override public void init(FilterConfig filterConfig) throws ...

    cors-filter-2.5.jar

    例如,以下是一个简单的配置示例: ```xml &lt;filter&gt; &lt;filter-name&gt;CORS&lt;/filter-name&gt; &lt;filter-class&gt;com.thetransactioncompany.cors.CORSFilter&lt;/filter-class&gt; &lt;param-name&gt;cors.allowGenericHttpRequests ...

    FilterBuilder过滤器

    在IT领域,尤其是在Web开发中,`FilterBuilder`是一个重要的工具,它允许用户构建自定义的查询和过滤条件,以动态地筛选数据。这个组件通常用于数据量大、需要复杂查询逻辑的应用场景,如数据分析、报表展示或者管理...

    简单使用Filter模拟Servlet中的过滤器

    虽然描述部分为空,但我们可以从标题推测,博主可能详细讲解了如何创建一个基本的Filter类,实现Filter接口,并覆盖doFilter方法,这个方法是Filter的核心,它接受ServletRequest和ServletResponse对象作为参数,...

    Datagrid-filter插件

    `Datagrid-filter`插件正是针对这种需求设计的,它是一个高效且实用的Grid插件,旨在提升数据网格的可操作性和用户交互性。这个插件的核心功能是为每一列提供过滤条件,使得用户能够快速筛选出所需的信息,极大地...

    cors-filter-1.7.jar,cors-filter-2.5.jar,cors-filter-2.10.jar

    在IT行业中,尤其是在Web开发领域,跨域资源共享(CORS,Cross-Origin Resource Sharing)是一个重要的概念,它允许浏览器向不同的源(域名、协议或端口)发送Ajax请求,以突破同源策略的限制。Tomcat作为一款广泛...

    java 中如何使用filter过滤器

    例如,我们可以编写一个简单的登录检查过滤器: ```java import javax.servlet.*; import java.io.IOException; public class LoginCheckFilter implements Filter { @Override public void init(FilterConfig ...

    Filter的使用的demo

    以下是一个简单的`Filter`使用示例: ```java public class MyAdapter extends BaseAdapter implements Filterable { private List&lt;MyData&gt; originalList; // 原始数据 private List&lt;MyData&gt; filteredList; // ...

    jquery.multiselect.filter

    总结,"jQuery Multiselect Filter"插件是一个实用的前端工具,通过简单的配置,就能为多选下拉框增加高效、友好的筛选功能。对于那些需要处理大量选项的场景,它无疑能显著提升用户的操作体验。在实际项目中,...

    java中的filter

    下面是一个简单的登录检查`Filter`实现: ```java public class LoginFilter implements Filter { @Override public void init(FilterConfig filterConfig) throws ServletException {} @Override public ...

    securityfilter简单例子

    本示例"securityfilter简单例子"提供了一个简化的安全过滤器应用,适用于中小型网站的基础安全需求。 **一、SecurityFilter的工作原理** 1. **Filter接口**:在Servlet API中,Filter接口定义了三个核心方法:`...

    一个简易新闻管理系统。使用了jsp、db、servlet、filter等.zip

    本项目“一个简易新闻管理系统”就是这样一个典型的应用实例,它结合了JSP、Servlet、Filter以及MySQL数据库,为初学者提供了很好的学习材料,同时也是毕业设计或课程设计的理想选择。 首先,让我们了解一下JSP...

Global site tag (gtag.js) - Google Analytics