Java 如何使用注释添加servlet授权
我正在尝试创建一个授权机制,在检查请求参数后有条件地运行servlet。此授权代码应该在servlet之前运行,并且应该具有servlet对象本身的句柄。servlet对象的句柄可用于检查是否定义了授权注释。我为此探索了过滤器,但过滤器没有访问servlet实例的权限。获得类似拦截器的功能的最简单方法是什么?如果您使用Tomcat,您可以创建一个日志过滤器。获得类似AOP的行为的最简单方法是使用AOP框架,如Guice或AspectJ。无论Java EE容器如何,这也将起作用Java 如何使用注释添加servlet授权,java,servlets,Java,Servlets,我正在尝试创建一个授权机制,在检查请求参数后有条件地运行servlet。此授权代码应该在servlet之前运行,并且应该具有servlet对象本身的句柄。servlet对象的句柄可用于检查是否定义了授权注释。我为此探索了过滤器,但过滤器没有访问servlet实例的权限。获得类似拦截器的功能的最简单方法是什么?如果您使用Tomcat,您可以创建一个日志过滤器。获得类似AOP的行为的最简单方法是使用AOP框架,如Guice或AspectJ。无论Java EE容器如何,这也将起作用 上有一个这样的例子
上有一个这样的例子。对于一个实际的应用程序,您应该使用一些框架,比如第一种方法更简单或者功能更强大。我两次都试了,最后一次结束。谢谢你的回复。我尝试了一件事,它对我有效。我在super类中添加了以下代码:
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方法受批注保护。请改用已建立的web应用程序框架。