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 == null) return;
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 }
|