常用过滤器 (Filter)
来源:互联网 发布:江西网络广播电视台app 编辑:程序博客网 时间:2024/05/23 12:38
常用过滤器 (Filter)
编码过滤器
解决post请求乱码,和响应乱码
- 配置web.xml
<?xml version="1.0" encoding="UTF-8"?><web-app> <!-- 过滤器 --> <filter> <filter-name>encodingFilter</filter-name> <!-- 设置过滤器名称 以便mapping匹配过滤器 --> <filter-class>com.etc.filter.EncodingFilter</filter-class><!-- 过滤器实现类 --> <init-param><!-- 初始化参数 可以在FilterConfig中读取该参数 --> <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>
2.EncodingFilter类
package com.etc.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 { private String encoding = "UTF-8"; public void destroy() { } public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { //设置编码 request.setCharacterEncoding(encoding); response.setCharacterEncoding(encoding); chain.doFilter(request, response); } public void init(FilterConfig config) throws ServletException { //初始化参数 String encoding = config.getInitParameter("encoding"); if (encoding != null) { this.encoding = encoding; } }}
日志过滤器
记录用户访问日志
- 配置web.xml
<?xml version="1.0" encoding="UTF-8"?><web-app> <!-- 过滤器 --> <filter> <filter-name>logFilter</filter-name> <!-- 设置过滤器名称 以便mapping匹配过滤器 --> <filter-class>com.etc.filter.LogFilter</filter-class><!-- 过滤器实现类 --> </filter> <!-- 过滤器匹配条件 --> <filter-mapping> <filter-name>logFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping></web-app>
2.LogFilter类
package com.etc.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 LogFilter implements Filter { public void destroy() { } public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { //转换为http相关类 HttpServletRequest req = (HttpServletRequest) request; HttpServletResponse resp = (HttpServletResponse) response; //打印访问日志,开始 System.out.println("" + System.currentTimeMillis() + ",start," + req.getRemoteHost() + "," + req.getRequestURI()); chain.doFilter(request, response); //打印访问日志,结束 System.out.println("" + System.currentTimeMillis() + ",end ," + req.getRemoteHost() + "," + req.getRequestURI()); chain.doFilter(request, response); } public void init(FilterConfig config) throws ServletException { //初始化参数 }}
0 0
- 常用过滤器--Filter
- 常用过滤器 (Filter)
- Servlet 过滤器 Filter 常用 用法
- WordPress插件API/常用过滤器(filter)
- Java中常用的Filter过滤器
- Django模板中常用过滤器(filter)
- 过滤器Filter、Filter的生命周期,以及常用方法
- 过滤器Filter
- 过滤器Filter
- Filter 过滤器
- 过滤器 filter
- 过滤器filter
- 过滤器,Filter
- 过滤器Filter
- filter--过滤器
- 过滤器Filter
- filter过滤器
- Filter过滤器
- HPUX修改disk实例号--11.31only
- java map转化为对应的类
- C# F11不能进入函数
- SOQL and SOSL
- android 控制导航栏内容占据父布局的比例且位置水平居中
- 常用过滤器 (Filter)
- Python 中Python 为什么要继承 object 类
- CentOs 6.x 升级 Python 版本
- 服务器
- android ToolBar详解
- 你真的了解 MySQL 数据库的运行状况吗?
- 空间直角坐标系
- Java 实验:结构化程序设计
- 狗头注释