Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/350.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 在每个请求之前运行资源方法_Java_Cxf_Jax Rs - Fatal编程技术网

Java 在每个请求之前运行资源方法

Java 在每个请求之前运行资源方法,java,cxf,jax-rs,Java,Cxf,Jax Rs,我有一些代码,其中一个参数(cookie)可以传递到任何路径,我希望以相同的方式处理它: @Path("/some/path") public class JaxRsService { public void doStuff(@CookieParam("cookie") Cookie cookie) { handleCookie(cookie); // etc. } public void doStuff2(@CookieParam("

我有一些代码,其中一个参数(cookie)可以传递到任何路径,我希望以相同的方式处理它:

@Path("/some/path")
public class JaxRsService {

    public void doStuff(@CookieParam("cookie") Cookie cookie) {
        handleCookie(cookie);
        // etc.
    }

    public void doStuff2(@CookieParam("cookie") Cookie cookie) {
        handleCookie(cookie);
        // etc.
    }

    public void doStuff3(@CookieParam("cookie") Cookie cookie) {
        handleCookie(cookie);
        // etc.
    }
}
有没有办法从每种方法中考虑到这一点?我尝试创建一个setter,但是setter只在构造时被调用,所以cookie不可用

@Path("/some/path")
public class JaxRsService {

    // This never gets called
    @CookieParam("cookie")
    public void setCookie(Cookie cookie) {
       cookie // stuff
    }

    // etc.
}
类似地,还有
@postcontract
注释,但它只在构造时起作用

将cookie添加为类变量效果很好,但我仍然必须在每个请求中调用该方法:

@Path("/some/path")
public class JaxRsService {

    // This never gets called
    @CookieParam("cookie")
    Cookie cookie;

    public void doStuff() {
        handleCookie();
        // etc.
    }

    public void doStuff2() {
        handleCookie();
        // etc.
    }

    public void doStuff3() {
        handleCookie();
        // etc.
    }
}
有什么好方法来处理这个问题吗?

在CXF中,“拦截器”是修饰请求的标准方法。不过,我不知道有什么可移植的方法


。。。另一种方法可能是(专有的)(本质上几乎相同)

这是顶级资源还是子资源?@DonalFellows-这是顶级资源。我想我可以使用子资源定位器和一些魔法。。