springmvc过滤器简单实例
自定义过滤器
package com.ssm.student.filter;import java.io.IOException;
import java.io.PrintWriter;import javax.servlet.FilterChain;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import org.springframework.web.filter.OncePerRequestFilter;/*** @className SessionFilter* @deprecated 登录过滤器* @author pengfei.xiong* @date 2017年10月8日*/
public class SessionFilter extends OncePerRequestFilter{/** (non-Javadoc)* * @see* org.springframework.web.filter.OncePerRequestFilter#doFilterInternal(* javax.servlet.http.HttpServletRequest,* javax.servlet.http.HttpServletResponse, javax.servlet.FilterChain)*/@Overrideprotected void doFilterInternal(HttpServletRequest request,HttpServletResponse response, FilterChain filterChain)throws ServletException, IOException {//request.getSession().setAttribute("loginedUser", "ssss");// 不过滤的uriString[] notFilter = new String[] { "login.jsp", "index.jsp" };// 请求的uriString uri = request.getRequestURI();// uri中包含background时才进行过滤if (uri.indexOf("do") != -1) {// 是否过滤boolean doFilter = true;for (String s : notFilter) {if (uri.indexOf(s) != -1) {// 如果uri中包含不过滤的uri,则不进行过滤doFilter = false;break;}}if (doFilter) {// 执行过滤// 从session中获取登录者实体Object obj = request.getSession().getAttribute("loginedUser");if (null == obj) {// 如果session中不存在登录者实体,则弹出框提示重新登录// 设置request和response的字符集,防止乱码request.setCharacterEncoding("UTF-8");response.setCharacterEncoding("UTF-8");response.setContentType("text/html");PrintWriter out = response.getWriter();String loginPage = "login-old.jsp";StringBuilder builder = new StringBuilder();builder.append("<script type=\"text/javascript\">");builder.append("alert('网页过期,请重新登录');");builder.append("window.top.location.href='");builder.append(loginPage);builder.append("';");builder.append("</script>");out.print(builder.toString());} else {// 如果session中存在登录者实体,则继续filterChain.doFilter(request, response);}} else {// 如果不执行过滤,则继续filterChain.doFilter(request, response);}} else {// 如果uri中不包含background,则继续filterChain.doFilter(request, response);}}//在web.xml中配置..
}
web.xml配置过滤器
<!-- 自定义过滤器 --><filter><filter-name>sessionFilter</filter-name><filter-class>com.ssm.student.filter.SessionFilter</filter-class></filter><filter-mapping><filter-name>sessionFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping>
转载于:https://www.cnblogs.com/xpf1009/p/9227315.html
springmvc过滤器简单实例相关推荐
- springMVC简单实例
springMVC简单实例 参考: 使用springMVC实现简单的登录例子 - Admol - 博客园 https://www.cnblogs.com/admol/articles/4199546. ...
- SpringMVC——过滤器
SpringMVC--过滤器实现和理解 一.先提出几个问题 ?过滤器是什么? ?过滤器是如何实现的? ?过滤器和拦截器的区别? ?过滤器的核心原理是什么(阅读源码)? 之前我学东西总是不够深入,现在决 ...
- ActiveMQ简单介绍+简单实例
本文出自:http://www.open-open.com/lib/view/open1388994166156.html 1. JMS基本概念 JMS(Java Message Servi ...
- java查询mysql装载bean_jsp与javabean链接mysql数据库并查询数据表的简单实例源码
jsp与javabean链接mysql数据库并查询数据表的简单实例源码.这个简单的实例是给新手学习的,或者一些高手临时忘记怎么使用jsp操作mysql数据库时候查找的,包括了建立mysql数据库连接的 ...
- js入门·循环与判断/利用函数的简单实例/使用对象/列举对象属性的名称
1,列举对象属性的名称 <script language="javascript"> var obj=new Object(); obj.a="您好,我是田洪 ...
- 关于webservice的异步调用简单实例
于webservice的异步调用简单实例 无论在任何情况下,被调用方的代码无论是被异步调用还是同步调用的情况下,被调用方的代码都是一样的, 下面,我们就以异步调用一个webservice 为例作说明. ...
- (三)AJAX基本介绍和简单实例03
(三)AJAX基本介绍和简单实例03-----Ajax与数据库的动态应用 前台显示界面: 选择所有客户之后: 选择其中一个客户---杜森: Demo03.html代码 <html> < ...
- protobuf和socket通信简单实例
protobuf和socket通信简单实例 protobuf是 Google 公司内部的混合语言数据标准,可以用来定义通信的协议,由于其有序列化和反序列化的操作,减小了存储或通信的数据量,从而达到 ...
- 转载 jsonrpc环境搭建和简单实例
jsonrpc环境搭建和简单实例 一.环境准备 下载需要的jar包和js文件,下载地址:https://yunpan.cn/cxvbm9DhK9tDq 访问密码 6a50 二.新建一个web工程,j ...
最新文章
- Spring Cloud(六)服务网关 zuul 快速入门
- Spring Boot Dubbo 应用启停源码分析
- Python基础之:Python中的异常和错误
- Xamarin中国峰会2019
- 基于AliOS Things玩转智能语音
- 软件项目成员的业绩考核
- Linux内核分析——进程的描述和进程的创建
- js脚本实现自由复制百度文库文字
- 离散时间傅里叶变换Matlab实现
- 为什么Flutter是跨平台开发的终极之选,android完整项目源码
- Python系列之Django(ORM)
- 网络安全从入门到精通的学习资源汇总
- 怎样设计才能让文字排版更好看(一)
- 正则表达式 语法详解
- 第四次作业 个人学习总结 霍兰德- 职业兴趣测评
- Golang项目 Go Build时报错
- 【视频】什么是Bootstrap自抽样及应用R语言线性回归预测置信区间实例|数据分享
- 神经网络epoch和batch的粗浅理解
- jsp计算机网络学习网站
- 前端开发【短信分享】——H5调起短信,发送指定内容到指定号码
热门文章
- mongodb之配置
- jQuery(function(){...})与(function($){...})(jQuery)的“兄弟”情结
- android中控制ListView宽度和高度
- Log4j配置文件解读和模板页收藏
- SSL:Ubuntu证书配置
- Code Complete-13/7/29
- SSIS的文件系统任务实例(zz)
- Python的Linux的入门,学习摘要。
- LP Wizard 10.5破解步骤
- asp子窗口读取父窗口数据_算法与数据结构基础 - 数组(Array)