菜鸟的飞翔

水的清澈,并非因为它不含杂质,而是在于自我沉淀;心的通透,不是因为没有杂念,而是在于明白取舍。 ...

jsp&servlet编码问题解决方法

在Java Web项目中总会遇到编码格式问题,在JSP/Servlet与浏览器传输数据时,处理编码格式的方式通常是设置request对象和response对象的编码格式。然而,一个项目中有很多个JSP/Servlet,在每个JSP/Servlet中分别对request对象和response对象进行编码格式的设置是一件非常麻烦的事情,于是我们想能不能把对于request对象和response对象编码格式的设置统一起来做。
用过滤器解决统一设置编码格式的问题

    定义一个过滤器类CharacterEncodingFilter


    package com.ftx.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 {

        protected FilterConfig filterConfig = null;
        protected String encoding = "";

        public void init(FilterConfig filterConfig) throws ServletException {
            this.filterConfig = filterConfig;
            this.encoding = filterConfig.getInitParameter("encoding");
        }
        public void doFilter(ServletRequest request, ServletResponse response,
                FilterChain chain) throws IOException, ServletException {

            request.setCharacterEncoding(this.encoding);
            response.setCharacterEncoding(this.encoding);
            response.setContentType("text/html;charset="+this.encoding);

            chain.doFilter(request, response);
        }
        public void destroy() {
            this.encoding = null;
            this.filterConfig = null;
        }
    }
  在项目配置文件web.xml中添加过滤器的配置信息

  <filter>
            <description>CharacterEncodingFilter</description>
            <display-name>CharacterEncodingFilter</display-name>
            <filter-name>CharacterEncodingFilter</filter-name>
            <filter-class>
                org.zeroup.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>

此例将当前项目中所有request和response对象字符编码格式全部设置为utf-8,同时浏览器端读取和发送数据的编码格式也自动设定为utf-8。




阅读更多
文章标签: jsp
个人分类: JAVA EE
上一篇hibernate_初步学习,完整例子
下一篇Java基础一
想对作者说点什么? 我来说一句

JSPServlet 中的汉字编码问题

2011年06月22日 56KB 下载

《Jsp&Servlet学习笔记 第二版》源码

2014年12月25日 44.27MB 下载

jsp&servlet学习笔记(第2版)光盘

2016年11月07日 450.6MB 下载

jsp&servlet学习笔记_第2版_光盘

2013年07月04日 45.61MB 下载

JSP&Servlet学习笔记(第2版)和源码

2016年09月01日 48.5MB 下载

没有更多推荐了,返回首页

关闭
关闭