在jersey2.x中如何注入HttpRequest和HttpSession对象?如何在外面使用注入的对象

时间:2016-06-20 11:24:03

标签: java java-ee jersey-2.0

使用Jersey 2.x如何注入HttpRequest和HttpSession对象?以及如何在服务类中使用注入请求和Httpsession对象?

  1. 在2. 2.x注入请求和资源类中的会话对象工作正常获取请求和会话对象

  2. 像商务舱一样无法工作。

1 个答案:

答案 0 :(得分:1)

您可以尝试将@Context HttpServletRequest request添加到资源方法签名中。这将使request在方法持续时间内可用。

将HttpServeltRequest / Session对象传递给服务或业务类是不好的做法。如果执行此操作,则除了Web应用程序之外,您在使用服务类时非常困难。您应该从Resource类中的HttpServletRequest / Session中提取服务类所需的数据,并将其传递给服务类

例如,如果您的服务类需要访问HttpServletRequests“userName”参数中保存的userName,那么Resource类应该

String userName = req.getParameter("UserName");
serviceClass.doSomething(userName);

而不是

serviceClass.doSomething(req);