`
denyx123
  • 浏览: 42416 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

Filter过滤器的简单实用与学习

阅读更多
Eclipse 中不可以直接创建过滤器 这给我们的编码造成了困难,过滤器的作用最普遍的是过滤中文乱码。

现在向大家介绍我如何在Eclipse中建立 中文过滤器的。

首先大家先把Web项目建立好 例如 我的项目名为:FilterDemo

项目建立完成 现在开始建立 filter

点击 File(文件)-> new(新建) -> Class(类文件)

这时候会出现一个建立类文件的对话框

包路径 package:后面的文本框中填写 例如: com.company.filterDemo.biz.filter

类文件名 name:文本框中填写 例如 CharSetFilter

接口 interfaces:列表框旁边有一个 add的按钮 关键就在这里 点击 add 按钮 会出现一个新的对话框 让我们选择接口

Choose  interfaces (选择接口)
其下方 输入 filter 下面会列出所有与filter 相关的接口
这里我们选择 Filter - javax.servlet  然后点击OK  然后Finish完成 这时候我们的Filter的构造 如下:

package com.company.filterDemo.biz.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;

public class CharSetFilter implements Filter {
//释放
public void destroy() {
  // TODO Auto-generated method stub
}
//执行Filter
public void doFilter(ServletRequest arg0, ServletResponse arg1,
   FilterChain arg2) throws IOException, ServletException {
  // TODO Auto-generated method stub
  arg0.setCharacterEncoding("GBK");
  arg1.doFilter(request,response);
}
//初始化
public void init(FilterConfig config) throws ServletException {
  // TODO Auto-generated method stub
}
}

是不是发现以上代码 和我们在Jbuilder2006中自动生成的有一些区别呢。没关系我们改动一下 你看看有什么不一样。

package com.accp.car.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;
public class CharSetFilter implements Filter {
//初始化
public void init(FilterConfig config) throws ServletException {
  // TODO Auto-generated method stub
}
//执行Filter
public void doFilter(ServletRequest request, ServletResponse response,
   FilterChain chain) throws IOException, ServletException {
  // TODO Auto-generated method stub
  request.setCharacterEncoding("GBK");
  chain.doFilter(request,response);
}
//释放
public void destroy() {
  // TODO Auto-generated method stub
}

}

好了 Filter的代码文件我们是建立好了 但是现在我们的这个代码还是不起作用的 关键是要在 WEB-INF\web.xml
中添加配置。

配置如下:

  <filter>
  <filter-name>CharSetFilter</filter-name>    //类名
  <filter-class>com.company.filterDemo.biz.filter.CharSetFilter</filter-class>//代码文件所在的包的完整路径
  </filter>

  <filter-mapping >
  <filter-name>CharSetFilter</filter-name>  //类名 这个名要跟上面的类名保持一致
  <url-pattern>/*</url-pattern>  //这里的路径/*代表过滤所有页面。
  </filter-mapping>

切忌 如果发现有时页面的乱码并没有正确转换的话 你一定要保证 filter配置信息在所有servlet配置的上面。
因为 web.xml的读取机制是从上到下读取的所以要保证 filter最先读取 才能启动中文过滤的作用。

第一次接触filter
我想做的是用filter保护界面,而这个例子是解决编码
感觉差不多吧。当做一个例子学习,很好!
在此基础之上,如果你有兴趣,也可以把它改成一个保护页面的filter!
分享到:
评论

相关推荐

    Servlet过滤器的简单使用源码+文档

    通过这个简单的登录示例,你可以学习到如何利用Servlet过滤器检查用户登录状态,确保只有已登录的用户才能访问特定的受保护资源。过滤器提供了一种灵活的方式来增强应用程序的功能,无需修改原有的Servlet代码,对于...

    Go-一个简单的golang布隆过滤器

    你可以通过开源项目`bloomfilter-master`进一步学习Go语言实现布隆过滤器的具体代码,这将帮助理解其实现细节和优化技巧。 总之,Go语言的布隆过滤器是一种实用的数据结构,尤其在大数据场景下,它以牺牲一定的...

    简单过滤器的解决非法文字功能

    总结来说,这个“简单过滤器的解决非法文字功能”是一个实用的工具,它通过识别和处理非法字符,保护了系统的安全,提升了用户体验。对于初学者来说,这是一个很好的学习案例,可以深入理解字符串处理、正则表达式...

    javaweb的过滤器类的简单使用

    本篇文章将详细介绍如何在Java Web应用中使用过滤器,这对于初学者来说是非常基础且实用的知识。 一、过滤器的概念与作用 过滤器是Java Servlet规范的一部分,定义在`javax.servlet.Filter`接口中。它的主要任务是...

    过滤器--控制不同权限用户访问不同文件夹代码.rar

    总结来说,"过滤器--控制不同权限用户访问不同文件夹代码.rar"是一个实用的示例,它展示了如何使用Java Servlet过滤器技术实现精细的权限控制,确保不同权限级别的用户只能访问其被授权的资源。这样的功能对于保护...

    03过滤器增删搜索关键字 2_过滤_DEMO_seauzi_

    在Vue.js框架中,过滤器(Filter)是一种强大的工具,用于在模板中处理和转换数据。这个DEMO,"03过滤器增删搜索关键字 2_过滤_DEMO_seauzi_",着重展示了如何利用Vue的过滤器功能来实现关键词搜索功能,帮助用户在...

    无意间发现的sturts过滤器

    标题中的“无意间发现的Struts过滤器”揭示了Struts框架中过滤器的实用性和可能被忽视的重要性。过滤器在Web应用中主要负责拦截HTTP请求和响应,对数据进行预处理或者后处理,以实现特定的功能,如字符编码转换、...

    Laravel开发-laravel-eloquent-filter

    总结起来,`laravel-eloquent-filter`是Laravel开发中的一个实用工具,它通过提供可复用的过滤器,简化了基于用户输入的复杂查询。通过良好的设计和组织,这个库帮助开发者保持代码整洁,提高开发效率,尤其适用于...

    前端项目-angular-filter.zip

    这些过滤器的源代码会提供实现细节,开发者可以通过阅读和学习来了解如何自定义过滤器以及如何在自己的项目中复用和扩展。此外,这些过滤器不依赖于任何外部库,这意味着它们轻量且易于集成,对于那些希望保持项目...

    baidu-web-filter.rar_网页 过滤

    【描述】:“2007年百度程序设计大赛Astar初赛题,实习生小胖的百度网页过滤器,老师给我选的软件工程课程设计,其实只是一个简单的程序。基础比较好的朋友可以参考,基础一般的可以学学。” 这段描述提供了更多...

    Laravel开发-modelfilter

    在`modelfilter-master`这个压缩包中,可能包含了这个过滤器类的实现以及其他相关的示例代码,如控制器、视图和路由设置。学习这个项目可以帮助你深入理解如何在Laravel中有效地实施数据过滤。 总的来说,`Laravel...

    JSP初学非常实用的例子,完整的jsp项目:完整系统结构,具有登陆、注册、数据库的增、删,并且采用过滤器

    通过这个项目,学习者可以深入理解JSP如何与数据库交互,以及如何利用过滤器增强安全性,这对于理解和掌握Web开发基础至关重要。同时,无须外部数据库的特性使其成为一个理想的自学工具,简化了学习流程,便于快速...

    ASP.NET Core 过滤器中使用依赖注入知识点总结

    在本文中,我们将针对*** Core过滤器中使用依赖注入的知识点进行深入探讨,并提供一些实用的指导。 首先,我们需要了解什么是依赖注入(Dependency Injection,简称DI)。在软件工程中,依赖注入是一种实现控制反转...

    一个实用的DirectShow实例

    学习这个实例,你可以了解到如何初始化Filter Graph Manager,创建过滤图,添加和连接过滤器,以及处理播放事件。这将为你进一步探索DirectShow的高级功能,如实时捕获、流媒体处理、格式转换等打下坚实的基础。通过...

    j2ee:servlet练习短信项目,包含过滤器的使用、EL表达式和JSTL标准标签库的使用

    这个项目不仅涉及到Servlet的编程,还涉及到过滤器(Filter)的使用,以及Expression Language (EL) 和JavaServer Pages Standard Tag Library (JSTL)的运用。下面将分别详细阐述这些知识点。 1. **Servlet**: ...

    Angular-CSVtoJSON-Filter:CSV到JSON的快速角度过滤器

    但如果你的CSV数据结构简单,这个Angular过滤器将是一个快速且实用的解决方案。 总的来说,“Angular-CSVtoJSON-Filter”提供了一种在AngularJS环境中便捷处理CSV数据的方式,简化了前端开发过程,提高了工作效率。...

    Spam-Filter:Java中的朴素贝叶斯垃圾邮件过滤器

    《Java中的朴素贝叶斯垃圾邮件过滤器:Spam-Filter实现详解》 在信息技术领域,垃圾邮件过滤是一项至关重要的任务,它可以帮助用户避免不必要的干扰,提高工作效率。本篇文章将深入探讨如何使用Java编程语言实现一...

    directshow视频播放器

    在这个"DirectShow视频播放器"示例中,我们可以看到一个简单且实用的实现,适合开发人员进行学习和参考。 首先,DirectShow的核心概念是过滤器(Filter)。过滤器分为多种类型,如源过滤器、解码过滤器、渲染过滤器...

    VC开发播放器 简单实用

    开发人员可以通过创建Filter Graph来实现播放、录制等功能,每个Filter代表了处理媒体数据的不同阶段,如源过滤器、解码过滤器和渲染过滤器。 2. **Media Foundation**:Media Foundation API为现代Windows系统提供...

Global site tag (gtag.js) - Google Analytics