您的位置:首页 > 编程语言 > Java开发

Java中过滤器Filter的使用

2019-07-24 10:21 218 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/Victorymh/article/details/97105419

Java中过滤器Filter作用:

为了在浏览器往服务器发送请求时,通过获取请求路径,进行登录权限验证、资源访问权限控制、敏感词汇过滤、字符编码转换等等操作,便于代码的重用,不必每个servlet中还要进行相应的操作。

以下只说明其中几种方法

创建与使用

1、创建一个Filter包,新建Filter文件并放入该包中

2、规定过滤路径
(1)在web注解中声明

若声明某个后缀,则 *.后缀名,不要加 /,不然会报错


(2)在web.xml文件中声明
3、在doFilter方法中写要执行的条件语句或属性
(注意,需要写在chain.doFilter方法前)
执行字符编码
敏感词汇过滤

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
String keyword = request.getParameter("comment");
if(keyword != null && keyword.contains("fuck") ) {
HttpServletResponse resp = (HttpServletResponse) response;
resp.sendRedirect("error.jsp");
}else{
chain.doFilter(request, response);
}
}

这里的jsp文件以form表单提交为案例:

若填写的多行文本中没有敏感词汇,执行hello.do的servlet文件,返回一个响应语句

若包含敏感词汇,浏览器访问.do路径文件时,过滤器获取到该路径,通过重定向的方式跳转到error.js页面,响应给浏览器。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: