创建CharactorFilter类,实现javax.servlet.Filter接口:

  1. package com.caiduping;
  2.  
  3. import java.io.IOException;
  4.  
  5. import javax.servlet.Filter;
  6. import javax.servlet.FilterChain;
  7. import javax.servlet.FilterConfig;
  8. import javax.servlet.ServletException;
  9. import javax.servlet.ServletRequest;
  10. import javax.servlet.ServletResponse;
  11.  
  12. public class CharactorFilter implements Filter {
  13. //字符编码
  14. String encoding=null;
  15. @Override
  16. public void destroy() {
  17. // TODO Auto-generated method stub
  18. encoding=null;
  19. }
  20.  
  21. @Override
  22. public void doFilter(ServletRequest request, ServletResponse response,
  23. FilterChain chain) throws IOException, ServletException {
  24. // TODO Auto-generated method stub
  25. //设置request的编码格式
  26. request.setCharacterEncoding("UTF-8");
  27. //设置response的字符编码
  28. //response.setContentType(encoding);
  29. response.setContentType("text/html;charset=UTF-8");
  30. chain.doFilter(request, response);
  31. }
  32.  
  33. @Override
  34. public void init(FilterConfig filterConfig) throws ServletException {
  35. // TODO Auto-generated method stub
  36. encoding=filterConfig.getInitParameter("encoding");
  37. }
  38.  
  39. }

然后对web.xml进行配置:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <web-app version="3.0"
  3. xmlns="http://java.sun.com/xml/ns/javaee"
  4. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  5. xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
  6. http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
  7. <display-name></display-name>
  8. <welcome-file-list>
  9. <welcome-file>index.jsp</welcome-file>
  10. </welcome-file-list>
  11. <filter>
  12. <filter-name>CharactorFilter</filter-name>
  13. <filter-class>com.caiduping.CharactorFilter</filter-class>
  14. <init-param>
  15. <param-name>CharactorFilter</param-name>
  16. <param-value>UTF-8</param-value>
  17. </init-param>
  18. </filter>
  19. <filter-mapping>
  20. <filter-name>CharactorFilter</filter-name>
  21. <url-pattern>/*</url-pattern>
  22. </filter-mapping>
  23.  
  24. <servlet>
  25. <servlet-name>AddServlet</servlet-name>
  26. <servlet-class>com.caiduping.AddServlet</servlet-class>
  27. </servlet>
  28. <servlet-mapping>
  29. <servlet-name>AddServlet</servlet-name>
  30. <url-pattern>/AddServlet</url-pattern>
  31. </servlet-mapping>
  32. </web-app>

创建AddServlet类继承HttpServlet:

  1. package com.caiduping;
  2.  
  3. import java.io.IOException;
  4. import java.io.PrintWriter;
  5.  
  6. import javax.servlet.ServletException;
  7. import javax.servlet.http.HttpServlet;
  8. import javax.servlet.http.HttpServletRequest;
  9. import javax.servlet.http.HttpServletResponse;
  10.  
  11. public class AddServlet extends HttpServlet {
  12. //serialVersionUID 用来表明类的不同版本间的兼容性
  13. private static final long serialVersionUID = 1L;
  14.  
  15. @Override
  16. protected void doGet(HttpServletRequest request, HttpServletResponse response)
  17. throws ServletException, IOException {
  18. // TODO Auto-generated method stub
  19. //处理GET请求
  20. doPost(request, response);
  21. }
  22.  
  23. @Override
  24. protected void doPost(HttpServletRequest request, HttpServletResponse response)
  25. throws ServletException, IOException {
  26. // TODO Auto-generated method stub
  27. //当一个Servlet响应的时候将响应信息通过out对象输出到网页上,当响应结束时它自动被关闭
  28. PrintWriter out=response.getWriter();
  29. String name=request.getParameter("name");
  30. String sex=request.getParameter("sex");
  31. String age=request.getParameter("age");
  32. String fav=request.getParameter("fav");
  33. out.print("信息验证<br>");
  34. out.print("姓名:"+name+"<br>");
  35. out.print("性别:"+sex+"<br>");
  36. out.print("年龄:"+age+"<br>");
  37. out.print("爱好: "+fav+"<br>");
  38. out.flush();
  39. out.close();
  40. }
  41.  
  42. }

  

Servlet之编码过滤的更多相关文章

  1. servlet请求编码与响应编码问题(编码不一致可能会导致乱码)

    html中的编码 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"&g ...

  2. JavaWeb使用Filter进行字符编码过滤 预防web服务中文乱码

    JavaWeb使用Filter进行字符编码过滤 预防web服务中文乱码 准备条件:一个创建好的 JavaWeb 项目 步骤: 1.创建一个类并实现 Filter 接口 import javax.ser ...

  3. Java Servlet (1) —— Filter过滤请求与响应

    Java Servlet (1) -- Filter过滤请求与响应 版本: Java EE 6 参考来源: Oracle:The Java EE 6 Tutorial: Filtering Reque ...

  4. Servlet字符编码过滤器,实现图书信息的添加功能,避免产生文字乱码现象的产生

    同样的代码,网上可以找到和我一模一样的代码和配置,比我的更加详细,但是我重新写一个博客的原因自是把错误的原因写出来,因为这就是个坑,我弄了一天,希望对你们有所帮助.只为初学者发现错误不知道怎么解决有所 ...

  5. JSP/Servlet的编码原理

    转自:http://janwer.iteye.com/blog/150226 首先,说说 JSP/Servlet 中的几个编码的作用 在 JSP/Servlet 中主要有以下几种设置编码的方式: pa ...

  6. java web 学习总结之 Servlet/JSP 编码问题

    Servlet和JSP编码问题 字节流: 1.得到OutputStream  字节流 OutputStream os = response.getOutputStream();   用默认编码输出数据 ...

  7. Tomcat &servlet字符集编码问题

    1.字符编码的原由 1.1 request和response的默认编码是? 如果未指定字符编码,则Servlet规范要求使用ISO-8859-1的编码. HTTP消息正文(请求或响应)的字符编码在Co ...

  8. Servlet字符编码过滤器

    在Java Web程序开发中,由于Web容器内部使用编码格式并不支持中文字符集,所以,处理浏览器请求中的中文数据就会出现乱码的现象.由于Web容器使用了ISO-8859-1的编码格式,所以在Web应用 ...

  9. servlet的编码原理

    编码问题: 在介绍编码问题前,先介绍一下java平台(JVM)上的编码转化情况.首先要说明的一点,在JVM中,即java平台上,运行的程序一定都是Unicode编码方式的.对于代码中的字符串常量,根据 ...

随机推荐

  1. corpus  academic writing

    http://micusp.elicorpora.info/ http://corpus.byu.edu/coca/ http://rcpce.engl.polyu.edu.hk/RACorpus/

  2. HibernateDaoSupport的使用

    1.HibernateDaoSupport是有spring提供的一个hibernate模版工具类,或不多说,直接上代码 接口 IGenericDao.java package org.hibernat ...

  3. 栈的应用1——超级计算器(中缀与后缀表达式)C语言

    这里要学的程序主要用来实现一个功能——输入表达式输出结果,也就是一个计算器.效果如下: 这个程序主要有两个步骤:1.把中缀表达式转换为后缀表达式:2.计算后缀表达式的结果. 首先先明白几个问题: 1. ...

  4. Smarty模板中调用PHP函数

    因为应用需要,要在Smarty中调用PHP函数,实现办法如下:模板 数据条数:{$data|count} 活动页面文件后缀:{$page|substr:'-3'} 特殊情况:{$page|str_re ...

  5. 开始学习web前端技术

    不能再蹉跎了,不能再徘徊了,不能再犹豫了,犹豫徘徊等于白来…… 感觉之前浪费了太多的岁月,必须得学习一门实用的技术来充实自己空虚的心情了. 想来想去网页应该是万金油的,大大小小多多少少都得用到.既然如 ...

  6. CSS3/jQuery自己定义弹出窗体

    简单演示一下,精简了演示效果和css样式文件,更利于在项目中的实际应用 引入style.css   index.js <!DOCTYPE HTML PUBLIC "-//W3C//DT ...

  7. MongoDB 主从复制小实验

    MongoDB 主从复制小实验 操作环境描述:WIN8  64位操作系统,内装虚拟机为CentOS 5.5 32位系统. 操作描述:跟其他关系型数据库类似,在主库进行数据操作,将数据同步到从节点,从节 ...

  8. XtraBackup原理5

    http://www.cnblogs.com/gomysql/p/3650645.html xtrabackup是Percona公司CTO Vadim参与开发的一款基于InnoDB的在线热备工具,具有 ...

  9. 如何在有实体键的情况下全部显示ActionBar的Menu?

    大伙都知道, 在老版本手机, 以及部分的新手机上都还残留实体键, 有了这些实体键, 默认菜单是用实体菜单键呼出的, 尽管你把android:showAsAction="always" ...

  10. Oracle_集合

    游标遍历select语句 set serveroutput on; declare type sp_test1_cursor is ref cursor; test1_cursor sp_test1_ ...