字符过滤器(JavaWEBFilter)
来源:互联网 发布:小口栓在淘宝有卖吗 编辑:程序博客网 时间:2024/05/10 11:38
public interface Filter {
void doFilter(Request request, Response response, FilterChain chain);
}
package com.bjsxt.dp.filter;
import java.util.ArrayList;
import java.util.List;
public class FilterChain implements Filter {
List<Filter> filters = new ArrayList<Filter>();
int index = 0;
public FilterChain addFilter(Filter f) {
this.filters.add(f);
return this;
}
@Override
public void doFilter(Request request, Response response, FilterChain chain) {
if(index == filters.size()) return ;
Filter f = filters.get(index);
index ++;
f.doFilter(request, response, chain);
}
}
package com.bjsxt.dp.filter;
public class HTMLFilter implements Filter {
@Override
public void doFilter(Request request, Response response, FilterChain chain) {
//process the html tag <>
request.requestStr = request.requestStr.replace('<', '[')
.replace('>', ']') + "---HTMLFilter()";
chain.doFilter(request, response, chain);
response.responseStr += "---HTMLFilter()";
}
}
package com.bjsxt.dp.filter;
public class Main {
/**
* @param args
*/
public static void main(String[] args) {
String msg = "大家好:),<script>,敏感,被就业,网络授课没感觉,因为看不见大家伙儿";
Request request = new Request();
request.setRequestStr(msg);
Response response = new Response();
response.setResponseStr("response");
FilterChain fc = new FilterChain();
fc.addFilter(new HTMLFilter())
.addFilter(new SesitiveFilter())
;
fc.doFilter(request, response, fc);
System.out.println(request.getRequestStr());
System.out.println(response.getResponseStr());
}
}
package com.bjsxt.dp.filter;
public class Request {
String requestStr;
public String getRequestStr() {
return requestStr;
}
public void setRequestStr(String requestStr) {
this.requestStr = requestStr;
}
}
package com.bjsxt.dp.filter;
public class Response {
String responseStr;
public String getResponseStr() {
return responseStr;
}
public void setResponseStr(String responseStr) {
this.responseStr = responseStr;
}
}
package com.bjsxt.dp.filter;
public class SesitiveFilter implements Filter {
@Override
public void doFilter(Request request, Response response, FilterChain chain) {
request.requestStr = request.requestStr.replace("被就业", "就业")
.replace("敏感", "") + "---SesitiveFilter()";
chain.doFilter(request, response, chain);
response.responseStr += "---SesitiveFilter()";
}
}
- 字符过滤器(JavaWEBFilter)
- javawebfilter 过滤器
- Filter案例(字符过滤器)
- Filter过滤器(字符编码)
- 字符过滤器
- 字符过滤器
- 过滤器的编写(过滤字符编码)
- Spring中的字符编码过滤器(CharacterEncodingFilter)
- 敏感内容替换(字符替换过滤器)
- 字符的处理----过滤器
- 特殊字符替换过滤器
- SetCharacterEncodingFilter jsp字符过滤器
- Filter 字符过滤器
- CharacterEncodingFilter 字符编码过滤器
- Servlet字符编码过滤器
- HTML特殊字符过滤器
- 字符编码的过滤器
- 自定义字符编码过滤器
- [周二]sharedpreferences各种使用方法总结
- 比较版本号
- 《Python核心编程》笔记 Python对象
- 设计模式:链式模式(FilterChain)
- HP LaserJet 1010 打印机 - 在 Win 7 下安装驱动
- 字符过滤器(JavaWEBFilter)
- Git 存储过程探究
- 探讨erlang消息选择性接收特性
- 安装git-emacs
- GitHub常用命令
- MS-SQL2005服务启动发生错误1053处理
- GitHub常用命令
- Git安装
- HP打印机出现TRAY 2 EMPTY