我對J2EE很新,考慮同樣的問題請回答。當我們使用struts時,爲什麼我們在servlet標籤中寫入< load-on-startup>2</load-on-startup>
?這個標籤是什麼意思?如果什麼東西加載秒,那麼先加載什麼?還請提供一些鏈接,其中解釋了結構的所有標籤-config.xml爲什麼我們在使用struts 1.x時在web.xml中編寫<load-on-startup> 2</ load-on-startup>?
回答
load-on-startup通知servlet容器在服務器啓動時加載指定的資源。 如果存在多個加載啓動標記,則您看到的數字將指示啓動順序。
<load-on-startup>1</load-on-startup>
<load-on-startup>2</load-on-startup>
將導致負載在啓動1上的資源首先被加載。這是爲了控制如果存在依賴性的加載順序。查看解釋加載順序的servlet規範。
我在下面我的評論中提到的答案(參考http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd):
<xsd:element name="load-on-startup"
type="javaee:load-on-startupType"
minOccurs="0">
<xsd:annotation>
<xsd:documentation>
The load-on-startup element indicates that this
servlet should be loaded (instantiated and have
its init() called) on the startup of the web
application. The optional contents of these
element must be an integer indicating the order in
which the servlet should be loaded. If the value
is a negative integer, or the element is not
present, the container is free to load the servlet
whenever it chooses. If the value is a positive
integer or 0, the container must load and
initialize the servlet as the application is
deployed. The container must guarantee that
servlets marked with lower integers are loaded
before servlets marked with higher integers. The
container may choose the order of loading of
servlets with the same load-on-start-up value.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
請仔細閱讀文檔。
請參閱http://struts.apache.org/1.x/userGuide/configuration.html。
load-on-startup
意味着servlet必須在webapp啓動時(即,只要部署它,而不等待對servlet的請求)就加載並初始化。數字表示初始化的順序。如果另一個servlet有1,它將在之前加載。如果另一個有3個,它將在之後加載。
所以,如果我寫<負載導通啓動> 1 load-on-startup>在web.xml中它不會產生任何區別?我猜這不會是嗎?在網絡中,我總是發現
如果servlet是web.xml中的唯一一個,它不會產生任何差異。如果其他servlet有1,那麼該命令是不確定的,AFAIK。 –
load-on-startup通知容器在應用程序啓動過程中加載servlet。 分配的編號是servlet的等級,它指示應該加載servlet的加載順序。
如果您使用的是Tomcat,也有已加載的每一個web應用一對夫婦的servlet:
- 默認的servlet(通常提供靜態內容以及任何未映射網址作出反應)
- jsp中的servlet
考慮看看默認的Tomcat的web.xml配置文件...
<servlet>
<servlet-name>default</servlet-name>
<servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
...
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>jsp</servlet-name>
<servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
...
<load-on-startup>3</load-on-startup>
</servlet>
注意缺省值是1,而JSP是在3
因此,使用<load-on-startup>2</load-on-startup>
意味着你的servlet將在部署時被加載,默認的servlet之後,但在JSP的servlet之前。
1)是在「web.xml」中使用的元素。
2)該元素指示web容器加載由此元素指示的服務器。
3)的順序是基於標籤 實施例內提供的號碼:1 1 -server首先執行,然後將其轉移到2 ..,
重複已經給出的答案沒有意義。這是一個問答網站,而不是一個老式的討論論壇,在這個討論論壇中,每個人通過協議重複彼此成爲無法挽回的混亂。 – BalusC
- 1. 在Struts 1.x中使用<logic:iterate>
- 2. 爲什麼我們在web.xml中使用這個
- 3. 爲什麼我們在SQL中使用1 = 1 select Query
- 4. 爲什麼在struts中使用<bean:include而不是<jsp:include?
- 5. 爲什麼我們在使用線程編譯C代碼時編寫-D_REENTRANT
- 6. 如何在struts 1.x中編寫視圖
- 7. 在struts 1.x中導出爲pdf
- 8. 爲什麼我不能在for循環中使用x + 1?
- 9. 爲什麼我們在下面的代碼中使用-1?
- 10. 爲什麼我們需要編寫log.isDebugEnabled?
- 11. 爲什麼在struts 1中使用'redirect = true'?* forward?
- 12. 爲什麼我不能將PHP條件寫成1 <$ x <3?
- 13. Struts 1.x vs Struts 2.x
- 14. 爲什麼我們需要使用// <![CDATA [在@using語句中?
- 15. 爲什麼我們在jQuery中使用「({})」?
- 16. 爲什麼我們在編寫編譯器時需要運行時庫?
- 17. 爲什麼我們在Swift中編寫「 - > Void」?
- 18. 爲什麼我們在最小化函數中編寫[1,1]
- 19. 什麼是PHP,爲什麼我們在本節用1
- 20. 爲什麼(1 <1 <1)在C++中返回true?
- 21. 爲什麼我不能在web.xml中編輯servlet名稱?
- 22. 爲什麼我們在使用「using namespace std」時要使用「#include <iostream>」?
- 23. 什麼是在Struts 1.x框架中使用的設計模式?
- 24. 爲什麼我們在編程中使用弧度?
- 25. 爲什麼我們在MIPS彙編語言中使用.globl main?
- 26. 在ConstraintLayout中,我們在RelativeLayout中使用'app',我們使用'android'。爲什麼?
- 27. 爲什麼我們在做2的補碼時需要加1
- 28. 爲什麼x <= x false?
- 29. 爲什麼我們在編寫XMLHttpRequest的send()之前編寫onload()函數
- 30. 爲什麼我們需要在Java中編譯時間常量?
如果我寫 1 load-on-startup>它會創建任何區別嗎?可以提供一些鏈接嗎? –
amod
@ amod0017因爲您正在查找詳細信息...在瀏覽器中點擊此鏈接「http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd」並搜索元素「「並閱讀文檔。沒有比servlet規範(docs和XSDs)和API更好的地方了:-)希望這有助於。 –
Ayusman
在我的回答中爲每個人的好處添加內容... – Ayusman