0

web.xml でサーブレットを loadOnStartup として指定すると、アプリケーションの起動時にその init メソッドが呼び出されます。

<web-app xmlns="http://java.sun.com/xml/ns/javaee"     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd     version="3.0">       
      <servlet>         
            <servlet-name>SimpleServlet</servlet-name>         
            <servlet-class>app01c.SimpleServlet</servlet-class>         
            <load-on-startup>10</load-on-startup>     
      </servlet>      
     <servlet-mapping>         
              <servlet-name>SimpleServlet</servlet-name>         
              <url-pattern>/simple</url-pattern>     
      </servlet-mapping>        
</web-app>

<load-on-startup>10</load-on-startup>

ここで、値 10 は何を意味するのでしょうか? 5 に変更するとどうなりますか? 値が小さいほど、ロードが早くなりますか? もしそうなら、それが0の場合、それは最も早いですか? 起動時のロードでその正の値をグーグルで見つけたので、少し混乱しています。起動時にロードするようにしてください。この正数は 0 より大きいですか? 0 の値は、起動時のロードで何もないことと同じですか?

4

2 に答える 2

3

0 が最高の優先度です。

サーブレットが1つしかない場合、違いはわかりません

ServletName load-on-start-up_value

Servlet1            4(3)

Servlet2            6(4)

Servlet3            3(2)

Servlet4            2(1)

最初に Servlet4 オブジェクトが作成され、次に Servlet3 オブジェクトが作成され、次に Servlet1 および Servlet2 オブジェクトが作成されます。

与え-1ても無視される

于 2013-05-15T19:04:07.637 に答える
1

デフォルトでは、サーブレットに最初のリクエストを行ったときにサーブレット オブジェクトが作成されますが、ロード時 (または起動時) にサーブレット オブジェクトを作成する場合は、 web.xml<load-on-startup></load-on-startup>に値を指定できます。

<load-on-startup></load-on-startup>サーブレットに適しています。<load-on-startup></load-on-startup>アプリケーションに 2 つのサーブレットがある場合、各サーブレットに値を指定する必要があります。

<load-on-startup></load-on-startup>値は 0 または任意の正の整数です。値 10 を設定していて、サーブレットが 1 つしかない場合<load-on-startup>10</load-on-startup>は何の影響もありませんが、サーブレットが 1 つ以上ある場合は値 0 が最も優先度が高くなります。

于 2014-05-30T10:38:01.547 に答える