| Author |
Message |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 31/03/2006 21:42:54
|
boaglio
![[Avatar]](/images/avatar/3416a75f4cea9109507cacd8e2f2aefc.jpg)
Joined: 28/09/2005 11:05:16
Messages: 297
Location: Sao Paulo - Brazil
Offline
|
Qual a maneira mais fácil de pegar o IP da request dentro de uma action?
|
http://www.boaglio.com
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/04/2006 00:20:52
|
Lobo
![[Avatar]](/images/avatar/093f65e080a295f8076b1c5722a46aa2.jpg)
Joined: 23/01/2006 02:17:14
Messages: 834
Location: Fortaleza-CE
Offline
|
ola,
estou usando da seguinte forma:
InputRequest ir = (InputRequest)input;
String ip = ir.getRequest().getRemoteHost();
atenciosamente,
Hélio Frota
|
Atenciosamente,
Hélio Frota
Helio Frota
10+ Java Programmer
Blog
http://www.kawaiwiki.org/
http://www.mentaframework.org/
Mentawai Developer |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/04/2006 15:06:26
|
saoj
Joined: 01/07/2005 09:59:17
Messages: 2846
Location: Rio de Janeiro, RJ
Offline
|
Fazer o cast para pegar o HttpServletRequest é ruim pois acopla a sua aplicação a api de servlets. Isso é tudo que a gente quer evitar.
Mas realmente tava faltando um jeito a-la-Mentawai para pegar esse ip.
Acabei de adicionar o método getProperty(String name) na interface Input.
Agora para pegar esse IP, ou para chamar qualquer método getXXXX do request vc pode fazer:
Code:
String ip = input.getProperty("remoteAddr");
String host = input.getProperty("remoteHost");
String method = input.getProperty("method");
E por aí vai... Basicamente por refleciton estamos chamando os métodos getXXXX do HttpServletRequest.
|
Sergio Oliveira
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/04/2006 15:17:57
|
RubemAzenha
Joined: 30/06/2005 23:12:02
Messages: 472
Location: São Paulo, SP
Offline
|
hum, não é melhor deixar Object?
|
Mentawai Developer |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/04/2006 15:26:49
|
saoj
Joined: 01/07/2005 09:59:17
Messages: 2846
Location: Rio de Janeiro, RJ
Offline
|
Eu pensei nisso tb.
Dei uma olhada nos métodos de ServletRequest e HttpServletRequest e são poucos que retornam algo diferente de uma String que poderiam nos ser útil.
Acho que retornar String fica mais pragmático, pois o cara não tem que converter para String, sei lá...
Veja aí e se tu achar um caso em que isso vai trazer problemas posta aqui para a gente reavaliar isso...
|
Sergio Oliveira
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/04/2006 10:34:58
|
saoj
Joined: 01/07/2005 09:59:17
Messages: 2846
Location: Rio de Janeiro, RJ
Offline
|
O único método que poderá justificar um getStringProperty() e um getProperty() que retornaria um Object é:
java.security.Principal getUserPrincipal();
Criar mais um método só por causa desse pentelho será que vale a pena ?
Os outros métodos que interessam retornam sempre String...
Sergio
|
Sergio Oliveira
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/04/2006 10:49:45
|
RubemAzenha
Joined: 30/06/2005 23:12:02
Messages: 472
Location: São Paulo, SP
Offline
|
Cria um getAttribute para String e getProperty para Object
se o cara tentar dar getAttribute pra um Object, lanca um IllegalArgumentException
|
Mentawai Developer |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/04/2006 12:04:01
|
saoj
Joined: 01/07/2005 09:59:17
Messages: 2846
Location: Rio de Janeiro, RJ
Offline
|
getAttribute pode ser confundido com getValue.
Isso pode complicar...
|
Sergio Oliveira
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/04/2006 13:13:01
|
velo
![[Avatar]](/images/avatar/7f39f8317fbdb1988ef4c628eba02591.jpg)
Joined: 16/02/2006 13:33:54
Messages: 1197
Location: Jaraguá do Sul - SC
Offline
|
saoj wrote:
...
Code:
String ip = input.getProperty("remoteAddr");
String host = input.getProperty("remoteHost");
String method = input.getProperty("method");
...
Não seria interessante ter uma interface com essas constantes?
VELO
|
_____________________________________
Mentawai Developer
"When the only tool you have is a hammer, everything looks like a nail"
http://en.wikipedia.org/wiki/Golden_hammer |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/04/2006 13:43:36
|
saoj
Joined: 01/07/2005 09:59:17
Messages: 2846
Location: Rio de Janeiro, RJ
Offline
|
Hummm.. Não sei... Acho que não pois isso ta vindo por reflection do objeto que está por trás do input.
Para saber que valores usar ali vc terá que olhar a documentação da API de serlvets, isto é, os métodos de HttpServletRequest.
Mas de repente não custa criar algumas variáveis estáticas na interface input.
Sei lá... é para pensar com calma...
|
Sergio Oliveira
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/04/2006 23:59:07
|
Marcos Silva Pereira
Joined: 10/08/2005 10:22:46
Messages: 16
Offline
|
Olá, que tal se fosse um filtro a fazer esse trabalho? Ele disponibilizaria todos esses dados no input, assim não precisa alterar a API. Os nomes seguem a nomenclatura que o Sergio fez.
valeuz...
|
Marcos Silva Pereira
Comunidade Blastêmica |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/04/2006 08:36:56
|
saoj
Joined: 01/07/2005 09:59:17
Messages: 2846
Location: Rio de Janeiro, RJ
Offline
|
O filtro tem acesso a action e seus contextos.
O filtro teria o mesmo problema da action para chegar ao request.
O request fica escondido (encapsulado) dentro do Input, que na verdade é um RequestInput.
|
Sergio Oliveira
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/04/2006 21:18:36
|
Marcos Silva Pereira
Joined: 10/08/2005 10:22:46
Messages: 16
Offline
|
Hum, assim como uma action, um filtro tem acesso ao request de algum modo certo? Então, ao inves de alterar a API de Input e se preocupar se retorna um Object ou String, se é preciso criar um metodo getUserPrincipal, apenas cria um filtro que deixa todos esses dados no input. Não vejo problema no fato de ele acessar o request.
Enfim, acho melhor deixar o trabalho sujo para ele fazer.
valeuz...
|
Marcos Silva Pereira
Comunidade Blastêmica |
|
|
 |
|
|