在我使用(球衣)@Context
的網絡服務類中,我注入了HttpServletRequest
,HttpServletResponse
,ServletContext
用於身份驗證的對象,我稱之爲ValidateUser
servlet。HttpSession在REST風格的Web服務中爲空?
HttpSession session = request.getSession(true);
到目前爲止一切正常,但是當我打電話:
HttpSession session = request.getSession(false);
session.invalidate();
在退出servlet會話
是null
@Path("/server")
public class WebServer {
@Context
private ServletContext context;
@Context
private HttpServletRequest request;
@Context
private HttpServletResponse response;
@POST
@Path("/auth")
@Consumes(MediaType.APPLICATION_JSON)
public Response createTrackInJSON(Track track) throws IOException, ServletException{
....
context.getRequestDispatcher("/ValidateUser")include(request, response);
...
}
}
在ValidateUser.java
我作爲驗證後創建的會話。我知道寧靜的Web服務是無狀態的,但我需要維護服務器端的會話有沒有什麼辦法可以實現這一目標?那麼@PerSession
註釋呢?在這種情況下會有用嗎?
你正在使用哪個服務器? –
@yogeshprajapati Tomcat 7網絡服務器 –
這是拋出任何錯誤?你的代碼是正確的可能是由於你的服務器配置造成的問題。 –