Java中过滤器Filter的使用

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页面,响应给浏览器。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值