gpt4 book ai didi

java - 通过 servlet 属性(服务器端)或 "Dependency Injection"将对象传递给 GWT servlet

转载 作者:行者123 更新时间:2023-11-28 22:10:01 25 4
gpt4 key购买 nike

如何将对象从非 GWT 服务器端代码(例如常规服务器代码)传递到 GWT“servlet”(仍然是服务器端代码),特别是 RemoteServiceServlet

我的 GWT 服务器端代码由 RPC 类型的 RemoteServiceServlet 组成,我似乎无法获得对其的引用,因此我无法在测试模式下传递我的真实/虚假对象或添加 servlet 属性。我看不到任何简单地传递对象的方法(依赖注入(inject)样式),因为我无法访问服务器对象,因为 GWT 似乎在其内部深处实例化它,那么我有什么选择?

附言我不想使用成熟的 DI 框架,例如 GIN/Juice - 我发现它们非常神奇。我只想要一种访问 GWT servlet 实例并将内容传递给它的方法。

最佳答案

首先让我说,如果您还没有看过,我强烈建议您观看 this Google I/O presentation on GWT Architecture best practices .我发现它非常有用,它是以下大部分内容的来源。

我所做的是创建一个抽象的"dispatch"servlet,它扩展了 GWT 的 RemoteServiceServlet。我拥有的每个模块只有一个服务(扩展了我的抽象调度服务),我用它注册了一组请求处理程序。给定 GWT 模块的所有 GWT 服务调用都进入该模块的分派(dispatch)服务,该服务查看请求的类型并将其分派(dispatch)到适当的请求处理程序。实际上,请求处理程序处理以前驻留在服务 servlet 中的工作。除了通过在 web.xml 中注册更少的 servlet 让您的生活更轻松(更不用说避免 GWT 需要的额外接口(interface)),您还可以更轻松地控制处理所有实际调度的调度程序对象。例如,您可以将任何您喜欢的真实/模拟对象传递到这些请求处理程序中,因为您而不是 Web 容器负责实例化它们。

尽管我自己推出了,gwt-dispatch项目的存在就是为了这个目的。

希望这对您有所帮助。

关于java - 通过 servlet 属性(服务器端)或 "Dependency Injection"将对象传递给 GWT servlet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4716131/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com