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) 如果用户名或密码错误就跳转到失败界面。

****************************************
项目源码下载地址:
点此下载
JAVA WEB中的Servlet过滤器的更多相关文章
- java web 中的servlet讲解
首先,解释一下解释一下什么是servlet?说一说Servlet的生命周期? servlet有良好的生存期的定义,包括加载和实例化.初始化.处理请求以及服务结束.这个生存期由javax.servlet ...
- Java WEB中的servlet
1.什么是servlet 2.servlet实现的过程 3.servlet的生命周期 4.servlet实现类及实现方法 什么是servlet Servlet 是在服务器上运行的小程序.这个词是在 J ...
- Java Web 中 过滤器与拦截器的区别
过滤器,是在java web中,你传入的request,response提前过滤掉一些信息,或者提前设置一些参数,然后再传入servlet或者struts的 action进行业务逻辑,比如过滤掉非法u ...
- java web中servlet、jsp、html 互相访问的路径问题
java web中servlet.jsp.html 互相访问的路径问题 在java web种经常出现 404找不到网页的错误,究其原因,一般是访问的路径不对. java web中的路径使用按我的分法可 ...
- 深入分析Java Web中的编码问题
编码问题一直困扰着我,每次遇到乱码或者编码问题,网上一查,问题解决了,但是实际的原理并没有搞懂,每次遇到,都是什么头疼. 决定彻彻底底的一次性解决编码问题. 1.为什么要编码 计算机的基本单元是字节, ...
- Java Web中解决乱码的方式
Java Web中解决乱码的方式 方式一:添加编码过滤器 package com.itmacy.dev.filter; import javax.servlet.*; import javax.ser ...
- Java web中常见编码乱码问题(一)
最近在看Java web中中文编码问题,特此记录下. 本文将会介绍常见编码方式和Java web中遇到中文乱码问题的常见解决方法: 一.常见编码方式: 1.ASCII 码 众所周知,这是最简单的编码. ...
- Java web中常见编码乱码问题(二)
根据上篇记录Java web中常见编码乱码问题(一), 接着记录乱码案例: 案例分析: 2.输出流写入内容或者输入流读取内容时乱码(内容中有中文) 原因分析: a. 如果是按字节写入或读取时乱码, ...
- Java Web 中使用ffmpeg实现视频转码、视频截图
Java Web 中使用ffmpeg实现视频转码.视频截图 转载自:[ http://www.cnblogs.com/dennisit/archive/2013/02/16/2913287.html ...
随机推荐
- Java开发包Jedis
Jedis: http://www.oschina.net/p/jedis (Redis的官方首选Java开发包) <!--Redis --> <dependency> < ...
- UWP实现吸顶的Pivot
话不多说,先上效果 这里使用了一个ScrollProgressProvider.cs,我们这篇文章先解析一下整体的动画思路,以后再详细解释这个Provider的实现方式. 结构 整个页面大致结构是 & ...
- neural_transfer风格迁移
ContentLoss 首先是要定义一个内容差异损失函数,这里直接调用functional.mse_loss(input,self.target)就可以计算出其内容差异损失. 注意这里一般是定义一个网 ...
- Java 内存模型和 JVM 内存结构真不是一回事
这两个概念估计有不少人会混淆,它们都可以说是 JVM 规范的一部分,但真不是一回事!它们描述和解决的是不同问题,简单来说, Java 内存模型,描述的是多线程允许的行为 JVM 内存结构,描述的是线程 ...
- 非常详细的Django使用Token(转)
基于Token的身份验证 在实现登录功能的时候,正常的B/S应用都会使用cookie+session的方式来做身份验证,后台直接向cookie中写数据,但是由于移动端的存在,移动端是没有cookie机 ...
- 如何将自己的代码发布到Maven中央仓库?
去年在公司做工作流相关业务时,当时使用flowable做引擎,中途涉及到一些业务上的需求,自己整理了一些代码,考虑到开源精神,当时就想着将于公司业务无关的代码抽离出来,放到Maven中央仓库中,以供别 ...
- NOIP退役记
10.10 想着自己再过一个月就要退役了,真叫人心酸.想到徐志摩的诗: "悄悄地,我走了,正如我悄悄的来,我挥一挥衣袖,不带走一片云彩." 学了这么久的OI,感觉真的就像诗里讲的一 ...
- idea实现第一个springboot程序
1.环境准备 JDK:1.8 Apache Maven: 3.6.1 IntelliJ IDEA 2019.1.3 x64 SpringBoot 1.5.9.RELEASE:1.5.9: 1.1.MA ...
- 用Python写了个下载快手视频的小脚本
最近又重新拾起了,对python的热情. 贴个地址: https://github.com/d1y/lovepack/blob/master/kuaishou.py 前戏说明 因为我近乎癫狂的喜欢一个 ...
- 礼盒抖动动画(CocosCreator)
推荐阅读: 我的CSDN 我的博客园 QQ群:704621321 这个月还有一天了,别问我为什么是一天,996,懂吗?项目是做不完了,策划又加新功能,又不能安静的改bug了.又是动画 ...