过滤器应用之敏感字符的捕获

思路:在jsp中设置表单,访问表单跳转到servlet中,但中间有过滤器,过滤器设置有敏感词拦截,
有敏感词则跳转到另一个页面提示用户,没有敏感词则正常跳转到servlet中。

设置步骤:
     1.jsp中:

<form action="comment.do">
       username:<input type="text" name="username"/>
       comment:<textarea name="comment"></textarea>
       <button>提交评论</button>
  </form>

      2.过滤器的doFilter方法中:
 

        //设置字符集
        //从页面输入的字符不会乱码
        request.setCharacterEncoding("utf-8");
        //从servlet中输出的字符不会乱码
        response.setContentType("text/html;charset=utf-8");
        //获取请求的参数
        String keyword = request.getParameter("comment");
        System.out.println(keyword);
        if (keyword.contains("某某某") & keyword != null) {
            //注意:是HttpServletResponse而不是HttpServletRequest
            //且ServletResponse是HttpServletResponse的父类
            HttpServletResponse resp = (HttpServletResponse) response;
            //重定向跳转页面
            resp.sendRedirect("error.jsp");
        }else {
            chain.doFilter(request, response);
        }
    }


3.存在敏感词跳转的页面error.jsp,内容自拟

4.不存在敏感词,正常跳转到servlet,内容自拟

原文地址:https://www.cnblogs.com/su-chu-zhi-151/p/11233229.html