Existe um contexto de solicitação em Java?
Eu não sei exatamente como colocar o título aqui, e por causa disso eu também não sei como procurar a resposta.
Eu tenho um mecanismo de servlet java que lida com solicitações. Digamos que tenhamos uma solicitação do doGet:
<code>public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //set up user data //do whatever the user requested SomeClass c = new SomeClass(); c.doSomething(); } </code>
Agora no doSomething, quero poder acessar qual usuário fez a solicitação. Agora eu estou fazendo isso criando um objeto java e passando para onde eu precisar:
<code>public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //set up user data MyUserObj userObj = new MyUserObj(); userObj.setId('123'); //do whatever the user requested SomeClass c = new SomeClass(userObj); c.doSomething(); } </code>
Ao fazer isso, eu tenho acesso à instância de MyUserObj e ela pode ser repassada posteriormente, se necessário.
Isso parece desleixado. No asp.net MVC3 (estou aprendendo atualmente, comecei depois que comecei a aprender java, mas achei isso muito conveniente, então me fez repensar como eu estava fazendo isso em java) Eu posso, por exemplo, armazenar itens para o atual fio assim:HttpContext.Current.Items.Add("myId", "123")
. HttpContext
está então disponível em outras funções sem que eu tenha que passar em torno de um objeto.
Existe uma maneira em java para definir algumas variáveis por solicitação (ou mesmo definir oMyUserObject
para ser acessado mais tarde) sem passar o objeto através de um parâmetro?
Se essa é uma pergunta já respondida e comum, sinta-se à vontade para me apontar na direção certa, pois não sabia ao certo como expressá-la.