2 lkl713 lkl713 于 2014.12.03 14:21 提问

Jersey+Spring程序中如何实现拦截器

如题,项目中采用了Jersey+Spring实现Restful webservice,现在要对接口进行身份验证,方案已经确定,但如何实现类似于struts或SpringMVC的interceptor的效果?对所有请求进行身份验证
1,备选方案是利用J2EE的filter
2,想通过Spring的AOP来实现,切面是Jersey的Resource,但怎样注入HttpServletRequest呢?

4个回答

lkl713
lkl713   2014.12.03 15:47

没分了,求大神帮忙看看

zxjxccc
zxjxccc   2014.12.05 17:16

先用一个filter每次将request对象放在一个ThreadLocal里,Aop切面每次从ThreadLocal里去取当前线程的request对象,应该可以满足你的需求。

dpmail
dpmail   2015.08.20 15:03

import javax.ws.rs.core.Context;

.........................

@Context
private HttpServletRequest request;

lyygs20
lyygs20   2016.03.06 21:47

Jersey本身就提供了Request filter和Response filter机制,你只要实现对应的接口,并加入到Jersey的启动配置就可以了.
在实现接口时,可以取到containerRequest,这是个对ServletRequest的封装,可以取到任何request数据。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!