我正在开发允许用户创建工作区的系统。创建工作区后,用户可以通过提供用户名、密码和工作区登录。 我需要登录后生成的 jsessionid 来创建工作区和 jsessionid 之间的连接。
登录通过 REST。
@POST
@Path("login")
@Produces(ContentType.APPLICATION_JSON_CHARSET_UTF_8)
public JsonObject login(LoginCredentials loginCredentials) throws UnAuthorizedException {
//login logic
}
我还有实现 ContainerResponseFilter、WriterInterceptor 的拦截器。
@Override
public void filter(ContainerRequestContext requestContext, ContainerResponseContext context)throws IOException {
//...
}
我如何获得生成的 jsessionid(我在响应 header 中看到的)?
最佳答案
如果您有一个 http 请求对象,您可以获取关联的 session 。获得 session 后,您可以获得其 ID
request.getSession(true).getId()
将 true
传递给 getSession
会导致创建一个新 session (如果 session 尚不存在)。
关于java - 登录后在REST中提取JSESSIONID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30074340/