我试图创建一个授权机制,在检查请求参数后有条件地运行servlet。此授权代码应在servlet之前运行,并且应具有servlet对象本身的句柄。 servlet对象的句柄可用于检查是否定义了授权注释。我为此探索了过滤器,但过滤器无法访问servlet实例。获得这种拦截器功能的最简单方法是什么?
答案 0 :(得分:0)
如果您使用的是Tomcat,则可以创建LoggingFilter。
答案 1 :(得分:0)
获得类似AOP行为的最简单方法是使用AOP框架,如Guice或AspectJ。无论Java EE容器如何,这都将起作用。
这是Guice website上的一个例子。
答案 2 :(得分:0)
对于真正的应用程序,您应该使用Apache Shiro等框架在第一种方法上更简单,或者SpringSecurity更强大。{{3}}。我试过两个,最后一个结束。
答案 3 :(得分:0)
感谢您的回复。我尝试了一件事,它对我有用。我在超类中添加了以下代码:
Method[] methods = this.getClass().getMethods();
Method annotatedMethod = null;
Annotation[] annotations = null;
for (Method method : methods) {
if (method.getName().equals("doGet") || method.getName().equals("doPost")) {
annotations = method.getAnnotations();
annotatedMethod = method;
break;
}
}
注意:DoPost方法是注释保护的。