Я создал веб-сервис, на котором использовал аннотацию @Stateless, т.е.
@Stateless
@Path("/boo/too")
public class RestController {
@Context
private HttpServletRequest request;
@Context
private ServletContext context;
@GET
@Path("/coo")
@Consumes({MediaType.APPLICATION_JSON})
@Produces({MediaType.APPLICATION_JSON})
public GetResObj getFuncName(
@HeaderParam("foo") String foo,
@QueryParam("boo") String boo
) throws Exception{
MyClass className =(ClassCast) request.getSession().getAttribute("myClassInstance");
}
Теперь, прочитав некоторые материалы, я получил точный ответ на этот вопрос: вопрос
, я понимаю, что объект без состояния - это объект, который может иметь переменные, но он неизменен (не может содержать любое состояние).При использовании аннотации @Stateless часть кода request.getSession()
выдает исключение nullPointerException.Когда я удаляю аннотацию @Stateless, request.getSession()
работает нормально.
Вы видите, почему это происходит?