1

Tomcat 7 を使用して、RESTful API にアクセスする Web サーブレットを構築しています。現在、その URL はサーブレットの文字列としてハードコードされていますが、サーブレットが終了したら、ハードコードする代わりに、サーブレットが接続する必要がある URL を渡すことができるように、それを移動したいと考えています。これを行う最善の方法は何ですか?META-INF フォルダーに context.xml ファイルを追加する必要があると読みましたが、API の URL を変更したい場合は、war を再パッケージ化する必要があるということではないでしょうか?

4

1 に答える 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 に答える