//启动类添加注解
@ServletComponentScan
package com.baiwang.invoice.utils;

import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
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;
import javax.servlet.http.HttpServletRequest; /**
* Created by ChengLuchao on 2017/8/1.
*/
// 过滤器添加注解
@WebFilter(filterName="myFilter",urlPatterns="/*")
public class KeyWordFilter implements Filter {
// private FilterConfig filterConfig;
public static HashMap keyMap = null;
public static String path; @Override
public void init(FilterConfig filterConfig) throws ServletException {
System.out.println("-----------------------------------------启动");
// this.filterConfig = filterConfig;
// String keyWordPath = filterConfig.getInitParameter("key");
path = filterConfig.getServletContext().getRealPath("keyword.properties");
System.out.println(path);
} @Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
System.out.println("----------------------------------------执行");
HttpServletRequest req = (HttpServletRequest) request;
// if (keyMap == null) {
// keyMap = (HashMap) PropertiesUtil.readProperties(path);
// }
keyMap = new HashMap();
keyMap.put("ccc","clclclclclcl");
if (req.getMethod().equals("POST")) {
chain.doFilter(new KeyWordRequestWrapper(req, keyMap), response);
Map map = request.getParameterMap();
for (Object key: map.keySet()) {
if (keyMap.get(key) != null) {
map.put(keyMap.get(key),map.get(key));
map.remove(key);
}
}
request.setAttribute("map",map);
} else {
chain.doFilter(request, response);
}
} @Override
public void destroy() {
// this.filterConfig = null;
System.out.println("----------------------------------------销毁");
}
}

最新文章

  1. tomcat 远程调试
  2. linux tar
  3. Masonry第三方代码约束
  4. protobuffer序列化
  5. C Socket Programming for Linux with a Server and Client Example Code
  6. bzoj 2595 [Wc2008]游览计划(斯坦纳树)
  7. SET XACT_ABORT 的用法[转]
  8. Java 多态 父类和子类方法的访问控制权限
  9. 一篇深入剖析PCA的好文
  10. windows修改注册表添加开启自启动
  11. OpenCV3.30 画图函数
  12. IDEA打开maven项目dependencies红线
  13. Mac快捷键大全
  14. odoo开发笔记 -- context上下文
  15. C# AutoMapper 了解一下
  16. SCADA必备函数 实际测试。
  17. pyinstaller打包工具简单使用
  18. python3 报错:UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd6 in position 201: invalid continuation byte
  19. LibreOJ β Round #2 题解
  20. GUI的最终选择 Tkinter(四):Entry、Listbox、Scrollbar和Scale组件

热门文章

  1. vs2017编译boost 1.70.0
  2. Java学习之接口概念
  3. oracle备份表和数据
  4. resultType返回的是集合中的元素类型
  5. [luoguP2886] [USACO07NOV]牛继电器Cow Relays(矩阵)
  6. CCF 201712-4 90分
  7. mysql免安装版配置使用
  8. 反编译sencha toucha打包的apk文件,修改应用名称支持中文以及去除应用标题栏
  9. 洛谷P3406 海底高铁
  10. PDO的基本操作