使用Java程序过滤网页中的一些敏感字符
2014-01-04 23:31
525 查看
import java.io.CharArrayWriter; import java.io.PrintWriter; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponseWrapper; public class Ct extends HttpServletResponseWrapper { private CharArrayWriter output; // 重写tostring方法 public String toString() { return output.toString(); } public Ct(HttpServletResponse response) { super(response); this.output=new CharArrayWriter(); } public PrintWriter getWriter(){ return new PrintWriter(output); } } //过滤器 import java.io.IOException; import java.io.PrintWriter; 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.http.HttpServlet; import javax.servlet.http.HttpServletResponse; public class HtmlFilter extends HttpServlet implements Filter{ public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { //设置响应编码 response.setCharacterEncoding("UTF-8"); PrintWriter out=response.getWriter(); Ct ct=new Ct((HttpServletResponse)response); //执行下一步 chain.doFilter(request, ct); String resStr=ct.toString().trim(); String newStr=""; if(resStr.contains("杂种儿")){ newStr=resStr.replaceAll("杂种儿", "***"); } out.print(newStr); } public void init(FilterConfig filterConfig) throws ServletException { // TODO Auto-generated method stub } } //xml配置 <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <!-- 配置过滤器 --> <filter> <filter-name>ecodeing</filter-name> <filter-class>HtmlFilter</filter-class> </filter> <filter-mapping> <filter-name>ecodeing</filter-name> <url-pattern>*.jsp</url-pattern> </filter-mapping> </web-app> //jsp页面 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>My JSP 'index.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <body> 你家吗 杂种儿 </body> </html>
相关文章推荐
- java使用正则表达式过滤所有的字符和数字
- Java Web 一些特殊字符的过滤(appscan检查的安全问题)
- java在CMD窗口执行程序的时候输入密码(隐藏一些敏感信息)
- Java使用DFA算法实现敏感词过滤
- Visual Studio 2017中使用正则修改部分内容 如何使用ILAsm与ILDasm修改.Net exe(dll)文件 C#学习-图解教程(1):格式化数字字符串 小程序开发之图片转Base64(C#、.Net) jquery遍历table为每一个单元格取值及赋值 。net加密解密相关方法 .net关于坐标之间一些简单操作
- Java使用DFA算法实现过滤多家公司自定义敏感字功能详解
- java敏感词过滤-使用HashMap实现DFA算法
- java 使用正则来过滤字符串中的特殊字符
- 在类中使用array_map()简单的递归过滤一些字符
- java-读取文件,过滤敏感字符后生成新文件
- Java编写敏感词过滤程序
- [Java] 使用htmlparser在爬虫时过滤网页
- Java使用IKAnalyzer进行敏感词过滤
- java敏感词过滤-使用HashMap实现DFA算法
- Java Web对前台传过来参数中的敏感字符进行过滤替换
- java 使用正则来过滤字符串中的特殊字符
- java敏感词过滤-使用HashMap实现DFA算法
- JAVA的程序代码小细节,变量的使用,以及一些细节的面试题
- Java 使用正则表达式过滤字符串中的特殊字符
- java敏感词过滤-使用HashMap实现DFA算法