java 自动编译_Tomcat是否自动编译Java Servlet?
小編典典
對我來說,您混合了兩種主要技術-
tomcat作為Web容器,eclipse作為您的IDE。它們的集成使您感到困惑。現(xiàn)在讓我們離開JSP并只談論servlet,因為它會使您更加困惑
Tomcat無法使用源文件(* .java)。例如,您 必須 使用javac編譯應用程序,并創(chuàng)建一個名為WAR的文件-網絡歸檔-
一個zip文件,其中將包含您的已編譯類并遵守tomcat可以理解的一些EE標準(也可以使用文件夾而不是zip,但請放下它此外,它與該說明無關)。
除其他外,這種戰(zhàn)爭(一旦正確編譯)將包含您已編譯的Servlet類HelloWorld.class。
一旦tomcat啟動并在部署文件夾中識別出您的war文件,它將打開它并在運行時加載。沒有編譯,只有運行時加載。
現(xiàn)在人們在這里談論JSP。實際上,JSP在技術上等同于servlet,但類似于HTML。您將文件擴展名為.jsp并構建您的WAR。Java編譯器無法讀取JSP文件,因此您應以某種方式將它們放入war文件中(通常是通過構建工具/
IDE為您完成)。最重要的是,您擁有在戰(zhàn)爭中創(chuàng)建的JSP文件。現(xiàn)在,您將戰(zhàn)爭付諸于Tomcat,它可以像以前一樣識別并加載。此時,它仍然對您的JSP無效。
因此,部署了您的戰(zhàn)爭,啟動了tomcat并從您的瀏覽器轉到“ http:// localhost:8080 /
myfirstjsp.jsp ”。這時(第一次調用JSP)發(fā)生了很多事情:
Tomcat獲取瀏覽器的HTTP請求
Tomcat意識到應該處理JSP文件
Tomcat解析您的JSP文件
Tomcat在內部將其編譯為您不知道的某些類文件(其內部存儲在Tomcat中),
Tomcat在運行時加載此文件,并將其視為已編譯的Java類。
下次調用JSP時,它將已經編譯。
這里的最后一個問題是Eclipse如何與所有這些故事聯(lián)系起來:)實際上,Eclipse與tomcat集成在一起,因此所有創(chuàng)建和部署戰(zhàn)爭的工作都是透明的。這就是為什么您在Eclipse上按下“播放”鍵,然后它編譯您的項目,創(chuàng)建戰(zhàn)爭,確保Tomcat意識到這場戰(zhàn)爭(配置與部署相關的內容),啟動Tomcat和瞧!-您的應用程序正在運行。
了解在什么級別發(fā)生什么很重要
希望這對
馬克有幫助
2020-06-16
總結
以上是生活随笔為你收集整理的java 自动编译_Tomcat是否自动编译Java Servlet?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: html的表格使用函数,从另一个HTML
- 下一篇: java 注释 depredated_