我有一个在 Tomcat 6.0 服务器上运行的 GWT Servlet。该服务器充当另一个服务的代理。此最终服务可能在我网络中的不同 IP 和/或端口中运行。
如何在不手动修改 web.xml 文件的情况下配置我的 GWT Servlet 以连接到我的任何服务?
我正在初始化我的 servlet:
<!-- Servlets -->
<servlet>
<servlet-name>MyServlet</servlet-name>
<servlet-class>com.proxy.MyServletServiceImpl</servlet-class>
<init-param>
<param-name>serverAddress</param-name>
<param-value>192.168.1.10</param-value>
</init-param>
<init-param>
<param-name>serverPort</param-name>
<param-value>55005</param-value>
</init-param>
</servlet>
从我正在做的 MyServletSerciveImpl.java 文件中
private void loadConfig() {
ServletConfig config = this.getServletConfig();
serverAddress = config.getInitParameter("serverAddress");
serverPort = Integer.valueOf(config.getInitParameter("serverPort"));
}
我的理想情况是此配置是默认配置,但应用一些配置文件(属性文件、xml、ini、cfg ......)我可以覆盖默认的 web.xml 值。
知道怎么做吗?
谢谢。
最佳答案
对于真正的动态配置,您可以将配置对象公开为 jmx bean,并让您的 servlet 使用该 bean。
中间解决方案是将配置放在不同的文件中,如 xml 或属性,或放在数据库表中,并在后台线程中定期从中读取。
关于java - 修改Servlet参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2285156/