字符替换过滤器
在java.servlet.http包中,包含了一個名為HttpServletResponseWrapper的類,該類的對象表示一個自定義的響應(yīng)對象,實(shí)現(xiàn)了HttpServletResponse接口,其構(gòu)造方法通過傳入的HttpServletResponse類型的參數(shù),將響應(yīng)轉(zhuǎn)換為自定義的響應(yīng),構(gòu)造方法的語法結(jié)構(gòu):
public HttpServletResponseWrapper(HttpServletResponse response)
創(chuàng)建Cr.java類文件,處理對頁面響應(yīng)的內(nèi)容,用toString()方法進(jìn)行重載,將頁面中的內(nèi)容轉(zhuǎn)換為自定義的響應(yīng)
創(chuàng)建過濾器CtFilter.java,在doFilter()方法中獲取頁面的響應(yīng),對響應(yīng)進(jìn)行處理
import javax.servlet.*; import javax.servlet.http.*; import java.io.*;public class CtFilter extends HttpServlet implements Filter {public void init(FilterConfig filterConfig) throws ServletException {}public void doFilter(ServletRequest request, ServletResponse response,FilterChain filterChain) throws ServletException,IOException {response.setCharacterEncoding("utf-8");PrintWriter out = response.getWriter();Cr wrapper = new Cr((HttpServletResponse)response);filterChain.doFilter(request, wrapper);String resStr = wrapper.toString().trim();String newStr = "";if (resStr.indexOf("混蛋") > 0) {newStr = resStr.replace("混蛋","好人");}out.println(newStr);} }web.xml文件配置過濾器
<welcome-file-list><welcome-file>index2.jsp</welcome-file></welcome-file-list> <filter><filter-name>cr</filter-name><filter-class>com.cn.zj.ServletFilter.CtFilter</filter-class> </filter> <filter-mapping><filter-name>cr</filter-name><url-pattern>/*</url-pattern> </filter-mapping>index2.jsp頁面
<%@ page contentType="text/html; charset=gb2312" language="java"import="java.sql.*" errorPage=""%> <html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><title>使用過濾器對響應(yīng)頁面中敏感字符過濾</title><style type="text/css"> <!-- body --> </style> </head> <body><div> 網(wǎng)絡(luò)編程詞典您的建議有那些:</div><table height="100" width="300" cellpadding="2" cellspacing="2" border="2" bordercolor="lightblue"><Tr align="center"><td><div style="size: 6ex;">增學(xué)習(xí)內(nèi)容豐富度,混蛋,技術(shù)與技術(shù)的實(shí)用性網(wǎng)絡(luò)瀏覽響應(yīng)時間,以后周全的客服安排</div></td></Tr></table> </body> </html>總結(jié)
- 上一篇: 防盗链过滤器
- 下一篇: 验证用户身份Filter过滤器