【发布时间】:2012-08-03 14:05:22
【问题描述】:
我正在使用 Jersey restful web services 。 这是我下面的代码
@Path(/test)
public class testService {
@POST
public String getData(Postdata postdata) {
}
}
我的问题是,在这个类中是否可以访问 httpSession 对象??
【问题讨论】:
我正在使用 Jersey restful web services 。 这是我下面的代码
@Path(/test)
public class testService {
@POST
public String getData(Postdata postdata) {
}
}
我的问题是,在这个类中是否可以访问 httpSession 对象??
【问题讨论】:
试试:
@POST
public String getData(Postdata postdata, @Context HttpServletRequest request) {
HttpSession session = request.getSession();
}
【讨论】:
如果你的服务不是单例的,你可以使用:
@Path("/test")
public class TestResource {
@Context
private HttpServletRequest request;
@POST
public String getData(Postdata postdata) {
HttpSession session = request.getSession();
}
}
【讨论】:
ThreadLocal,见stackoverflow.com/a/5473312/870248
https://github.com/jersey/jersey/search?utf8=✓&q=ThreadLocal&type=Code
request 对象访问会话对象,就像普通的 servlet 一样。您可以执行this 之类的操作。太棒了!