ServletFilterRegEx.java
01 import java.io.*;
02 import javax.servlet.*;
03 import javax.servlet.http.*;
04 
05 import java.util.regex.*;
06 
07 public class ServletFilterRegEx extends HttpServlet {
08 
09   /* Vytvoríme objekt predstavujúci náš regulárny výraz,
10   s ktorým budeme potom porovnávať. Vytvoríme ho tak, aby
11   nebol case-sensitive. */
12   Pattern pat = Pattern.compile("</?plaintext>", Pattern.CASE_INSENSITIVE);
13   /* Vytvoríme zatiaľ prázdnu referenciu na objekt Matcher, 
14   pomocou ktorého budeme porovnávať a nahrádzať reťazce. */
15   Matcher mat = null;
16 
17   public void doGet(HttpServletRequest req, HttpServletResponse res)
18                                  throws ServletException, IOException {
19 
20     String contentType = req.getContentType();
21     if (contentType == nullreturn;
22     res.setContentType(contentType);
23     PrintWriter out = res.getWriter();
24     BufferedReader in = req.getReader();
25 
26     try {
27       String line = null;
28       while ((line = in.readLine()) != null) {
29       /* Objektu Matcher predáme odkaz na reťazec, ktorý 
30     budeme porovnávať s regulárnym výrazom */
31       mat = pat.matcher(line);
32     /* Metóda matches() vráti true ak predaný reťazec 
33     spĺňa podmienky regulárneho výrazu */
34     if (mat.matches())
35           line = mat.replaceAll("");
36         out.println(line);
37       }
38     }
39     catch(PatternSyntaxException e) {
40       log("Problem with regular expresion: " + e.getMessage());
41     }
42   }
43 
44   public void doPost(HttpServletRequest req, HttpServletResponse res)
45                                   throws ServletException, IOException {
46     doGet(req, res);
47   }
48 }