过滤器应用之敏感字符的捕获
思路:在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,内容自拟