Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用注释添加servlet授权_Java_Servlets - Fatal编程技术网

Java 如何使用注释添加servlet授权

Java 如何使用注释添加servlet授权,java,servlets,Java,Servlets,我正在尝试创建一个授权机制,在检查请求参数后有条件地运行servlet。此授权代码应该在servlet之前运行,并且应该具有servlet对象本身的句柄。servlet对象的句柄可用于检查是否定义了授权注释。我为此探索了过滤器,但过滤器没有访问servlet实例的权限。获得类似拦截器的功能的最简单方法是什么?如果您使用Tomcat,您可以创建一个日志过滤器。获得类似AOP的行为的最简单方法是使用AOP框架,如Guice或AspectJ。无论Java EE容器如何,这也将起作用 上有一个这样的例子

我正在尝试创建一个授权机制,在检查请求参数后有条件地运行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应用程序框架。