过滤器和监听器的使用(代码实现)

本节代码后期会进行修改,这是一个简单的模板

目录

项目背景

 项目过程

代码实现

数据库

 登录功能

积分达到的可下载

过滤评论敏感词

 代码运行展示

 常见bug

解决方案一(最有效)

解决方案二

解决方案三


项目背景

现在公司为了能扩大收益面,将原来免费下载的资源修改为有偿下载,要求用户在登录情况下,且个人积分 在 100 分以上时,才可以下载资源(用户可以通过充值来提高积分量),并且下载完成后,可以留言评论该资 源,此时如何保证用户发布的文字合理合法(不能包含敏感词)?

 项目过程

1. 配置所有请求执行过滤器

2. 过滤器中添加用户非登录验证

3. 用户登录情况下,查询其个人积分是否满足下载条件

4. 下载完成后,用户留言评论,在过滤器中对留言内容进行敏感词过滤

代码实现

完整代码:login02: 登录界面02

本节代码比较简单,分了好几个界面

这里把lib文件夹放到WEB-INF下面,我忘了改一下,不放的话可能会报错 

数据库

数据表生成放进完整代码里面的login文件夹下面

 登录功能

1.servlet通过得到界面信息,传入后台数据库进行查找,最后存值

 2.这里添加一个过滤器

 

积分达到的可下载

 若积分不足将跳转到不可下载页面

 

过滤评论敏感词

通过遍历得到数据库中的所有评论数据

 

 评论过滤器,把一些敏感词汇转变成*

 代码运行展示

 

 

 常见bug

下面是我编写的时候遇见的一个bug,我提一下解决方案

 这里有时候可能会报一个500的错误

解决方案一(最有效)

新建一个项目,把代码复制到上面

解决方案二

在下一行加return,原因是服务器可能没有办法跳出forword

解决方案三

在外面加一个if-else

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
过滤器监听器是servlet中的两个重要组件,它们可以帮助我们更好地管理和处理请求和响应。以下是过滤器监听器的配置和运用方法: 1. 过滤器(Filter)的配置和运用: 过滤器用于拦截请求和响应,可以在请求到达servlet之前或者响应返回给客户端之前进行处理。过滤器可以对请求进行拦截、处理和修改,也可以对响应进行拦截、处理和修改,从而实现对请求和响应的控制和管理。 过滤器的配置需要在web.xml文件中进行,例如: ``` <filter> <filter-name>MyFilter</filter-name> <filter-class>com.example.MyFilter</filter-class> </filter> <filter-mapping> <filter-name>MyFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> ``` 这样,MyFilter就会拦截所有的请求。在MyFilter中,可以重写doFilter方法,对请求和响应进行处理和修改。 2. 监听器(Listener)的配置和运用: 监听器用于监听servlet容器中的事件,例如servlet的创建和销毁、session的创建和销毁、attribute的添和移除等等。通过监听这些事件,我们可以在特定的时刻进行特定的操作,例如在session创建时初始化一些数据、在servlet销毁时释放一些资源等等。 监听器的配置也需要在web.xml文件中进行,例如: ``` <listener> <listener-class>com.example.MyListener</listener-class> </listener> ``` 这样,在MyListener中,可以重写对应的监听器方法,例如: ``` public class MyListener implements HttpSessionListener { public void sessionCreated(HttpSessionEvent event) { // session创建时执行的代码 } public void sessionDestroyed(HttpSessionEvent event) { // session销毁时执行的代码 } } ``` 这样,在session创建和销毁时,就会执行对应的代码

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

幻想碟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值