如何讓tomcat服務(wù)增加java啟動(dòng)命令
我的第一個(gè)服務(wù)端程序
最近在學(xué)習(xí)寫(xiě)網(wǎng)絡(luò)游戲,所以要寫(xiě)服務(wù)器端程序,我找了一圈,PHP,JAVA,C,最后為了與阿里云和騰訊云的兼容性好,成本低廉以及學(xué)習(xí)難度低,我選擇了java。
然后開(kāi)始學(xué)習(xí)怎么寫(xiě)java的class。以及怎么連接數(shù)據(jù)庫(kù),怎么實(shí)現(xiàn)隔幾秒運(yùn)行一次代碼。畢竟這兩個(gè)合在一起就能夠成最簡(jiǎn)單的服務(wù)器了。
我的第一個(gè)程序很簡(jiǎn)單,tomcat啟動(dòng)后,每6秒鐘運(yùn)行一次,生成一組隨機(jī)數(shù),送給mysql數(shù)據(jù)庫(kù)就行。
關(guān)鍵點(diǎn) : 自啟動(dòng) 計(jì)時(shí)運(yùn)行 寫(xiě)數(shù)據(jù)庫(kù)
由于寫(xiě)數(shù)據(jù)庫(kù)和計(jì)時(shí)運(yùn)行在之前的文章已經(jīng)介紹過(guò)了。
所以,本文主要來(lái)介紹怎么自啟動(dòng),
已有代碼:
1. 主函數(shù):mainGame.java (游戲啟動(dòng)的領(lǐng)起函數(shù)。)
2. 幀運(yùn)行類(lèi): gameEnterFrame.java (負(fù)責(zé)循環(huán)執(zhí)行的,我設(shè)了2秒鐘運(yùn)行一次,往數(shù)據(jù)庫(kù)里寫(xiě)數(shù)。)
關(guān)于自啟動(dòng),有兩個(gè)關(guān)鍵的點(diǎn):
1. 需要修改一個(gè)配置文件 名字叫web.xml
在webRoot下的WEB-INF中。
如果你沒(méi)有我圖片一樣的路徑,很遺憾,那就是你的工程類(lèi)型創(chuàng)建錯(cuò)了。
記得要new一個(gè)web server project。
這個(gè)文件里面簡(jiǎn)單的添加三行代碼,告訴tomcat,我要運(yùn)行一個(gè)自啟動(dòng)類(lèi),我給他起名叫做autoRun,就行了。如下圖,藍(lán)色部分是我添加的代碼。
方便大家用,粘貼出來(lái)。
<listener> <listener-class>game.autoRun</listener-class> </listener>
有了這句監(jiān)聽(tīng)的話,就可以在運(yùn)行的時(shí)候執(zhí)行g(shù)ame包(game包是我自己創(chuàng)建的游戲類(lèi)包,你可以自己創(chuàng)建自己喜歡的包的名字)下的autoRun類(lèi)了。這個(gè)autoRun類(lèi)是我寫(xiě)的自啟動(dòng)代碼。
具體怎么寫(xiě),看下面:
2.自啟動(dòng)代碼怎么寫(xiě):
我們需要讓自啟動(dòng)代碼引出主函數(shù)。于是在game包下,新建一個(gè)名字為autoRun.java的文件
package game;
import javax.servlet.ServletContextEvent;//這個(gè)是自啟動(dòng)要用到的類(lèi),服務(wù)器后臺(tái)事件
import javax.servlet.ServletContextListener;//這個(gè)是自啟動(dòng)要用到的類(lèi),服務(wù)器后臺(tái)監(jiān)聽(tīng)
import game.mainGame;//我們把主函數(shù)導(dǎo)入進(jìn)來(lái)以便于運(yùn)行
//聲明一個(gè)autoRun類(lèi),使用服務(wù)器后臺(tái)監(jiān)聽(tīng)接口。固定用法,死記硬背
public class autoRun implements ServletContextListener{
//當(dāng)后臺(tái)被初始化,即發(fā)生了tomcat啟動(dòng)了事件,固定用法
public void contextInitialized(ServletContextEvent arg0){
//你要做的事兒,寫(xiě)在這里
System.out.println("MainFunction is running.");
mainGame.main(null);
}
//當(dāng)后臺(tái)被銷(xiāo)毀,即發(fā)生了tomcat關(guān)閉了事件,固定用法
public void contextDestroyed(ServletContextEvent arg0){
//執(zhí)行內(nèi)容寫(xiě)在這里
}
}
可以看到,監(jiān)聽(tīng)tomcat啟動(dòng)關(guān)閉狀態(tài)里面有兩個(gè)部分,
- 一個(gè)是啟動(dòng)了我要干什么
- 另一個(gè)是關(guān)閉了我要干什么
當(dāng)然,關(guān)閉了,我眼下還不需要執(zhí)行什么動(dòng)作。我只是需要在啟動(dòng)后執(zhí)行游戲的主函數(shù)而已。所以我把主函數(shù)仍在了啟動(dòng)里面。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
eclipse配置Tomcat找不到server選項(xiàng)的解決辦法
這篇文章通過(guò)圖文并茂的形式給大家介紹eclipse配置Tomcat找不到server選項(xiàng)的解決辦法,感興趣的朋友跟隨腳本之家小編一起學(xué)習(xí)吧2018-05-05
cemtos 7 linux 安裝與卸載 tomcat 7的教程
這篇文章主要介紹了cemtos 7 linux 安裝與卸載 tomcat 7的教程,需要的朋友可以參考下2017-10-10
詳解用Tomcat服務(wù)器配置https雙向認(rèn)證過(guò)程實(shí)戰(zhàn)
本篇文章主要介紹了詳解用Tomcat服務(wù)器配置https雙向認(rèn)證過(guò)程實(shí)戰(zhàn),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05
詳述 tomcat 中的 server.xml 配置文件示例
本文將通過(guò)實(shí)例,介紹server.xml中各個(gè)組件的配置,并詳細(xì)說(shuō)明 Tomcat 各個(gè)核心組件的作用以及各個(gè)組件之間的相互關(guān)系。對(duì)tomcat server.xml 配置文件相關(guān)知識(shí)感興趣的朋友一起看看吧2017-08-08
Tomcat正常訪問(wèn)localhost報(bào)404問(wèn)題解決
這篇文章主要介紹了Tomcat正常訪問(wèn)localhost報(bào)404問(wèn)題解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03

