论坛首页 Java企业应用论坛

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

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


this.getWebRequest();.getServerName();
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  
不好意思,我一直在内网开发,也没有仔细留意区别,你用下面的方式来获取吧:

<inject property="servletRequest" object="service:tapestry.globals.HttpServletRequest"/>


public abstract HttpServletRequest getServletRequest();;

this.getServletRequest();.getRemoteAddr();

这样肯定没有问题了。
0 请登录后投票
   发表时间:2006-01-24  
搞定了,谢谢,不知您有没有时间写一个 tapestry 内置服务的文档,造福一下大众啊
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics