servlet和JDK?
Servlet是一套接準,Servlet容器通過Socket監(jiān)聽Tcp連接,解析其中的Http請求,然后調(diào)用開發(fā)者編寫的Servlet,通過Servlet傳遞的參數(shù),開發(fā)者可以相對方便的獲取到Http請求的相關信息,如參數(shù),Cookies,Header等。Servlet其實也是普通的Java類,你也可以自己去實現(xiàn)自定義的servlet。
JDK(Java Development Kit)是針對Java開發(fā)員的產(chǎn)品,是整個Java的核心,包括了Java運行環(huán)境JRE、Java工具和Java基礎類庫。
JVM(java virtual machine)就是我們常說的java虛擬機,它是整個java實現(xiàn)跨平臺的最核心的部分,所有的java程序會首先被編譯為.class的類文件,這種類文件可以在虛擬機上執(zhí)行。也就是說class并不直接與機器的操作系統(tǒng)相對應,而是經(jīng)過虛擬機間接與操作系統(tǒng)交互,由虛擬機將程序解釋給本地系統(tǒng)執(zhí)行。只有JVM還不能成class的執(zhí)行,因為在解釋class的時候JVM需要調(diào)用解釋所需要的類庫lib,而jre包含lib類庫。JVM屏蔽了與具體操作系統(tǒng)平臺相關的信息,使得Java程序只需生成在Java虛擬機上運行的目標代碼(字節(jié)碼),就可以在多種平臺上不加修改地運行。
所以總結(jié)下來JDK包含了JVM,而servlet的運行依賴于JVM的運行。