你知道Tomcat安裝之前為什么要安裝JDK
為什么Java開(kāi)發(fā)要先配置JDK和Tomcat的環(huán)境變量呢?
嚴(yán)格的說(shuō)
JDK是給java開(kāi)發(fā)者用的,
需要用JDK提供的工具來(lái)編譯你的程序,打包程序。
因此,JDK就如同它的名字(Java Development Kit )一樣,是一個(gè)開(kāi)發(fā)者工具包。
說(shuō)一下JDK,Eclipse,Tomcat和Java這四者之間的聯(lián)系
- JDK 是鍋,沒(méi)有鍋?zhàn)霾涣孙垺?/li>
- Eclipse是鏟,是一個(gè)用來(lái)做飯的工具。
- Tomcat是盤子,用來(lái)將你做好的飯呈現(xiàn)給大家。
- Java就是一個(gè)大廚房。
在這里,基本上也就是說(shuō)清了這四者的關(guān)系。
- 使用Tomcat之前先安裝JDK,
- 學(xué)習(xí)過(guò)Java的同學(xué)是肯定已經(jīng)配好JDK的,
- 所以安裝Tomcat前就不需要再重新安裝JDK了。
Windows版本的JDK安裝以后會(huì)將安裝的路徑寫入系統(tǒng)的注冊(cè)表里邊的。很多程序不用配置JAVA_HOME是因?yàn)槟切┏绦蚴侵苯油ㄟ^(guò)讀取注冊(cè)表里邊的路徑獲取了JDK的路徑,寫到相應(yīng)的配置文件中,比如Eclipse和 Netbeans。
而Tomcat就沒(méi)有這樣去處理,只是簡(jiǎn)單地通過(guò)環(huán)境變量去獲取JDK的路徑,所以要運(yùn)行Tomcat一般都是要配置環(huán)境變量的。如果不配置也可以,修改tomcat/bin/startup.bat。
Tomcat這樣做也是出于跨平臺(tái)考慮的。因?yàn)橄到y(tǒng)注冊(cè)表是只有Windows
系統(tǒng)才有的, Linux
系統(tǒng)是沒(méi)有系統(tǒng)注冊(cè)表的,所以為了跨平臺(tái)性,Tomcat選擇了需要手動(dòng)配置環(huán)境變量。
當(dāng)有請(qǐng)求時(shí),Tomcat會(huì)自動(dòng)將jsp里面的java程序部分提取出來(lái),調(diào)用JDK將java程序編譯成class,然后再執(zhí)行這個(gè)class。
你可以到Tomcat的work目錄下看看,你可以找到從jsp里面提取出來(lái)的java程序:*jsp.java,也有編譯后的class文件:*jsp.class。
所以,如果不裝JDK,jsp程序就無(wú)法編譯。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
一次"java:程序包org.aspectj.lang不存在"問(wèn)題解決實(shí)戰(zhàn)記錄
這篇文章主要給大家介紹了一次"java:程序包org.aspectj.lang不存在"問(wèn)題解決的實(shí)戰(zhàn)過(guò)程,這個(gè)錯(cuò)誤提示意味著你的Java程序中引用了org.aspectj.lang這個(gè)包,但是該包并不存在,文章通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-06-06Java基礎(chǔ)之static關(guān)鍵字的使用講解
這篇文章主要介紹了Java基礎(chǔ)之static關(guān)鍵字的使用講解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-07-07jar包手動(dòng)添加到本地maven倉(cāng)庫(kù)的步驟詳解
在寫程序的過(guò)程中,有時(shí)候會(huì)遇到私服里沒(méi)有需要的jar包的情況,這時(shí)候我們就可以手動(dòng)導(dǎo)入jar包到本地倉(cāng)庫(kù)進(jìn)行使用,下面這篇文章主要給大家介紹了關(guān)于jar包手動(dòng)添加到本地maven倉(cāng)庫(kù)的相關(guān)資料,需要的朋友可以參考下2022-08-08解決mybatis-plus自動(dòng)配置的mapper.xml與java接口映射問(wèn)題
這篇文章主要介紹了解決mybatis-plus自動(dòng)配置的mapper.xml與java接口映射問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-08-08Java超詳細(xì)講解SpringMVC如何獲取請(qǐng)求數(shù)據(jù)
Spring?MVC?是?Spring?提供的一個(gè)基于?MVC?設(shè)計(jì)模式的輕量級(jí)?Web?開(kāi)發(fā)框架,本質(zhì)上相當(dāng)于?Servlet,Spring?MVC?角色劃分清晰,分工明細(xì),本章來(lái)講解SpringMVC如何獲取請(qǐng)求數(shù)據(jù)2022-04-04Java線程讓步_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
yield()的作用是讓步。它能讓當(dāng)前線程由“運(yùn)行狀態(tài)”進(jìn)入到“就緒狀態(tài)”,從而讓其它具有相同優(yōu)先級(jí)的等待線程獲取執(zhí)行權(quán)。下面通過(guò)本文給大家介紹Java線程讓步的相關(guān)知識(shí),需要的朋友參考下吧2017-05-05