Em C# para obter o contexto da aplicação utilizo HttpRequest request = HttpContext.Current.Request e para Java o que devo usar?
Gostaria de obter os cookies de uma sessão através de um método de uma classe chamada por um servlet.
Em C# para obter o contexto da aplicação utilizo HttpRequest request = HttpContext.Current.Request e para Java o que devo usar?
Gostaria de obter os cookies de uma sessão através de um método de uma classe chamada por um servlet.
Você pode utilizar
request.getCookies()
Em JSP request é um objeto implicito, não é necessário declara-lo. No servlet ele é um parametro dos métodos doGet, doPost, etc.
Obrigado pela ajuda, mas infelizmente tenho que utilizar uma classe.
Esta classe teria um método para obter os cookies da sessão.
E esta classe não seria uma classe servlet.
Em C# a qualquer momento e em qualquer lugar posso referenciar o contexto atual da aplicação. Eu simplismente gostaria de fazer a mesma coisa em Java.
Gostaria de ter acesso ao HttpServletRequest em uma classe que não fosse um servlet.
Impossível. Esse request é instanciado pelo container e passado para o servlet quando ocorre uma requisição, só daí tu pode recuperá-lo. O que tu pode fazer é ir delegando entre as chamadas nas classes esse request até o ponto que quiser usá-lo.
voce pode tentar acessar o site com o http commons da jakarta
ve se te ajuda:
bom… se vc não possuir nenhuma referência a um objeto request é um pouco complicado pois vc vai ter que obter um Context a partir do JNDI:
InitialContext initial = new InitialContext();
Context ctx = initial.lookup("java:/comp/Resources"); // será uma instancia de DirContext na verdade
a partir daí vc vai ter q fuçar pra conseguir achar o q vc está procurando dentro do contexto (getEnviroment())
[quote=“matheus”][quote=“voltolini”]
Gostaria de ter acesso ao HttpServletRequest em uma classe que não fosse um servlet.
[/quote]
Impossível. Esse request é instanciado pelo container e passado para o servlet quando ocorre uma requisição, só daí tu pode recuperá-lo. O que tu pode fazer é ir delegando entre as chamadas nas classes esse request até o ponto que quiser usá-lo.[/quote]
“Na computação a palavra impossível é meramente temporal!”
Alguma vez vc já teve a coragem de dizer para o teu chefe q algo era impossível de ser feito? … no máximo vc poderia ter dito q era inviável
Ta, ta, que seja, estou me limitando a uma solução usando o que a especificação te oferece e sem gambiarras paranóicas. :roll: