在GWT中切换开发和生产配置的最佳实践?

时间:2014-03-02 22:00:51

标签: java javascript html gwt

使用GWT进行配置时,通常会进入您的web.xml。对开发和生产环境进行不同的设置是正常的。我知道我也可以使用我的静态html主页将参数传递给GWT。

在开发和生产之间切换配置的最佳做法是什么?

2 个答案:

答案 0 :(得分:1)

只需为每个环境创建一个属性文件,即可存储特定于环境的设置。

请查看以下帖子,以便在服务器启动时阅读属性文件。


修改

我想在我的静态html文件中写一个属性,该文件将由gwt读取。如果属性 dev gwt应该加载test1.gwt.xml如果属性 prod gwt应加载test2.gwt.xml

在欢迎文件(index.jsp)中编写的示例代码。

<!-- Read environment attribute from application -->
<% String evn = application.getAttribute("env"); %>

<% if("prod".equalsIgnoreCase(env)) { %>
    <script type="text/javascript"
             src="myproject/test2.nocache.js"></script>
<% } else { %>
    <script type="text/javascript"
             src="myproject/test1.nocache.js"></script>
<% } %>

注意:您可以使用JavaServer Pages Standard Tag Library代替Scriptlets。

答案 1 :(得分:0)

根据我的经验,Java应用程序中的配置通常最好通过属性文件进行管理。我可能会建议如下:

  1. 创建一个属性文件来存储此标志,例如:remoteLogging = true

  2. 在服务器端创建一个存储此类配置的类,例如带有布尔属性remoteLogging的SystemConfiguration。

  3. 在启动Web应用程序时,将属性的值注入单个SystemConfiguration bean。

  4. 在客户端,在入口点(例如Application.java)中,在onModuleLoad()中调用服务器以获取SystemConfiguration对象。

  5. 将SystemConfiguration对象保留在客户端的内存中,并在需要时检查 - 例如if(systemConfig.getRemoteLogging()) { LOG.info("foo"); }

  6. 另一条路径可能是拥有.gwt.xml文件的多个版本(可以设置remoteLogging日志级别),并让您的构建工具在每个环境中部署相应的.gwt.xml文件。这需要在每个环境中单独构建,这通常是不可取的。