首頁技術(shù)文章正文

如何實(shí)現(xiàn)Tomcat啟動(dòng)時(shí)Servlet程序的自動(dòng)加載?

更新時(shí)間:2022-04-12 來源:黑馬程序員 瀏覽量:

在實(shí)際開發(fā)時(shí),有時(shí)候會(huì)希望某些Servlet程序可以在Tomcat啟動(dòng)時(shí)隨即啟動(dòng)。例如,當(dāng)啟動(dòng)一個(gè)Web項(xiàng)目時(shí),首先需要對(duì)數(shù)據(jù)庫信息進(jìn)行初始化。這時(shí),只需要使用web.xml文件中<load-on-startup>元素,將初始化數(shù)據(jù)庫的Servlet配置為隨著web應(yīng)用啟動(dòng)而啟動(dòng)的Servlet即可。

<load-on-startup>元素是<servlet>元素的一個(gè)子元素,它用于指定Servlet被加載的時(shí)機(jī)和順序。在<load-on-startup>元素中,設(shè)置的值必須是一個(gè)整數(shù)。如果這個(gè)值是一個(gè)負(fù)數(shù),或者沒有設(shè)定這個(gè)元素,Servlet容器將在客戶端首次請(qǐng)求這個(gè)Servlet時(shí)加載它;如果這個(gè)值是正整數(shù)或0,Servlet容器將在Web應(yīng)用啟動(dòng)時(shí)加載并初始化Servlet,并且<load-on-startup>的值越小,它對(duì)應(yīng)的Servlet就越先被加載。接下來,將文件3-1 HelloWorldServlet.java配置為Tomcat啟動(dòng)時(shí)自動(dòng)加載的Servlet,具體配置方式如下所示:

<servlet>
    <servlet-name>HelloWorldServlet</servlet-name>
    <servlet-class>
        cn.itcast.firstapp.servlet.HelloWorldServlet
    </servlet-class>
    <!--設(shè)置Servlet在Web應(yīng)用啟動(dòng)時(shí)初始化-->
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>HelloWorldServlet</servlet-name>
    <url-pattern>/helloWorldServlet</url-pattern>
</servlet-mapping>

啟動(dòng)Tomcat服務(wù)器,在Tomcat控制臺(tái)輸出的信息中,會(huì)發(fā)現(xiàn)如圖3-12所示的內(nèi)容。

Tomcat運(yùn)行結(jié)果

運(yùn)行結(jié)果

從圖3-12中可以看出,HelloWorldServlet的初始化信息被打印了出來,由此說明,HelloWorldServlet在Tomcat啟動(dòng)時(shí)就被自動(dòng)加載并且初始化了。







猜你喜歡:

Servlet是用來做什么的?Servlet技術(shù)的特點(diǎn)

Java面試題Tomcat的優(yōu)化經(jīng)驗(yàn)

require()的模塊加載規(guī)則

Java培訓(xùn)之ServletContext的介紹與獲取

黑馬程序員Java高級(jí)軟件工程師培訓(xùn)

分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!