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的更多相关文章

  1. Java 中的过滤器Filter 和拦截器 Interceptor

    1.先说拦截器 Interceptor 本项目以springboot为例: 新建 InterceptorConfig package com.opendev.mystudy.MyInterceptor ...

  2. java Servlet中的过滤器Filter

    web.xml中元素执行的顺序listener->filter->struts拦截器->servlet. 1.过滤器的概念 Java中的Filter 并不是一个标准的Servlet ...

  3. Angularjs在控制器(controller.js)的js代码中使用过滤器($filter)格式化日期/时间实例

    Angularjs内置的过滤器(filter)为我们的数据信息格式化提供了比较强大的功能,比如:格式化时间,日期.格式化数字精度.语言本地化.格式化货币等等.但这些过滤器一般都是在VIEW中使用的,比 ...

  4. Servlet中的过滤器Filter用法

    1.过滤器的概念 Java中的Filter 并不是一个标准的Servlet ,它不能处理用户请求,也不能对客户端生成响应. 主要用于对HttpServletRequest 进行预处理,也可以对Http ...

  5. Servlet中的过滤器Filter详解

    加载执行顺序 context-param->listener->filter->servlet web.xml中元素执行的顺序listener->filter->stru ...

  6. Servlet中的过滤器Filter

    链web.xml中元素执行的顺序listener->filter->struts拦截器->servlet. 1.过滤器的概念 Java中的Filter 并不是一个标准的Servlet ...

  7. Java基础95 过滤器 Filter

    1.filter 过滤器的概述 filter过滤器:是面向切面编程的一种实现策略,在不影响原来的程序流程的前提下,将一些业务逻辑切入流程中,在请求达到目标之前进行处理,一般用于编码过滤.权限过滤... ...

  8. Java Web(四) 过滤器Filter

    Filter概述 Filter意为滤镜或者过滤器,用于在Servlet之外对request或者response进行修改.Filter提出了过滤链的概念.一个FilterChain包括多个Filter. ...

  9. 【java web】过滤器filter

    一.过滤器简介 过滤器filter依赖于servlet容器 所谓过滤器顾名思义是用来过滤的,Java的过滤器能够为我们提供系统级别的过滤,也就是说,能过滤所有的web请求, 这一点,是拦截器无法做到的 ...

随机推荐

  1. linux命令之import

    linux下截屏除了printscreen按键外,还可以用improt命令. 该命令最常用的两种方式: 1.鼠标选择范围截屏:import mypicture.jpg 2.截取全屏:import -w ...

  2. C# 方法,属性,字段

    以前是学C++的,初次学微软的C#头都大了.什么字段,常量,属性,方法......微软把别人的东西拿来糅合在C#里,弄成了一个“大杂烩”.其实,说到底,“字段”不就是“变量”吗,所谓的“方法”不就是“ ...

  3. Homebrew学习(一)之初认识

    Homebrew Homebrew是一款Mac OS平台下的软件包管理工具,拥有安装.卸载.更新.查看.搜索等很多实用的功能.简单的一条指令,就可以实现包管理,而不用你关心各种依赖和文件路径的情况,会 ...

  4. hadoop面试复习笔记(1)

    0.Mappereduce采用的是Master/Slaves模型 1.Hadoop是一个开源软件框架,支持支持大数据集的存储和处理.Apache Hadoop是存储和处理大数据的解决方案你是因为: ( ...

  5. TS学习

    随着vue3.0的即将到来,是时候学习一下TS了 简介:TypeScript是一种由微软开发的自由和开源的编程语言.它是JavaScript的一个超集,而且本质上向这个语言添加了可选的静态类型和基于类 ...

  6. 工具使用——使用XShell连接linux系统

    1.首先到官网取下载一个XShell安装包,根据提示安装成功. 2.打开软件,点击新建连接 3.在新建连接页面输入,主机名称.主机地址.端口号,点击确定按钮. 4.在弹出的会话窗口中,选中我们刚刚创建 ...

  7. python中使用schedule模块定时执行任务

    python中有一个轻量级的定时任务调度的库:schedule.他可以完成每分钟,每小时,每天,周几,特定日期的定时任务.因此十分方便我们执行一些轻量级的定时任务. 代码如下: import sche ...

  8. token和sign

    前言 在app开放接口api的设计中,避免不了的就是安全性问题,因为大多数接口涉及到用户的个人信息以及一些敏感的数据,所以对这些接口需要进行身份的认证,那么这就需要用户提供一些信息,比如用户名密码等, ...

  9. 【writeup】is_numeric函数矛盾运用

    最近在BugkuCTF平台刷题,遇到‘矛盾’http://120.24.86.145:8002/get/index1.php,感觉蛮有意思的,记录下思路 目标代码如下: $num=$_GET['num ...

  10. heike

    黑客工具 hacker disassembler engine download IDApro