Tomcat 7 を使用して、RESTful API にアクセスする Web サーブレットを構築しています。現在、その URL はサーブレットの文字列としてハードコードされていますが、サーブレットが終了したら、ハードコードする代わりに、サーブレットが接続する必要がある URL を渡すことができるように、それを移動したいと考えています。これを行う最善の方法は何ですか?META-INF フォルダーに context.xml ファイルを追加する必要があると読みましたが、API の URL を変更したい場合は、war を再パッケージ化する必要があるということではないでしょうか?
1124 次
1 に答える
0
init-param を使用して、サーブレットの構成を標準の web.xml ファイルに外部化します。
<servlet>
<servlet-name>My servlet</servlet-name>
<servlet-class>com.foo.bar.MyServlet</servlet-class>
<init-param>
<description>Restful API URL</description>
<param-name>restfulApiUrl</param-name>
<param-value>http://www.foo.com/api/</param-value>
</init-param>
</servlet>
サーブレットの初期化メソッドからアクセスします。
private String restulApiUrl;
@Override
public void init(ServletConfig config) throws ServletException {
restulApiUrl = config.getInitParameter("restfulApiUrl");
}
これにより、アプリを展開された戦争として展開しない限り、値を変更したときに実際に戦争を再パッケージ化する必要があります。
もちろん、システム プロパティ (Tomcat の起動時に渡される) を使用する、起動時に読み込まれるファイルに格納する、データベースに格納するなど、他にも多くの解決策を想像できます。
于 2013-03-29T22:27:11.987 に答える