论坛首页 Java版 Webwork

请问在 tapestry 4 里如何获得用户的 IP

浏览 2016 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
最后更新时间:2006-01-23
我现在正在把以前 tapestry 3 的代码升级到 4,
以前获取用户 IP 使用的是  RequestCycle 的 getRequestContext() 方法
现在这个方法已经 deprecated 了, 而且注明要在 4.1 删除, 请问还有什么方法能够获得用户的 IP 吗?
   
最后更新时间:2006-01-23
有多种方式,下面是其中一种:
[code:1]
<inject property="webRequest" object="service:tapestry.globals.WebRequest"/>


this.getWebRequest().getServerName()
[/code:1]
   
0 请登录后投票
最后更新时间:2006-01-23
我试了您的方法,org.apache.tapestry.web.WebRequest  并没有方法能得到用户的 IP 地址
   
0 请登录后投票
最后更新时间:2006-01-23
Tapestry4.0正式版,我能从getServerName() 获取到IP。
   
0 请登录后投票
最后更新时间:2006-01-23
谢谢您的帮忙,不过getServerName() 返回的是本地服务器的名称,我需要的是用户的IP地址
   
0 请登录后投票
最后更新时间:2006-01-24
不好意思,我一直在内网开发,也没有仔细留意区别,你用下面的方式来获取吧:

[code:1]
<inject property="servletRequest" object="service:tapestry.globals.HttpServletRequest"/>


public abstract HttpServletRequest getServletRequest();

this.getServletRequest().getRemoteAddr()
[/code:1]
这样肯定没有问题了。
   
0 请登录后投票
最后更新时间:2006-01-24
搞定了,谢谢,不知您有没有时间写一个 tapestry 内置服务的文档,造福一下大众啊
   
0 请登录后投票
论坛首页 Java版 Webwork

跳转论坛:
JavaEye推荐