博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
spring mvc interceptor拦截器拦截请求
阅读量:5986 次
发布时间:2019-06-20

本文共 1697 字,大约阅读时间需要 5 分钟。

hot3.png

自己写项目玩又要用到简单的权限管理,于是总结下拦截器的简单使用。

spring-mvc.xml配置

自定义拦截器的类所在路径:com.jiest.interceptor.MyInterceptor

要拦截的路径为各个controller,如果只写一个/**则是拦截所有请求,包括静态资源。

package com.jiest.interceptor;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.springframework.web.servlet.HandlerInterceptor;import org.springframework.web.servlet.ModelAndView;public class MyInterceptor implements HandlerInterceptor {    // 写自己的规则,通过返回true,拦截返回false	@Override	public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)			throws Exception {		String uri = request.getRequestURI();// 实际访问的接口:/home/blog/list		System.out.println(uri);		// 下面的接口是需要验证的,首先验证是否登录		Object isLogin = request.getSession().getAttribute("login");		if (isLogin == null || !isLogin.equals(1)) {			System.out.println("error: unlogin");			// response.sendError(401);// 未登陆			return false;		}		return true;	}	@Override	public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,			ModelAndView modelAndView) throws Exception {		// System.out.println("IcmsInterceptor.postHandle()");		// 这句话的意思,是让浏览器用utf8来解析返回的数据		response.setHeader("Content-type", "text/html;charset=UTF-8");		// 这句话的意思,是告诉servlet用UTF-8转码,而不是用默认的ISO8859		response.setCharacterEncoding("UTF-8");	}	@Override	public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)			throws Exception {	}}

大概就这样了。

突然想起,做个人网站,权限管理没必要像之前项目那么麻烦,还弄些表。既然这个网站只有一个管理员,那我完全可以只对POST请求做拦截验证,这样简单多了。

转载于:https://my.oschina.net/liujiest/blog/735793

你可能感兴趣的文章
zabbix企业应用之discovery监控交换机流量
查看>>
我的友情链接
查看>>
鹊桥相会,心有滋味——爱你在心田
查看>>
你不知道的币圈江湖,ETH(以太坊)VS比特币,V神看不上中本聪
查看>>
Spring多数据源配置
查看>>
iptables
查看>>
字体大宝库:向设计师推荐20款好看的英文装饰字体
查看>>
Extjs 报表同值合并方法
查看>>
Java 泛型 (二)
查看>>
python 对象模型
查看>>
webservice是什么?
查看>>
分享:QT 5.0 正式版发布,支持 C++11
查看>>
分布式服务器学习心得
查看>>
青橙CEO蔡晓农:给大众高性价比智能机
查看>>
《Head First设计模式》 读书笔记01 策略模式
查看>>
Java中包的理解
查看>>
润乾报表 - 在页面间传递、接收和使用参数
查看>>
nutch 设置抓取间隔策略
查看>>
Encoding类
查看>>
myeclipse修改乱码(编码格式修改)(转)
查看>>