过滤器(Filter)对登陆页面进行过滤验证
import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import java.io.IOException; @WebFilter("/*")
public class LoginFilter implements Filter {
public void destroy() {
} public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException {
//不进行登陆无法访问其他页面
//ServletResponse类下面的子类HttpServletRequest中存在获取路径的方法getRequestURI
//首先对req进行强转
HttpServletRequest request = (HttpServletRequest) req;
//获取路径
String uri = request.getRequestURI();
//如果路径中存在这些就放行,注意:将jsp、css等路径也进行过滤,不然页面显示不全
if (uri.contains("login.jsp")
|| uri.contains("/loginServlet")
|| uri.contains("/checkCodeServlet")
|| uri.contains("/css/")
|| uri.contains("/fonts/")
|| uri.contains("/img/")
|| uri.contains("/js/")
) {
//放行
chain.doFilter(req, resp); } else {
//获取session,看用户是否登陆
HttpSession session = request.getSession();
Object user = session.getAttribute("user");
//登陆了进行放行操作
if (user != null) {
chain.doFilter(req, resp); } else {
//没有登陆过跳转登录页面
request.getRequestDispatcher("/login.jsp").forward(request, resp);
}
} } public void init(FilterConfig config) throws ServletException { } }
过滤器(Filter)对登陆页面进行过滤验证的更多相关文章
- 过滤器Filter(拦截jsp页面的跳转)案例:
		
创建一个 Filter , class类: 其继承于 接口 Filte(接口导包:import javax.servlet.Filter;) 在 web.xml 文件中配置并映射该 Filter. 其 ...
 - 【Filter  不登陆无法访问】web项目中写一个过滤器实现用户不登陆,直接给链接,无法进入页面的功能
		
在web项目中写一个过滤器实现用户不登陆,直接给链接,无法进入页面,而重定向到登陆界面的功能. 项目是用springMVC+spring+hibernate实现 (和这个没有多大关系) 第一步: 首先 ...
 - servlet和jsp页面过滤器Filter的作用及配置
		
刚刚有个朋友问我,Servlet的过滤器有什么作用? 现在发个帖子说明一下, 过滤器是一个对象,可以传输请求或修改响应.它可以在请求到达Servlet/JSP之前对其进行预处理, ...
 - 用过滤器Filter判断用户是否登陆
		
用过滤器Filter判断用户是否登陆 WEB.XML <!-- 用户session的 键 sessionKEY --> <context-param> <param- ...
 - ASP.NET MVC 学习5、登陆页面改为SSO验证
		
单点登录(SSO,single sign-on)是一个会话或用户身份验证过程,用户只需要登录一次就可以访问所有相互信任的应用系统,二次登录时无需重新输入用户名和密码.简化账号登录过程并保护账号和密码安 ...
 - 登陆页面改为SSO验证
		
登陆页面改为SSO验证 单点登录(SSO,single sign-on)是一个会话或用户身份验证过程,用户只需要登录一次就可以访问所有相互信任的应用系统,二次登录时无需重新输入用户名和密码.简化账号登 ...
 - 过滤器(Filter)、拦截器(Interceptor)、监听器(Listener)
		
一.Filter 过滤器 1.简介 Filter也称之为过滤器,它是Servlet技术中最实用的技术,WEB开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servle ...
 - 网站过滤器Filter
		
实际上,Filter与Servlet及其相似,区别只是FIlter的doFilter()方法里多了一个FilterChain的参数,通过该参数可以控制是否放行用户的请求.网站有了过滤器十分的方便,可以 ...
 - java之过滤器Filter (应用场景)
		
filter在开发中的常见应用: * 1.filter可以目标资源执行之前,进行权限检查,检查用户有无权限,如有权限则放行,如没有,则拒绝访问 * 2.filter可以放行之前,对re ...
 
随机推荐
- Spring底层源码分析
			
Spring 运行原理 Spring 启动时读取应用程序提供的 Bean 配置信息,并在 Spring 容器中生成一份相应的Bean 配置注册表,然后根据这张注册表实例化 Bean,装配好 Bean ...
 - 带你从头到尾捋一遍MySQL索引结构(2)
			
前言 Hello我又来了,快年底了,作为一个有抱负的码农,我想给自己攒一个年终总结.索性这次把数据库中最核心的也是最难搞懂的内容,也就是索引,分享给大家. 这篇博客我会谈谈对于索引结构我自己的看法,以 ...
 - 【React】377- 实现 React 中的状态自动保存
			
点击上方"前端自习课"关注,学习起来~ 作者:陈俊宇 https://github.com/CJY0208 什么是状态保存? 假设有下述场景: 移动端中,用户访问了一个列表页,上拉 ...
 - 【CSS】346- 你所不知道的 CSS 阴影技巧与细节
			
偷懒了1个多礼拜,在工作饱和的情况下,怎么坚持学习?今天的分享来自@Coco国服第一切图仔,我们聊聊CSS属性box-shadow- 关于 CSS 阴影,之前已经有写过一篇,box-shadow 与 ...
 - unittest自动化测试框架
			
目录 框架的概念 Unittest单元测试框架 常用的assert语句 unittest创建测试代码的方式: unittest构建测试套件(测试用例集合): unittest忽略测试用例: 运行测试集 ...
 - webpack实践(二)- webpack配置文件
			
webpack系列博客中代码均在github上:https://github.com/JEmbrace/webpack-practice <webpack实践(一)- 先入个门> < ...
 - poj 2398 Toy Storage(计算几何)
			
题目传送门:poj 2398 Toy Storage 题目大意:一个长方形的箱子,里面有一些隔板,每一个隔板都可以纵切这个箱子.隔板将这个箱子分成了一些隔间.向其中扔一些玩具,每个玩具有一个坐标,求有 ...
 - eclipse配置svn导出项目
			
eclipse安装svn 菜单栏help-->eclipse marketspace-->find中搜索subclipse,安装-->ok windows-->show vie ...
 - 永恒之蓝及WannaCry分析
			
以下部分是我的一次大作业,写了大概有一周,拿出来凑篇博客,如果有错误的地方,还请指正.粘贴过程中可能图片有错误. 1.环境搭建及简介 1.1 实验环境 Windows 7 (靶机) Parrot(攻击 ...
 - 基于HTML的购物车模型的代码设计
			
HTML代码 <html lang="en"> <head> <meta charset="UTF-8">   < ...