如何讓tomcat服務(wù)增加java啟動命令
我的第一個服務(wù)端程序
最近在學(xué)習(xí)寫網(wǎng)絡(luò)游戲,所以要寫服務(wù)器端程序,我找了一圈,PHP,JAVA,C,最后為了與阿里云和騰訊云的兼容性好,成本低廉以及學(xué)習(xí)難度低,我選擇了java。
然后開始學(xué)習(xí)怎么寫java的class。以及怎么連接數(shù)據(jù)庫,怎么實(shí)現(xiàn)隔幾秒運(yùn)行一次代碼。畢竟這兩個合在一起就能夠成最簡單的服務(wù)器了。
我的第一個程序很簡單,tomcat啟動后,每6秒鐘運(yùn)行一次,生成一組隨機(jī)數(shù),送給mysql數(shù)據(jù)庫就行。
關(guān)鍵點(diǎn) : 自啟動 計(jì)時運(yùn)行 寫數(shù)據(jù)庫
由于寫數(shù)據(jù)庫和計(jì)時運(yùn)行在之前的文章已經(jīng)介紹過了。
所以,本文主要來介紹怎么自啟動,
已有代碼:
1. 主函數(shù):mainGame.java (游戲啟動的領(lǐng)起函數(shù)。)
2. 幀運(yùn)行類: gameEnterFrame.java (負(fù)責(zé)循環(huán)執(zhí)行的,我設(shè)了2秒鐘運(yùn)行一次,往數(shù)據(jù)庫里寫數(shù)。)
關(guān)于自啟動,有兩個關(guān)鍵的點(diǎn):
1. 需要修改一個配置文件 名字叫web.xml
在webRoot下的WEB-INF中。
如果你沒有我圖片一樣的路徑,很遺憾,那就是你的工程類型創(chuàng)建錯了。
記得要new一個web server project。
這個文件里面簡單的添加三行代碼,告訴tomcat,我要運(yùn)行一個自啟動類,我給他起名叫做autoRun,就行了。如下圖,藍(lán)色部分是我添加的代碼。
方便大家用,粘貼出來。
<listener> <listener-class>game.autoRun</listener-class> </listener>
有了這句監(jiān)聽的話,就可以在運(yùn)行的時候執(zhí)行g(shù)ame包(game包是我自己創(chuàng)建的游戲類包,你可以自己創(chuàng)建自己喜歡的包的名字)下的autoRun類了。這個autoRun類是我寫的自啟動代碼。
具體怎么寫,看下面:
2.自啟動代碼怎么寫:
我們需要讓自啟動代碼引出主函數(shù)。于是在game包下,新建一個名字為autoRun.java的文件
package game; import javax.servlet.ServletContextEvent;//這個是自啟動要用到的類,服務(wù)器后臺事件 import javax.servlet.ServletContextListener;//這個是自啟動要用到的類,服務(wù)器后臺監(jiān)聽 import game.mainGame;//我們把主函數(shù)導(dǎo)入進(jìn)來以便于運(yùn)行 //聲明一個autoRun類,使用服務(wù)器后臺監(jiān)聽接口。固定用法,死記硬背 public class autoRun implements ServletContextListener{ //當(dāng)后臺被初始化,即發(fā)生了tomcat啟動了事件,固定用法 public void contextInitialized(ServletContextEvent arg0){ //你要做的事兒,寫在這里 System.out.println("MainFunction is running."); mainGame.main(null); } //當(dāng)后臺被銷毀,即發(fā)生了tomcat關(guān)閉了事件,固定用法 public void contextDestroyed(ServletContextEvent arg0){ //執(zhí)行內(nèi)容寫在這里 } }
可以看到,監(jiān)聽tomcat啟動關(guān)閉狀態(tài)里面有兩個部分,
- 一個是啟動了我要干什么
- 另一個是關(guān)閉了我要干什么
當(dāng)然,關(guān)閉了,我眼下還不需要執(zhí)行什么動作。我只是需要在啟動后執(zhí)行游戲的主函數(shù)而已。所以我把主函數(shù)仍在了啟動里面。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
傳統(tǒng)tomcat啟動服務(wù)與springboot啟動內(nèi)置tomcat服務(wù)的區(qū)別(推薦)
這篇文章主要介紹了傳統(tǒng)tomcat啟動服務(wù)與springboot啟動內(nèi)置tomcat服務(wù)的區(qū)別,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-05-05如何將Tomcat設(shè)置為自動啟動的服務(wù)最快捷方法
這篇文章主要介紹了如何將Tomcat設(shè)置為自動啟動的服務(wù)最快捷方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-11-11教你如何通過JConsoler監(jiān)控Tomcat的JVM內(nèi)存
這篇文章主要介紹了教你如何通過JConsoler監(jiān)控Tomcat的JVM內(nèi)存,主要通過jmx 對java進(jìn)行監(jiān)控的方法,tomcat故障案例解析,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下2021-11-11Tomcat7.0設(shè)置虛擬目錄配置虛擬路徑的方法講解
今天小編就為大家分享一篇關(guān)于Tomcat7.0設(shè)置虛擬目錄配置虛擬路徑的方法講解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-03-03tomcat6_apache2.2_ajp 負(fù)載均衡加集群實(shí)戰(zhàn)分享
這篇文章主要介紹了秀脫linux筆記之tomcat6_apache2.2負(fù)載均衡加集群實(shí)戰(zhàn)篇,需要的朋友可以參考下2014-12-12使用IDEA配置tomcat及創(chuàng)建JSP文件的方法
這篇文章主要介紹了使用IDEA配置tomcat及創(chuàng)建JSP文件的方法,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-05-05