`
phantomhu
  • 浏览: 19918 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

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官方中文文档

    在Tapestry中,大多数的编程都是声明式的,这意味着开发者可以使用XML或注解来定义页面和组件的行为,而不是编写大量的Java代码。这降低了代码的复杂性,提高了可读性和维护性。 4. **页面和组件生命周期**: ...

    tapestry官方中文文档及中文字典

    "tapestry中文字典"可能包含对Tapestry框架中的专有名词、API和概念的中文解释,帮助读者更准确地理解和记忆。它可能是以索引形式存在,方便查找和查阅。 通过学习这些文档,开发者可以全面了解Tapestry 4的架构和...

    tapestry5中文文档

    在Tapestry 5 中,开发者可以通过创建CRUD(创建、读取、更新、删除)功能的应用来了解框架的核心概念。这包括页面导航、依赖注入和资源注入、用户输入验证以及状态管理。Tapestry 还内置了Ajax支持,使得创建Ajax...

    tapestry4.02中封装ext的GridPanel组件

    Tapestry 4.02是该框架的一个旧版本,尽管如此,它仍然包含了许多现代Web开发的核心特性,如MVC模式、依赖注入和类型安全的模板。 另一方面,ExtJS是一个JavaScript库,专注于创建富客户端的用户界面。GridPanel是...

    tapestry教程资料文档合集

    Tapestry5最新中文教程.doc 作者 Renat Zubairov & Igor Drobiazko译者 沙晓兰 发布于 2008年7月2日 下午9时30分 社区 Java 主题 Web框架 ----------------------------------------- Tapestry5.1实例教程.pdf ...

    Tapestry5最新中文入门实例教程

    Tapestry 5支持依赖注入和资源注入机制,这两种机制可以帮助开发者更容易地管理组件间的依赖关系。依赖注入允许组件在初始化时自动获得所需的服务或对象;而资源注入则用于注入非服务性的资源,例如字符串资源、文件...

    Tapestry5最新中文教程

    通过依赖注入(Dependency Injection,DI)和资源注入(Resource Injection),Tapestry 5 可以自动管理组件之间的依赖关系,减轻了开发者的工作负担。 在开发过程中,Tapestry 5 提供了用户输入验证机制,确保数据...

    tapestry源码 api等

    3. **Tapestry Hibernate**: 这个库提供了与Hibernate ORM框架的集成,允许开发者方便地在Tapestry应用中使用Hibernate进行数据持久化操作。通过源码,我们可以学习如何在Tapestry中配置和使用Hibernate服务。 4. *...

    tapestry-bin-5.1.0.5

    8. **tapestry-hibernate-NOTICE.txt, tapestry-hibernate-core-NOTICE.txt, tapestry-ioc-NOTICE.txt**:与对应的LICENSE文件类似,这些NOTICE文件列出了在Tapestry的这些特定模块中使用到的第三方组件和它们的版权...

    Tapestry通用WEB框架

    8. **依赖注入**:Tapestry支持依赖注入(DI),这是一种设计模式,可以简化对象之间的耦合。通过DI,Tapestry可以自动管理组件的依赖关系,减少代码中的硬编码。 9. **国际化与本地化**:Tapestry提供强大的i18n...

    Tapestry5开发文档手册.doc

    本文将使用Tapestry 5 创建一个CRUD(创建、读取、更新、删除)应用,展示Tapestry在页面导航、依赖注入、输入验证和状态管理等方面的使用。同时,还会介绍如何利用Tapestry的内置Ajax功能创建自定义组件。 开发...

    tapestry-bin-5.0.14.zip

    标题中的“tapestry-bin-5.0.14.zip”指的是Tapestry的最新版本5.0.14的二进制发行包,它包含了开发人员构建基于Tapestry应用所需的所有组件和库。 Tapestry 5.0.14的发布旨在提供更加稳定和高效的开发环境,为...

    Tapestry简单入门.rar_java Tapestry_tapestry

    在"Tapestry入门.docx"中,你将了解到如何设置开发环境,包括安装必要的工具和库,配置IDE(如Eclipse或IntelliJ IDEA),以及创建第一个Tapestry应用。这通常涉及以下几个步骤: 1. **环境配置**:安装Java ...

    TSH.rar_Tapestry spring_tapestry_tapestry hiberna_tapestry workb

    TSH结合了Tapestry的强大组件模型,Spring的依赖注入和事务管理,以及Hibernate的对象关系映射能力,为开发者提供了一种全方位的解决方案。 **Tapestry框架** Tapestry是一个基于Java的开源Web应用程序框架,它强调...

    Tapestry API

    Tapestry的依赖注入(DI)机制通过`ServiceBinder`和`ServiceLocator`接口实现,允许开发者轻松获取和管理服务。DI减少了代码的耦合,提高了可测试性和可维护性。 6. **国际化与本地化** Tapestry API提供了`org....

    Tapestry用户登录Demo(源代码+操作视频)

    3. **服务注入**:Tapestry支持依赖注入,允许你在组件中直接使用其他服务,如数据库连接、安全服务等。例如,`AuthenticationService`可能通过注解注入到组件中,用于执行实际的认证逻辑。 4. **状态管理**:...

    tapestry4+spring+hibernate整合实例

    同时,通过Tapestry的依赖注入,我们可以将Spring管理的Bean注入到Tapestry组件中。 5. **业务逻辑实现**:在Spring中,创建业务服务接口和实现,例如`UserService`,包含增删改查的方法。这些方法将使用Hibernate...

    tapestry5.3.5 IOC用户登陆权限

    在IT行业中, Tapestry 是一个基于Java的开源Web应用程序框架,它强调组件化、类型安全和高度可测试性。Tapestry 5.3.5是该框架的一个版本,提供了许多增强的功能和改进。在这个场景中,我们关注的是"IOC用户登陆...

Global site tag (gtag.js) - Google Analytics