过滤器

web.xml:

 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>
View Code

index.jsp:

 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>
View Code

CommentServlet.java:

 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 }
View Code

CommentFilter.java:

 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 }
View Code

 

posted on 2014-04-17 18:29  confirmBname  阅读(120)  评论(0编辑  收藏  举报

导航