下面是JavaWeb工程中的web.xml配置
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <filter> <filter-name>EncodingFilter</filter-name> <filter-class>com.jadyer.Filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>EncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> </web-app>
下面是用于设定表单传输参数编码的过滤器CharacterEncodingFilter.java
package com.jadyer.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 CharacterEncodingFilter implements Filter { private String encoding = "ISO8859_1"; /** * 当过滤器对象被销毁的时候,由Web容器调用该方法 * @see 该方法主要用来释放过滤器对象所占用的资源 */ public void destroy() {} /** * 由Web容器在刚生成过滤器对象的时候进行调用,主要用来完成对过滤器的初始化工作 * @see 该方法接收一个FilterConfig类型的参数,通过该参数以获得有关当前过滤器的信息 * @see 例如:调用FilterConfig的getFilterName()方法可以获得过滤器的名字 * @see 例如:调用getServletContext()方法可以获得当前的ServletContext对象 * @see 这里主要是用来读取web.xml中设定的<param-name>encoding</param-name>的值 */ public void init(FilterConfig config) throws ServletException { encoding = config.getInitParameter("encoding"); } /** * doFilter()方法是Filter接口中最核心的方法,完成过滤器的过滤功能 * @see FilterChain类型的对象是保存多个过滤器执行顺序的对象 * @see 一个Web应用中可以有多个过滤器,这些过滤器就像珠子被线串在了一起 * @see 调用时,是一个接着一个进行调用的,调用顺序是按照过滤器在web.xml中声明的先后顺序 * @see 通过调用FilterChain对象的doFilter()方法,可以调用下一个过滤器的doFilter()方法 * @see 如果下一个过滤器是最后一个,则调用客户端所请求的Servlet、JSP或者其它文件 */ public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { request.setCharacterEncoding(encoding); //设定表单参数编码方式 chain.doFilter(request, response); } }
字符过滤器:
CharFilter.java
package servlet; import java.io.IOException; import java.util.Enumeration; 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 CharFilter implements Filter { public void destroy() { System.out.println("aaaaaaaaaa"); } public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { String content = request.getParameter("text"); if (content != null) { if (content.indexOf("AAA") == -1) { chain.doFilter(request, response); } else { System.out.println("有非法文字"); } } else { chain.doFilter(request, response); } } public void init(FilterConfig filterConfig) throws ServletException { String charset = filterConfig.getInitParameter("charset"); System.out.println(charset); Enumeration<String> servletName = filterConfig.getInitParameterNames(); while (servletName.hasMoreElements()) { String object = (String) servletName.nextElement(); System.out.println(object + "=" + filterConfig.getInitParameter(object)); } } }
web.xml配置
<filter> <filter-name>char</filter-name> <filter-class>servlet.CharFilter</filter-class> <init-param> <param-name>charset</param-name> <param-value>gbk</param-value> </init-param> <init-param> <param-name>it</param-name> <param-value>hope</param-value> </init-param> </filter> <filter-mapping> <filter-name>char</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
相关推荐
servlet过滤器实例经典过滤器,手把手交你配置过滤器,五大常用过滤器源码,走过路过的同事们注意了!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
servlet过滤器实例代码,需要的来下载
这是Servlet过滤器的初始化方法,Servlet容器创建Servlet过滤器实例后将调用这个方法。在这个方法中可以读取web.xml文件中Servlet过滤器的初始化参数。 b、doFilter(ServletRequest,ServletResponse,FilterChain)...
Servlet过滤器大全,各种详细使用的代码! 一、字符编码的过滤器 二、使浏览器不缓存页面的过滤器 三、检测用户是否登陆的过滤器 四、资源保护过滤器 五 利用Filter限制用户浏览权限
比较好也比较常见的方法是用专门的servlet过滤器进行过滤。java中有个Filter类专门从事这类工作,下面以一个简单的实例进行演示: 实例说明:假设有一个web应用软件,如果是正常途径登录,我们会在其session中放入...
servlet,filter,过滤器技术servlet,filter,过滤器技术
servlet过滤器配置及运行过程,servlet实例用法。
Servlet过滤器的原理,以及具体使用方法,具体实例
servlet的过滤器,完成必须登录,才能访问资源,简单易懂
主要介绍了JSP使用Servlet过滤器进行身份验证的方法,结合实例形式分析了Servlet过滤器的实现方法及jsp身份验证的具体使用技巧,需要的朋友可以参考下
本文实例讲述了jsp filter 过滤器功能与简单用法。分享给大家供大家参考,具体如下: 过滤器的作用是什么? 过滤器可以动态地拦截请求和响应,以变换或使用包含在请求或响应中的信息。 可以将一个或多个过滤器附加到...
我刚刚学java的时候到处找登录注册的例子都找不到,现在懂了写个实例分享给大家吧!
MVC:Model View Controller ...Servlet过滤器(filter):能够在一个Request到达servlet之前预处理request,也可以在离开servlet时处理response Servlet监听器:给web中的各种操作绑定事件,并对事件进行处理
Servlet介绍 Servlet常用的接口 Servlet的配置 Servlet过滤器 Servlet容器安全和身份验证 Servlet图像处理 Servlet应用实例——投票模块
20.5 对用户进行统一验证的过滤器 594 20.6 对请求和响应数据进行替换的 20.6 过滤器 600 20.7 小结 609 第21章 中文乱码问题与国际化 610 21.1 中文乱码问题产生的由来 610 21.1.1 常用字符集 610 21.1.2 对...
20.5 对用户进行统一验证的过滤器 594 20.6 对请求和响应数据进行替换的 20.6 过滤器 600 20.7 小结 609 第21章 中文乱码问题与国际化 610 21.1 中文乱码问题产生的由来 610 21.1.1 常用字符集 610 21.1.2 对...
Servlet对Cookie和Session的管理:会话跟踪、会话浏览、过滤器、事件监听、以及不依赖浏览器的后台跟踪和浏览源码。
20.5 对用户进行统一验证的过滤器 594 20.6 对请求和响应数据进行替换的 20.6 过滤器 600 20.7 小结 609 第21章 中文乱码问题与国际化 610 21.1 中文乱码问题产生的由来 610 21.1.1 常用字符集 610 21.1.2 对...
JSP+servlet+javabean学习 里面有PDF文件对该章节的详细讲解,培训老师才讲的到的,非常详细......资源内容如下: JavaWeb02-request与response.rar JavaWeb03-会话跟踪cookie与...JavaWeb13-过滤器与监听器.rar