Tapestry4.1中注入HttpRequest

本文介绍如何在Tapestry框架中通过注入HttpServletRequest来获取用户的远程地址和主机名,以便记录用户IP信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 最近在公司的项目后台中需要加入的对用的ip的记录,用户登录后要记录用户ip等相关新防止其他用户拦截到JSESSIONID后,伪造JSESSIONID进行操作。
第一次接触Tapestry基本上没啥概念在网络搜索了相关资料看了IRequestCycle的文档通过IRequestCycle.getInfrastructure() .getRequest()获得的是经过封装的WebRequest无法满足需求
在网上找到的信息是表示需要注入HttpRequest,一头雾水没概念。
看到别人注入使用的是WebRequest

/**注入Request*/
# @InjectObject("infrastructure:request")  
#  
public abstract WebRequest getRequest();  

在问了同事后也使用J5的Annoation代码如下
   1.  @InjectObject("service:tapestry.globals.HttpServletRequest")  
   
2public abstract HttpServletRequest getServletRequest();  

在具体方法中就可以设置ip
this.getVisit().setIpHostKey(  
                         
new StringBuilder().append(  
                                 getServletRequest().getRemoteAddr())  
                                 .append(
"&").append(  
                                         getServletRequest().getRemoteHost())  
                                 .toString()); 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值