在一般的Java應(yīng)用開發(fā)過程中,開發(fā)人員使用Java的方式比較簡(jiǎn)單。打開慣用的IDE,編寫Java源代碼,再利用IDE提供的功能直接運(yùn)行Java 程序就可以了。這種開發(fā)模式背后的過程是:開發(fā)人員編寫的是Java源代碼文件(.java),IDE會(huì)負(fù)責(zé)調(diào)用Java的編譯器把Java源代碼編譯成平臺(tái)無關(guān)的字節(jié)代碼(byte code),以類文件的形式保存在磁盤上(.class)。Java虛擬機(jī)(JVM)會(huì)負(fù)責(zé)把Java字節(jié)代碼加載并執(zhí)行。Java通過這種方式來實(shí)現(xiàn)其“編寫一次,到處運(yùn)行(Write once, run anywhere)” 的目標(biāo)。Java類文件中包含的字節(jié)代碼可以被不同平臺(tái)上的JVM所使用。Java字節(jié)代碼不僅可以以文件形式存在于磁盤上,也可以通過網(wǎng)絡(luò)方式來下載,還可以只存在于內(nèi)存中。JVM中的類加載器會(huì)負(fù)責(zé)從包含字節(jié)代碼的字節(jié)數(shù)組(byte[])中定義出Java類。在某些情況下,可能會(huì)需要?jiǎng)討B(tài)的生成 Java字節(jié)代碼,或是對(duì)已有的Java字節(jié)代碼進(jìn)行修改。這個(gè)時(shí)候就需要用到本文中將要介紹的相關(guān)技術(shù)。首先介紹一下如何動(dòng)態(tài)編譯Java源文件。
創(chuàng)新互聯(lián)自2013年起,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目網(wǎng)站設(shè)計(jì)、成都網(wǎng)站設(shè)計(jì)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元通城做網(wǎng)站,已為上家服務(wù),為通城各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:028-86922220
java先經(jīng)過編譯源代碼
編譯成class字節(jié)碼文件
運(yùn)行字節(jié)碼文件
簡(jiǎn)單點(diǎn)的,自己去運(yùn)行javac編譯
復(fù)雜點(diǎn)的,javax.tools.ToolProvider有個(gè)getSystemJavaCompiler方法,他可以幫你找,并在內(nèi)存中編譯
顯然不是 JSP本質(zhì)是Servlet,而Servlet就是java文件。
一般情況下 將web工程放在tomcat的webapp目錄下,運(yùn)行tomcat時(shí)會(huì)自動(dòng)把JSP編譯成Servlet