我尝试将拦截器放在servlet上,但似乎没有任何反应。但是当我在会话bean上放置相同的东西时,它确实会拦截。我不确定我是否做了正确的事,但我的想法只是在拦截器中检查servlet。
Servlet定义:它没有拦截器,但没有例外
@WebServlet("/getCurrentDatetime")
@CheckPermission("DEV")
public class DatetimeServlet extends HttpServlet {
...
CheckPermission
定义:
@Inherited
@InterceptorBinding
@Retention(RUNTIME)
@Target({METHOD, TYPE})
public @interface CheckPermission {
@javax.enterprise.util.Nonbinding
String value() default "";
}
会话Bean定义:此拦截器工作得很好
@Stateless
@CheckPermission("DEV")
public class MyServiceBean implements MyService {
...
我正在使用Java 1.6和GlassFish 3.