Tapestry4.1中注入HttpRequest

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

/**注入Request*/
java 代码
 
  1. @InjectObject("infrastructure:request")  
  2.  public abstract WebRequest getRequest(); 

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

在具体方法中就可以设置ip
java 代码
 
  1. this.getVisit().setIpHostKey(  
  2.                         new StringBuilder().append(  
  3.                                 getServletRequest().getRemoteAddr())  
  4.                                 .append("&").append(  
  5.                                         getServletRequest().getRemoteHost())  
  6.                                 .toString());  


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

你可能感兴趣的:(tapestry)