Я разрабатываю веб-сервис RESTful на Java с Джерси и JBoss, и мне нужно хранить «переменные сеанса», как в PHP. Чтобы поддерживать сеанс клиента, но без использования coockies.
@Context
private UriInfo context;
@Context
private HttpServletRequest httpRequest;
@Path("/firstPage")
@GET
@Consumes(MediaType.TEXT_PLAIN)
@Produces(MediaType.APPLICATION_JSON)
public String createInstance(@QueryParam("instance") String inst)
throws JSONException
{
// Here I "declare" the session variable
HttpSession session = httpRequest.getSession(true);
session.setAttribute("instance", inst);
// Creation of the DTO (Data Transfer Object)
JSONObject innerObj = new JSONObject();
JSONObject outterObj = new JSONObject();
innerObj.put("ContactID", "{{Contact.Id}}");
innerObj.put("EmailAddress", "{{Contact.Field(C_EmailAddress)}}");
outterObj.put("recordDefinition", innerObj);
return outterObj.toString();
}
@Path("/secondPage")
@GET
@Consumes(MediaType.TEXT_PLAIN)
@Produces(MediaType.APPLICATION_JSON)
public String validateInstance(@QueryParam("instance") String inst)
throws JSONException
{
// Here I "validate" the session variable
HttpSession session = httpRequest.getSession(true);
if ((String)session.getAttribute("instance") == inst) {
JSONObject obj= new JSONObject();
outterObj.put("status", 200);
outterObj.put("instance", inst);
return obj.toString();
} else {
JSONObject obj = new JSONObject();
obj.put("error", 401);
return obj.toString();
}
}
Вот что я сделал, но он не работает, как я ожидал. Любое решение?