tomcat中文问题--过滤器

2016-02-19 14:31 27 1 收藏

今天图老师小编要向大家分享个tomcat中文问题--过滤器教程,过程简单易学,相信聪明的你一定能轻松get!

【 tulaoshi.com - 编程语言 】

 

  转载请注明:http://www.csdn.net/develop/article/17/17204.shtm

  作者:ggyy1977@hotmail.com   

                                     使用filter来改变request的编码

  在前面的文章里面,我们讨论了在tomcat下的jsp和servlet的字符编码问题!

  知道当没有指定request的编码的时候,从客户端得到的数据是iso-8859-1编码的(request.getParameter()得到传递的参数值);

  但是我们怎么来改变request的编码呢?

  方法有很多种!

   比如:在getRequestDispatcher("/jsp/jsptoserv/hello.jsp").forward(request, response);之前修改

  request的编码,那么在jsp/jsptoserv/hello.jsp中得到的参数值就是制定的编码的字符。

  本文我们使用Filter来修改request的编码!

   

  1)首先编写filter类:

  package myFilter;

  
  import Java.io.IOException;
  import javax.servlet.*;
  

  public class ChangeCharsetFilter implements Filter {

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  
      protected String encoding = null;/////要制定的编码,在web.XML中配置
  
      protected FilterConfig filterConfig = null;

          public void destroy() {

          this.encoding = null;
          this.filterConfig = null;

      }

      public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
   throws IOException, ServletException {

              if (request.getCharacterEncoding() == null){
              String encoding = getEncoding();////得到指定的编码名字
              if (encoding != null)
                  request.setCharacterEncoding(encoding);////设置request的编码
          }

           chain.doFilter(request, response);///有机会执行下一个filter

      }

      public void init(FilterConfig filterConfig) throws ServletException {

            this.filterConfig = filterConfig;
          this.encoding = filterConfig.getInitParameter("encoding");///得到在web.xml中配置的编码
        }

  
      protected String getEncoding() {

          return (this.encoding);///得到指定的编码

      }

  
  }

  
  2。编辑web.xml文件

  ?xml version="1.0" encoding="ISO-8859-1"?

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  !DOCTYPE web-app
  

来源:http://www.tulaoshi.com/n/20160219/1607123.html

延伸阅读
网上过滤器的使用例子.代码比比皆是. 我这也是一个非常简单.好用的方法. 可供初学者很好的使用! 步骤只要两个: 一是你只要在你的WEB根目录下打开web.xml,然后在父节点加上Filter节点就行. 代码如下:     Set Character Encoding     com.yirong.framework.filters.SetCha...
用于溢流  在鱼缸一侧18厘米处安排一块宽高是52*52的玻璃,用于溢流,两边和下部用玻璃胶粘牢;玻璃左下角上打一孔,位置与水泵进水口持平。 用于阻水   在溢流玻璃的外侧3cm处安排一块宽高52*40的玻璃,用于阻水,两侧用玻璃胶粘牢;下部留出8.5厘米,用于配置格栅。 胶水粘牢 当阻水玻璃沾牢后,在其上下各沾一个格栅。...
标签: 生活常识
水族箱如何正确安装过滤器   鱼缸的过滤器如果没有好好放置的话,还是会出现鱼缸水浑浊的情况,所以如何安装过滤器是非常重要的。我为你总结了两个过滤器的放置方法,一起来看一下吧。 一、基本方法 1、泵装合适形成循环,不留粪便就是最好的检验。 2、泵的瓦数比常规大一点吸水量大,加速循环。 3、滤棉厚...
标签: Web开发
CSS过滤器(filter)是一种对特定的浏览器或浏览器组显示或隐藏规则或声明的方法。过滤器根据浏览器中的缺陷,比如解析bug以及未实现或错误地实现的CSS,对浏览器显示或隐藏规则。 CSS招数是一种让浏览器表现得符合自己希望的不优雅的方法。CSS招数通常用来解决特定的浏览器bug,比如IE的专有框模型。不幸的是,招数(hack)这个词有比较强的...
标签: 电脑入门
使用QQ邮箱“过滤器”可以方便地实现一些很有用的功能。 我们来学习学习吧—— 1、实现收信自动回复功能: a、有可以让发信人及时知道已经发信成功等优点;但对于某些系统信件(例如paipai的系统信件)的自动回复,会产生系统退信的垃圾邮件。 设置如图所示,除了这种方法外,还可以选择“如果发件人”不包含自己的邮箱名字,...

经验教程

339

收藏

73
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部