web.xml:html
1 <?xml version="1.0" encoding="UTF-8"?> 2 <web-app version="2.5" 3 xmlns="http://java.sun.com/xml/ns/javaee" 4 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 5 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 6 http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> 7 <servlet> 8 <servlet-name>CommentServlet</servlet-name> 9 <servlet-class>com.CommentServlet</servlet-class> 10 </servlet> 11 12 <servlet-mapping> 13 <servlet-name>CommentServlet</servlet-name> 14 <url-pattern>/comment</url-pattern> 15 </servlet-mapping> 16 17 <filter> 18 <filter-name>commentFilter</filter-name> 19 <filter-class>com.CommentFilter</filter-class> 20 <init-param> 21 <param-name>noString</param-name> 22 <param-value>sex,gay</param-value> 23 </init-param> 24 </filter> 25 26 <filter-mapping> 27 <filter-name>commentFilter</filter-name> 28 <url-pattern>/comment</url-pattern> 29 </filter-mapping> 30 31 <welcome-file-list> 32 <welcome-file>index.jsp</welcome-file> 33 </welcome-file-list> 34 </web-app>
index.jsp:java
1 <%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 5 <title>Insert title here</title> 6 </head> 7 <body> 8 <form action="comment" method="post"> 9 <input type="text" name="comment"><input type="submit" value="提交"> 10 </form> 11 </body> 12 </html>
CommentServlet.java:web
1 import java.io.IOException; 2 import java.io.PrintWriter; 3 4 import javax.servlet.ServletException; 5 import javax.servlet.http.HttpServlet; 6 import javax.servlet.http.HttpServletRequest; 7 import javax.servlet.http.HttpServletResponse; 8 9 /** 10 *@date 2014-4-17 11 */ 12 public class CommentServlet extends HttpServlet { 13 14 15 public void doPost(HttpServletRequest request, HttpServletResponse response) 16 throws ServletException, IOException { 17 18 String comment=request.getParameter("comment"); 19 PrintWriter pw=response.getWriter(); 20 pw.println("comment is : "+comment); 21 } 22 23 }
CommentFilter.java:app
1 import java.io.IOException; 2 import java.io.PrintWriter; 3 4 import javax.servlet.Filter; 5 import javax.servlet.FilterChain; 6 import javax.servlet.FilterConfig; 7 import javax.servlet.ServletException; 8 import javax.servlet.ServletRequest; 9 import javax.servlet.ServletResponse; 10 import javax.servlet.http.HttpServletRequest; 11 import javax.servlet.http.HttpServletResponse; 12 13 /** 14 *@date 2014-4-17 15 */ 16 public class CommentFilter implements Filter{ 17 18 private FilterConfig config; 19 20 public void destroy() { 21 22 } 23 24 public void doFilter(ServletRequest req, ServletResponse res, 25 FilterChain chain) throws IOException, ServletException { 26 27 HttpServletRequest request=(HttpServletRequest)req; 28 HttpServletResponse response=(HttpServletResponse)res; 29 PrintWriter pw=response.getWriter(); 30 String comment=request.getParameter("comment"); 31 String noString=config.getInitParameter("noString"); 32 for(String str:noString.split(",")){ 33 if(comment.indexOf(str)>=0){ 34 pw.print("illegal string..."); 35 return; 36 } 37 } 38 chain.doFilter(request, response); 39 pw.print("after servlet's service..."); 40 } 41 42 public void init(FilterConfig filterConfig) throws ServletException { 43 System.out.println("init method..."); 44 this.config=filterConfig; 45 } 46 47 }