Tapestry4.1注入HttpRequest

来源:互联网 发布:电脑离线翻译软件 编辑:程序博客网 时间:2024/05/21 14:09
最近在公司的项目后台中需要加入的对用的ip的记录,用户登录后要记录用户ip等相关新防止其他用户拦截到JSESSIONID后,伪造JSESSIONID进行操作。
第一次接触Tapestry基本上没啥概念在网络搜索了相关资料看了IRequestCycle的文档通过IRequestCycle.getInfrastructure() .getRequest()获得的是经过封装的WebRequest无法满足需求
在网上找到的信息是表示需要注入HttpRequest,一头雾水没概念。
看到别人注入使用的是WebRequest
/**注入Request*/

@InjectObject("infrastructure:request")
 public abstract WebRequest getRequest();

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

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

虽说bug解决了但是对Tapestry还是没概念继续看书中,看E的太累了

 
原创粉丝点击