0

私はこのアプリの開発者ではないことに注意してください。おそらくもっと良い実装方法があることを認識しています。ただし、次の目的が与えられています。

Tomcat が RHEL サーバーで起動するときに、jsp ページを自動的に実行する必要があります。唯一のキッカーは、渡す必要がある 3 つの URL パラメータであることです。

URL の例を次に示します。

http://www.myurl.com/app/getlistdata.jsp?param1=P1¶m2=P2¶m3=P3

私のweb.xmlには次のものがありますが、自動的にロードされていないようです。start_tomcat スクリプトを変更して wget を含めることができると思いますが、デプロイ先のサーバーから独立させたいと考えていました。

<servlet>
    <servlet-name>getlistdata</servlet-name>
    <jsp-file>/getlistdata.jsp</jsp-file>
        <init-param>
            <param-name>param1</param-name>
            <param-value>P1</param-value>
        </init-param>
        <init-param>
            <param-name>param2</param-name>
            <param-value>P2</param-value>
        </init-param>
        <init-param>
            <param-name>param3</param-name>
            <param-value>P3</param-value>
        </init-param>
    <load-on-startup>3</load-on-startup>
</servlet>
4

2 に答える 2

2

@home が言ったように - 初期化属性はリクエストパラメータではありません - では、どういう意味ですか? JSP は、リクエストへの応答としてブラウザにビューをレンダリングするために使用されます。Tomcat の起動時にそれを行うことは、要求がないため意味がありません。

JSPを見てください。おそらく、内部で Java Bean を使用して何らかの処理を行っているのでしょう。この処理をコンテキスト リスナーに移すことができれば、次のように動作します。

web.xml で:

<listener>
  <listener-class>
    path.to.YourListener
  </listener-class>
</listener>

次に、Java クラスを作成します。

public class YourListener implements ServletContextListener {

  public void contextInitialized(ServletContextEvent event) {
    // this will execute when tomcat initialized the web application (on startup)
    // so whatever your JSP was doing, you can do in here instead.
  }
}

あなたが求めたものとはまったく異なりますが、これがあなたができる最も近いものです。

于 2013-10-28T16:00:50.970 に答える