servlet中文乱码_Servlet入门 信息过滤
1.动手写一个Filter
在之前的JavaWebDemo项目上,找到src目录,右键:New / Filter填写类名和包名:把Filter mappings改为/*,过滤所有的请求:接下来,在自动生成的代码上写个例子:从请求中取QueryString,追加到响应中,同时设置编码方式、避免中文乱码。
package 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;import javax.servlet.annotation.WebFilter;/** * 演示 Servlet Filter 的使用 */@WebFilter("/*")public class demo implements Filter { public void destroy() { // TODO Auto-generated method stub } /** * 过滤请求和响应 */ public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { // 设置请求和响应的编码格式 request.setCharacterEncoding("utf-8"); response.setContentType("text/html;charset=UTF-8"); // 从请求中取数据 String name = request.getParameter("name"); // pass the request along the filter chain chain.doFilter(request, response); // 响应中追加数据 response.getWriter().append(" & "+name); } public void init(FilterConfig fConfig) throws ServletException { // TODO Auto-generated method stub }}
运行项目,在url后面加上参数,效果如下:
2.用UrlPattern指定请求
Pattern的含义是模式,看到这个单词很容易想到:设计模式、正则表达式。它通常描述有规律的重复现象。那么,Url的规律是什么呢?①文件后缀:形如 1.js/2.js/3.js,你会想到 *.js 代表所有js文件;同样,在设计servlet的url时,也经常会以 .do 做后缀。因此,我们可以用 *.后缀 来匹配同一类型的请求。②父目录:形如 user/card,user/identification,你可以猜到user模块下的url都是 user/* 这样的格式。因此,我们可以用 父目录/* 来匹配同一模块下的所有请求。③精确匹配:这个没啥好说的,就是具体的url。④全部匹配:这个也没啥好说的,就是用 /* 匹配所有url。
3.多个Filter
一个净水器中有多个滤芯,有的过滤杂质、有的过滤离子;我们也可以写多个Filter类,各自对信息做不同的处理。这时带来一个问题:多个Filter类的逻辑,谁先执行、谁后执行?换句话说,信息流先流过谁、后流过谁?请看下图:很明显,对于请求流,排在前面的Filter类先执行;对于响应流,则完全相反。Filter接口没有约定顺序的属性,目前只能有配置节 在web.xml中的先后次序决定:
servlet中文乱码_Servlet入门 信息过滤相关推荐
- 页面跳转之转发和重定向+Servlet中文乱码问题
页面跳转之转发和重定向+Servlet中文乱码问题 一.页面跳转 <?xml version="1.0" encoding="UTF-8"?> &l ...
- servlet中文乱码处理
servlet中文乱码处理 如果是post 设置req.setCharacterEncoding("utf-8"); 如果是get,不去修改服务器配置的情况下 new String ...
- servlet中文乱码_10分钟快速掌握Servlet相关基础知识
Servlet的学习路线 1. 创建Servlet 2. Servlet的相关配置 3. Servlet的生命周期 4. HttpServletRequest接口 5. HttpServletResp ...
- jsp,servlet中文乱码问题
在jsp页面中设置了编码为UTF-8 ,从网上看以下方法,用filter也可以解决传递参数的中文乱码问题 这里再介绍一种方法: request.setCharacterEncoding("U ...
- Servlet 中文乱码问题及解决方案剖析
一.常识了解 1.GBK包含GB2312,即如果通过GB2312编码后可以通过GBK解码,反之可能不成立; 2.java.nio.charset.Charset.defaultCharset() 获得 ...
- Servlet 中文乱码处理
1.为什么使用中文乱码 我们在实现登录时候 ,需要进行前台的数据.获得数据以后可能会出现中文乱码,那应该如何处理呢? 2.get方式和Post提交方式的区别 [1]get数据的传输是不安全的 ,pos ...
- mysql jsp servlet 中文乱码问题。
google一下..你可以找一大堆解决方案..但是我觉得都没有从根本上解决问题..是不是? 我觉得要想根本解决..最主要的方法是统一编码方案..说出来很简单..原因也很简单..但你真的做到了吗.. 首 ...
- 解决Servlet中文乱码问题
一.出现乱码的原因 由于浏览器默认使用UTF-8码表进行编码,而servlet使用ISO-8859-1码表进行编码,传输和接收方编码不一致导致乱码的产生. 二.乱码的类型以及解决办法 1. respo ...
- 树莓派linux系统中文乱码,树莓派入门,软件安装,中文显示
最近入手raspberry 3B 打算搭建一个LAMP环境,制作一个workpress个人博客于是有了一下教程: 此教程跳过烧录系统,烧录的系统是2016.4.26之前在官方网站下载的raspbian ...
最新文章
- 中山大学计算机学院运动会,中山大学2019年运动会.PDF
- linux挂载分区失败,Ubuntu分区挂载错误与Grub引导错误的修复
- RESTful 规范
- springcloud 并发_SpringCloud-Zuul高并发请求下的限流处理
- C++源码的调用图生成
- 用Python处理图片九宫格
- Vue 3 都 RC 了,前端的你还不来看看
- 7.2 伪逆和线性方程 $A\mathbf{x}=\mathbf{b}$
- PHP不读取Excel空行,phpexcel中遇到空单元格不跳过
- Invoke and BeginInvoke BeginInvoke和EndInvoke方法 (转)2
- mysql 分库分表 建表,mysql 分库分表 建表MySQL常用操作
- python构造函数_Python构造函数
- 《罗辑思维》让知识交融做爱
- 五年高考三年模拟暗部软件库_小老弟,你的《五年高考三年模拟》掉高速上了……...
- 部署Azkaban多节点分布式模式
- 数模算法:模糊综合评价模型
- koreader下载_koreader安卓下载
- t检验的p值对照表_第十讲 R-两独立样本t检验
- 怎么搜索百度网盘的资源
- 荒野乱斗好友系统分析
热门文章
- 【Mac】mac 安装Axure RP 8 点不开 就一直跳-后闪退-报错Expected an Int64 but got a System.UInt64
- 95-130-348-源码-source-kafka相关-Handover
- Docker 安装 Tomcat
- scala学习-12-scala读取java项目下Src目录下的properties文件
- liunx centos 如何添加一个新的网卡
- 天天在用Redis,那你对Redis的AOF持久化到底了解多少呢?
- tfhpple解析html中的图片,图文详解使用TFHpple解析html方法
- SpringGateway与Zookeeper的Maven冲突
- 洛谷 P1313 计算系数 —— 水题
- SpringBoot整合freemarker中自定义标签获取字典表的数据