java同名过滤器,详解JavaEE使用过滤器实现登录(用户自动登录 安全登录 取消自动登录黑用户禁止登录)...

在我们生活中,对于账户的自动登录已经很常见了,所以利用过滤器实现这个功能。

主要介绍用户的自动登录和取消自动登录,以及实现一天自动登录或者n天实现自动登录,当用户ip被加入到黑名单之后,直接利用过滤器返回一个警告页面。

过滤器的功能很是强大,我们只需要在写好的前台后servlet之后进行添加就可以实现这个功能

Ps:这个仅仅只是一个演示而已,里面的访问数据库的部分,自己随意模拟了下,主要是突出实现自动登录的功能。

前台代码:

前台代码是成功与否都在这个页面显示。用到的技术:jstl标签的应用,session读取值

1-200501132358.jpg

servlet的实现代码:

和以前的代码一样,只负责和前台交互即可:里面用到的技术有url编码,值存在cookie里面,存在session里面,页面跳转(转发)

到现在为止,都感觉没有什么技术,和以前的代码一个,现在就是Filter的作用了。

安全登录:

之前我们采用过动态导入来进行安全登录,防止用户进入项目之后,不用登录,随意输入都可以进入界面,动态导入能够实现这个功能,但是,采用过滤器更好。

在过滤器中一般写的都是dofilter();只需要判断session容器里面是否为null,为null这说明这是没有登录的,直接踢回登录界面,否,则放行

代码呈上:

字符编码:

字符编码的问题,以前每一次都需要在servlet的dopost()里面自己手动输入,request.setCharacterEncoding("utf-8");每一个servlet都需要输入,太麻烦,我们采用过滤器实现;

代码呈上:

再上面的character定义为全局变量,初始值在web.xml中配置。

web.xml代码呈上:

自动登录:

主要思路:自动登录需要判断session里面是都存有值,有,则登录过了,没有,就去本地cookie查找,存在,去数据库匹配,若匹配成功,就把session容器添加值。

代码呈上:

1-200501132358-50.jpg

1-200501132359.jpg

1-200501132359-50.jpg

黑名单用户

黑名单用户,不准登录,直接告诉它结果

代码呈上:

黑名单返回的类型为list最好,我这里是自己手动添加,原本应该从写一个工具类从数据库读取,不止能查,还能增删改--黑名单。

代码呈上:

Hashset 定义为全局变量,set里面含有contain,效率很高。

1-200501132400.jpg

取消自动登录

当一直自动登录认为不安全,所以我们设置没有自动登录

之前我们知道,自动登录靠的是cookie里面存的技术,所以这里我们只需要将cookie删除就可以了

因为取消自动登录是超链接,所以写的是servlet.

代码呈上:

上面这些就能实现这些简答的功能了。

以上所述是小编给大家介绍的详解JavaEE使用过滤器实现用户自动登录 安全登录 取消自动登录黑用户禁止登录的相关知识,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值