文档章节

jsp_filter 编码 过滤器

李茂冉
 李茂冉
发布于 2016/05/17 03:26
字数 293
阅读 3
收藏 0

「深度学习福利」大神带你进阶工程师,立即查看>>>

##字符集过滤器

public class CharacterEncodingFilter implements Filter {   
    private String edcoding=null;   
    private FilterConfig filterConfig=null;   
    private boolean ignore=true;   

    public void destroy() {   
         edcoding=null;   
         filterConfig=null;   
    }   

    public void doFilter(ServletRequest request, ServletResponse response,   
            FilterChain filterChain) throws IOException, ServletException {   
        if(ignore==true||request.getCharacterEncoding()==null){   
            String encoding=setCharacterEncoding(request);   
              if(encoding!=null){   
                request.setCharacterEncoding(encoding);   

                }   
        }   
          filterChain.doFilter(request, response);   
    }   

    public void init(FilterConfig filterConfig) throws ServletException {   
        this.filterConfig=filterConfig;   
        this.edcoding=filterConfig.getInitParameter("encoding");   
        String value=filterConfig.getInitParameter("ignore");   
        if(value==null){   
            this.ignore=true;   
        }else if(value.equalsIgnoreCase("true")){   
            this.ignore=true;   

        }else{   
            this.ignore=false;   
        }   

    }   
    public String setCharacterEncoding(ServletRequest request){   
        return this.edcoding;   
    }   
}   

##web.xml中加以下代码

<filter>  
        <filter-name>CharacterEncodingFilter</filter-name>  
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>  
        <init-param>  
            <param-name>encoding</param-name>  
            <param-value>UTF-8</param-value>  
        </init-param>  
    </filter>  
    <filter-mapping>  
        <filter-name>CharacterEncodingFilter</filter-name>  
        <url-pattern>/*</url-pattern>  
    </filter-mapping> 

###完整示例:

package dw05prj.util.filter; 
import javax.servlet.Filter; 
import javax.servlet.FilterConfig; 
import javax.servlet.ServletException; 
import javax.servlet.ServletRequest; 
import javax.servlet.ServletResponse; 
import javax.servlet.FilterChain; 
import java.io.IOException; 
/*页面字符集过滤流*/ 
/* 
在web.xml中配制的例子 
<filter> 
<filter-name>CharEncodingFilter</filter-name> 
<filter-class>dw05prj.util.filter.CharEncodingFilter</filter-class> 
<init-param> 
<param-name>charset</param-name> 
<param-value>GBK</param-value> 
</init-param> 
</filter> 
<filter-mapping> 
<filter-name>CharEncodingFilter</filter-name> 
<url-pattern>/*</url-pattern> 
</filter-mapping> 
*/ 
public class CharEncodingFilter implements Filter { 
    private String charSet ; 
    public void init(FilterConfig parm1) throws ServletException { 
        charSet = parm1.getInitParameter("charset") ; 
        if (charSet == null && charSet.length() < 1)  { 
            charSet = "UTF-8" ; 
        } 
        System.out.println ("CharEncodingFilter--字符集: " + this.getCharSet()) ; 
    } 

    public void doFilter(ServletRequest parm1, ServletResponse parm2,  FilterChain parm3)  throws IOException, ServletException { 
        // 设定字符集 
        parm1.setCharacterEncoding(this.getCharSet()); 
        parm3.doFilter(parm1, parm2); 
        //页面中每个向服务器的请求都被过滤 -- 如 图片,js,HTML/JSP等等 
        //System.out.println ("---CharEncodingFilter: " + this.getCharSet()) ; 
    } 
    public void destroy() { 
        this.setCharSet(null) ; 
    } 
    public void setCharSet(String charSet) { 
        this.charSet = charSet; 
    } 
    public String getCharSet() { 
    return (this.charSet); 
    } 
}
李茂冉
粉丝 6
博文 103
码字总数 59256
作品 0
东城
高级程序员
私信 提问
加载中
请先登录后再评论。
访问安全控制解决方案

本文是《轻量级 Java Web 框架架构设计》的系列博文。 今天想和大家简单的分享一下,在 Smart 中是如何做到访问安全控制的。也就是说,当没有登录或 Session 过期时所做的操作,会自动退回到...

黄勇
2013/11/03
3.5K
8
Nutch学习笔记4-Nutch 1.7 的 索引篇 ElasticSearch

上一篇讲解了爬取和分析的流程,很重要的收获就是: 解析过程中,会根据页面的ContentType获得一系列的注册解析器, 依次调用每个解析器,当其中一个解析成功后就返回,否则继续执行下一个解...

强子哥哥
2014/06/26
712
0
mvc框架--Razor

Razor 是一个轻巧而优雅的servlet mvc框架 # 又一个轮子? no,写就她是为了证实我个人的某些想法,并在这个过程中练练手,这两种冲动碰撞在一起,自然而然地产生了Razor # Razor的现在和未来...

dtubest
2013/01/25
3.1K
0
自定义表单系统--FormDesign

是基于 FLEX 开发的一款B/S的自定义表单系统 整个过程如下: 1、通过FormDesign自定义表单画出相应的表单; 2、将生成好的XML放到程序中,并通过后台自动编译成JSP; 注:FormDesing只是自定...

polliwog
2013/03/29
1.6W
1
JBoss 事务服务--Narayana

JBoss 事务服务(JBossTS 也叫 Narayana )保护企业数据破坏,保证数据完整、准确。为基于Java的应用程序(包括那些写给JEE和EJB框架)从而消除风险和相关成本非常耗时的和解失败后。...

匿名
2012/11/04
1.3K
0

没有更多内容

加载失败,请刷新页面

加载更多

MySQL索引相关

一、索引分类 1、单列索引 1.1、主键索引(不能包含空值) 1.2、唯一索引(可以包含kong'zhi) 1.3、普通索引 2、多列索引 2.1、组合索引 3、全文索引 3.1、全文索引只针对大文本字段有效,比如:...

城里的月光
40分钟前
21
0
二级分销的理解

人人商城分销定义 例如: 分销商:A、B、C、D、E 群体1:A是B的上级分销商,B是C的上级分销商,C是D的上级分销商,则他们分销层级是:A是一级分销商,B是二级分销商,C是三级分销商 群体2:B...

红翼网
43分钟前
6
0
HBase/TiDB都在用的数据结构:LSM Tree,不得了解一下?

LSM Tree(Log-structured merge-tree)广泛应用在HBase,TiDB等诸多数据库和存储引擎上,我们先来看一下它的一些应用: 这么牛X的名单,你不想了解下LSM Tree吗?装X之前,我们先来了解一些...

Monica2333
44分钟前
16
0
Linux下如何高效切换目录?

Linux 下对于目录的切换,大家肯定会想到一个命令:cd 命令。这个是 Linux 下再基本不过的命令,如果这个命令都不知道的话,赶紧剖腹自尽去吧。 cd 命令确实很方便,但如果需要频繁在下面的目...

良许Linux
47分钟前
27
0
限流算法

1 计数算法 2 滑动窗口 (可以解决计数算法 临界线 QPS超过限流问题) 3 漏桶算法 4 令牌桶算法

yzzzzzzzz
51分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部