Servlet拦截器
Servlet拦截器
1.LoginFilter
package main.java.filter;import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;public class LoginFilter implements Filter {@Overridepublic void init(FilterConfig filterConfig) {}/*** @description 登录拦截* @param servletRequest 请求* @param servletResponse 响应* @param filterChain 持有Filter列表的管理和控制* @author zhq* @throws IOException 读写异常* @throws ServletException Servlet异常* @date 2021/5/24 10:40* @version 1.0*/@Overridepublic void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {HttpServletRequest request = (HttpServletRequest) servletRequest;HttpServletResponse response = (HttpServletResponse) servletResponse;HttpSession session = request.getSession();Object username = session.getAttribute("username");String path = request.getServletPath();//不需要过滤的urlString[] urls = {"/login","/json",".js",".css",".ico",".jpg",".png"};// flag是登录成功标志boolean flag = true;for (String url : urls) {if (path.contains(url) && !path.contains(".jsp")){flag = false;break;}else if (path.contains("login.jsp")){flag = false;break;}}if (flag) {if (username != null) {filterChain.doFilter(request, response);}else {response.sendRedirect("login.jsp");}}else{filterChain.doFilter(request, response);}}@Overridepublic void destroy() {}
}
2.web.xml配置
<filter><filter-name>LoginFilter</filter-name><filter-class>main.java.filter.LoginFilter</filter-class></filter><filter-mapping><filter-name>LoginFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping>
Servlet拦截器相关推荐
- Java中Filter、Listener,拦截器的学习,listener、 filter、servlet 加载顺序及其详解
Filter filter可认为是Servlet的一种"变种",它主要用于对用户请求进行预处理,也可以对HttpServletResponse进行后处理,是个典型的处理链.它与Se ...
- Servlet,过滤器,监听器,拦截器的区别
由于最近两个月工作比较清闲,个人也比较"上进",利用工作空余时间,也继续学习了一下,某天突然想起struts2和struts1的区别的时 候,发现为什么struts1要用servl ...
- Struts2 拦截器 及如何获得 servlet 请求对象 以及Struts 基本配置 Session 超时设置...
在拦截器中可以三种实现 一:继承 AbstractInterceptor 类 二:继承 MethodFilterInterceptor类 三:实现 Interceptor 接口 在实现Intercep ...
- springboot _配置过滤器、拦截器、使用原生servlet
配置过滤器.拦截器.使用原生servlet 过滤器和拦截器的根本区别 过滤器是servlet规范规定的,只能用于web程序中,而拦截器是在spring容器中,它不依赖servlet容器. 拦截器属于S ...
- Java Servlet 过滤器与 springmvc 拦截器的区别?
前言:在工作中,遇到需要记录日志的情况,不知道该选择过滤器还是拦截器,故总结了一下. servlet 过滤器 定义 java过滤器能够对目标资源的请求和响应进行截取.过滤器的工作方式分为四种 应用场景 ...
- servlet串行拦截器实现例子
至于串行过滤器有什么作用,我实在不知.我的理解是它只是说明 过滤器的串行运行方式 需求:当用户没有登录访问更新页面的时候,跳转到登录页面 1.登录页面:login.jsp <%@ page la ...
- jsp/servlet过滤器和struts2拦截器的有什么区别
jsp/servlet过滤器和struts2拦截器的有什么区别 542430725 | 浏览 3715 次 问题未开放回答 推荐于2016-11-14 01:43:29 最佳答案 过滤器,是在ja ...
- ssh备考-05Struts2 Action类下的重要API(原生Servlet的API、跳转配置、框架自身的数据封装、自定义拦截器)
目录 一.Struts框架中如何使用原生Servlet的API 方法一.使用ActionContext类(完全解耦合的方式)(不好用,了解) demo1.jsp demo1Action.java ...
- SpringBoot中使用拦截器、servlet、过滤器Filter
Spring Boot 使用拦截器步骤: 1. 创建类实现 HandlerInterceptor 接口 package com.dongmu.interceptor;import org.spring ...
最新文章
- 修改AspNetSqlMembershipProvider的密码规则
- Java jmap查看堆内存
- 如何给网红变现?Instagram正在尝试一种全新的方式
- SpringMVC + Apache POI 实现WEB中Excel下载功能
- [转]使用DBX分析AIX 下的 CoreDump
- ubuntu linux root,Ubuntu 中的 root 用户:你应该知道的重要事情 | Linux 中国
- 位置模拟服务器超时,调用别人提供的服务的时候没有设置超时程序被卡住了怎么办?,如何模拟超时的情况?...
- DockerFile入门指南
- 上海特斯拉自燃事件终于有结果了:没有系统缺陷 单个电池模组故障
- mysql5.6 table cache_MySQL 5.6下table_open_cache参数优化合理配置详解
- 申报火热进行中|2021“科创中国”开源创新榜评选
- 基于LM324的音调放大电路
- STM32学习笔记二、DS18B20单总线上挂载多路采集
- Django的models中ORM
- 网络编程中同步与异步,IO阻塞与非阻塞总结
- Latex-条目、编号、描述
- 音频服务器未能正常启动,Windows10系统音频服务未启动问题彻底解决方法
- 如何选择一款好相机?
- 乘法逆元 java_java写的三个求乘法逆元的算法
- Win2019AD域DNS服务器NSLOOKUP出现 Non-existent domain访问不了某一网站
热门文章
- 【渝粤教育】电大中专药品储存与养护技术 (2)作业 题库
- 【渝粤教育】广东开放大学 财务管理 形成性考核 (58)
- 【渝粤题库】国家开放大学2021春2094法理学题目
- 服务器突然关机的操作系统日志,一台R410 服务器不定时宕机,系统日志只有“上一次系统是意外关闭”...
- android自动退出对话框,Android开发 在用EditText对话框Dialog退出后实现输入盘的退出...
- 软件测试中需求分析谁去做的,软件项目在进入需求分析阶段,测试人员应该开始介入其中。 - 问答库...
- php 猴子选大王,php猴子选大王
- 【数字信号处理】分贝的概念及其日常使用中常见的错误
- centos8.2安装mysql_为CentOS 8操作系统安装MySQL的方法,以安装MySQL 8为例
- 苹果手机透明桌面_原来苹果手机辨别真假这么简单!查看桌面1个图标,就能轻松分辨...