zoukankan
html css js c++ java
JAVA WEB中的Servlet过滤器
实现一个Servlet过滤器,可以对用户登录情况进行控制。要求如下:
1)访问路径是admin下的资源,需要登录,如果用户没有登录,自动转向用户登录页面。用户登录成功后,再次访问admin下的资源不需要登录。
2)访问其他路径下的资源,不需要登录,可直接访问。
3)必须使用Servlet过滤器实现该功能。
工具:eclipse、tomcat
过程如下:
一、制作登录界面,其中包含用户名以及密码的验证(实验内容),另外加了一个验证是否是因为访问受限资源而跳转到登陆界面(flag),只能将获得path通过form表单的post方式发送出去,不能在Java代码中直接将path放入request请求,这样即使放入成功,在servlet中也获取不到,因为下面还有form表单的提交,两个request不在一个作用域中,因此,我将获取的path信息放入一个input标签中,并使之隐藏,这样既可以成功发送,又不影响原界面的美观。
二、 制作访问路径过滤器
(1) 将请求转换为http请求
(2) 判断获得用户名是否为空(是否已经登陆)
(3) 获得当前请求的访问路径(用于登陆后跳转至原界面而不是一个固定的界面)
(4) 如果用户名不为空,说明已经登陆则可以直接访问
(5) 如果用户名为空,说明用户还未登陆,如果url也不为空,记录将要访问的url中的最后/和访问的文件名放入request中,并且令flag等于1(说明是重定向至登录界面,而不是直接访问登录界面)将所有请求重定向至登录界面。
三、在web.xml中配置相应属性,用于过滤器过滤admin路径下的所有资源
四、配置四个界面,基本不做任何处理,放一段文字即可,然后配置统一的css属性,改变其背景颜色,并令其居中显示,四个文件以及css配置如下:(两个界面放置在admin目录下,一个another.jsp界面放在admin外面,不需要登陆即可访问,fail.jsp是用户登录失败的界面,下面仅以介绍success1.jsp为例)
五、编写success1.jsp界面,在session中获取登陆的用户名并且展示在界面上
六、编写LoginServlet类,用于用户登陆之后进行验证等操作
(1) 将字符转码
(2) 获取请求的用户名密码以及访问路径
(3) 判断用户名及密码是否正确
(4) 如果正确,设置session有效值为30分钟,把用户名放入session中
(5) 判断访问路径是否为空,以及是否为null字符串(经过index.jsp界面的转换,可能将null转换为String类型)
(6) 判断访问路径是否为登录界面,如果不是,就跳转到用户请求的界面,否则登陆成功后就跳转到固定的admin目录下面success1.jsp界面。
(7) 如果用户名或密码错误就跳转到失败界面。
项目源码下载地址:
点此下载
查看全文
相关阅读:
【iCore3 双核心板】例程二十四:LAN_DHCP实验——动态分配IP地址
【iCore3 双核心板】例程二十三:LAN_HTTP实验——网页服务器
【iCore3 双核心板】例程二十二:LAN_UDP实验——以太网数据传输
【iCore3 双核心板】例程二十一:LAN_TCPS实验——以太网数据传输
【iCore3 双核心板】例程二十:LAN_TCPC实验——以太网数据传输
【iCore3 双核心板】例程十九:USBD_MSC实验——虚拟U盘
【iCore3 双核心板】例程十八:USB_VCP实验——虚拟串口
【iCore3 双核心板】例程十七:USB_MSC实验——读/写U盘(大容量存储器)
【iCore3 双核心板】例程十六:USB_HID实验——双向数据传输
【iCore3 双核心板】例程十五:USB_CDC实验——高速数据传输
原文地址:https://www.cnblogs.com/zqm-sau/p/10331883.html
最新文章
【iCore3 双核心板_FPGA】例程七:基础逻辑门实验——逻辑门使用
【应用笔记】【AN004】VB环境下基于RS-485的4-20mA电流采集
【iCore3 双核心板_FPGA】例程六:计数器实验——计数器使用
【iCore3 双核心板_FPGA】例程五:Signal Tapll实验——逻辑分析仪
【iCore3 双核心板_FPGA】例程四:Tcl脚本实验——配置引脚
【iCore3 双核心板_FPGA】例程三:GPIO输入实验——识别按键输入
【iCore3 双核心板_FPGA】例程二:GPIO输出实验——点亮三色LED
【iCore3 双核心板_FPGA】例程一:认识FPGA
【贺】银杏公司乔迁新居
【iCore3 双核心板】例程三十五:HTTP_IAP_ARM实验——更新升级STM32
热门文章
【iCore3 双核心板】例程三十四:U_DISK_IAP_ARM实验——更新升级STM32
【iCore3 双核心板】例程三十三:SD_IAP_ARM实验——更新升级STM32
【iCore3 双核心板】例程三十二:UART_IAP_ARM实验——更新升级STM32
【iCore3 双核心板】例程三十一:HTTP_IAP_FPGA实验——更新升级FPGA
【iCore3 双核心板】例程三十:U_DISK_IAP_FPGA实验——更新升级FPGA
【iCore3 双核心板】例程二十九:SD_IAP_FPGA实验——更新升级FPGA
【iCore3 双核心板】例程二十八:FSMC实验——读写FPGA
【iCore3 双核心板】例程二十七:DMA LAN实验——高速数据传输测速
【iCore3 双核心板】例程二十六:MODBUS TCP实验——电源监控
【iCore3 双核心板】例程二十五:LAN_DNS实验——域名解析
Copyright © 2011-2022 走看看