java中的过滤器 --Filter
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; /*
* 字符编码过滤器
*/
public class Encodingfilter implements Filter {
//定义属性保存字符编码集
String encoding; //构造函数
public Encodingfilter() {
System.out.println("过滤器构造函数!");
}
//销毁的方法
public void destroy() {
System.out.println("过滤器销毁!");
}
//过滤的方法
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
System.out.println("过滤器开始过滤!"); //中文乱码处理
response.setContentType("text/html;charset="+encoding);
response.setCharacterEncoding(encoding);
request.setCharacterEncoding(encoding); //chain对象就是过滤器链对象
//chain对象的doFilter方法令请求往下一个过滤器传递
chain.doFilter(request, response);
} //初始化的方法
public void init(FilterConfig fConfig) throws ServletException {
System.out.println("过滤器初始化!"); //从配置文件中读取字符编码集
encoding = fConfig.getInitParameter("encoding");
} }
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; /*
* 字符编码过滤器
*/
public class Encodingfilter implements Filter {
//定义属性保存字符编码集
String encoding; //构造函数
public Encodingfilter() {
System.out.println("过滤器构造函数!");
}
//销毁的方法
public void destroy() {
System.out.println("过滤器销毁!");
}
//过滤的方法
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
System.out.println("过滤器开始过滤!"); //中文乱码处理
response.setContentType("text/html;charset="+encoding);
response.setCharacterEncoding(encoding);
request.setCharacterEncoding(encoding); //chain对象就是过滤器链对象
//chain对象的doFilter方法令请求往下一个过滤器传递
chain.doFilter(request, response);
} //初始化的方法
public void init(FilterConfig fConfig) throws ServletException {
System.out.println("过滤器初始化!"); //从配置文件中读取字符编码集
encoding = fConfig.getInitParameter("encoding");
} }
xml配置:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>ch03</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list> <context-param>
<param-name>userName</param-name>
<param-value>sa</param-value>
</context-param>
<context-param>
<param-name>pwd</param-name>
<param-value>888</param-value>
</context-param> <!--过滤器-->
<filter>
<display-name>Encodingfilter</display-name>
<filter-name>Encodingfilter</filter-name>
<filter-class>filter.Encodingfilter</filter-class>
<!--初始化-->
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Encodingfilter</filter-name>
<url-pattern>/*</url-pattern> <!--/*代表所有-->
</filter-mapping> </web-app>
java中的过滤器 --Filter的更多相关文章
- Java 中的过滤器Filter 和拦截器 Interceptor
1.先说拦截器 Interceptor 本项目以springboot为例: 新建 InterceptorConfig package com.opendev.mystudy.MyInterceptor ...
- java Servlet中的过滤器Filter
web.xml中元素执行的顺序listener->filter->struts拦截器->servlet. 1.过滤器的概念 Java中的Filter 并不是一个标准的Servlet ...
- Angularjs在控制器(controller.js)的js代码中使用过滤器($filter)格式化日期/时间实例
Angularjs内置的过滤器(filter)为我们的数据信息格式化提供了比较强大的功能,比如:格式化时间,日期.格式化数字精度.语言本地化.格式化货币等等.但这些过滤器一般都是在VIEW中使用的,比 ...
- Servlet中的过滤器Filter用法
1.过滤器的概念 Java中的Filter 并不是一个标准的Servlet ,它不能处理用户请求,也不能对客户端生成响应. 主要用于对HttpServletRequest 进行预处理,也可以对Http ...
- Servlet中的过滤器Filter详解
加载执行顺序 context-param->listener->filter->servlet web.xml中元素执行的顺序listener->filter->stru ...
- Servlet中的过滤器Filter
链web.xml中元素执行的顺序listener->filter->struts拦截器->servlet. 1.过滤器的概念 Java中的Filter 并不是一个标准的Servlet ...
- Java基础95 过滤器 Filter
1.filter 过滤器的概述 filter过滤器:是面向切面编程的一种实现策略,在不影响原来的程序流程的前提下,将一些业务逻辑切入流程中,在请求达到目标之前进行处理,一般用于编码过滤.权限过滤... ...
- Java Web(四) 过滤器Filter
Filter概述 Filter意为滤镜或者过滤器,用于在Servlet之外对request或者response进行修改.Filter提出了过滤链的概念.一个FilterChain包括多个Filter. ...
- 【java web】过滤器filter
一.过滤器简介 过滤器filter依赖于servlet容器 所谓过滤器顾名思义是用来过滤的,Java的过滤器能够为我们提供系统级别的过滤,也就是说,能过滤所有的web请求, 这一点,是拦截器无法做到的 ...
随机推荐
- scrapy架构图与执行流程
概览 本文描述了Scrapy的架构图.数据流动.以及个组件的相互作用 架构图与数据流 上图中各个数字与箭头代表数据的流动方向和流动顺序,具体执行流程如下: 0. Scrapy将会实例化一个Crawle ...
- JS获取指定范围随机数
常用取整数的方法 : Math.floor(Math.random() * (max - min + 1)) + min 一步步来解析: Math.random() 函数返回一个浮点, 伪随机数在范 ...
- 解决 SQLPlus无法登陆oracle,PLSql可以登陆,报错ORA-12560
使用Oracle 11g 64位服务器,安装64位.32位客户端,出现SQLPlus无法连接数据库,PLSql可以连接问题. 网上查了很多,都不能解决问题,在下面提供一种. 环境变量 右击计算机属性- ...
- 093、如何用Graylog 管理日志? (2019-05-17 周五)
参考https://www.cnblogs.com/CloudMan6/p/7821817.html 上节我们已经部署好了 Graylog ,现在学习如何使用他来管理日志. 首先运行测试容器, ...
- 32、出任爬虫公司CEO(爬取职友网招聘信息)
职友集,搜索到全国上百家招聘网站的最新职位. https://www.jobui.com/rank/company/ 打开网址后,你会发现:这是职友集网站的地区企业排行榜,里面含有 本 ...
- 在window环境下安装symfony2框架注意事项
首先先放上放上安装的教程:http://www.symfonychina.com/doc/current/setup.html 然后说一下笔者遇到的坑 在运行这条命令的时候,虽然成功下载读取下来了,但 ...
- c字符串函数
1. bcmp(3) 类ma似于strncmp(3) 但是比较结果不一定是两个字符的ascii码之差. 返回值:相等0,不相等非零(不一定是-1) 2.bcopy(3)类ma似于strncpy(3) ...
- JS 循环遍历 总结
一.循环遍历语句 for...in... (ES5) 语法:javascript for(keys in obj){} 适用:遍历对象 说明: 1.keys表示obj对象的每一个键值对的键(键名),所 ...
- 【洛谷P2922】Secret Message
题目大意:给定 N 个字符串组成的字典,有 M 个询问,每次给定一个字符串,求字典中有多少个单词为给定字符串的前缀或前缀是给定的字符串. 题解:在 trie 上维护一个 tag 表示有多少字符串以当前 ...
- dubbo网关
https://blog.csdn.net/Paranoia_ZK/article/details/90743432 springcloud 和 dubbo 混用