為什麼java運行需要tomcat?

等待130592402


這個問題一看就是新手提出來的。作為BAT的Java開發工程師來和大家說,其實Java和Tomcat沒有綁定關係。

Tomcat

Tomcat是Apache基金會下的一個輕量級服務器容器,主要是作為web服務器使用,怎麼理解呢。你寫了一個web工程,不管是用Python還是java還是PHP或者其他編程語言的。編譯之後,你的前後端文件就可以部署在Tomcat的指定文件夾下,然後通過sh bin/

start.sh

命令啟動這個Tomcat服務,這樣你就有了一個你的server了。通過http://localhost:8080就可以訪問你的服務了(8080是默認端口,也可在

server.xml

文件中更改這個配置)

Tomcat文件夾下有多個文件夾包括bin,用於存儲啟動,停止等腳本;

conf文件夾用於存儲Tomcat的配置,比如配置編譯後的文件位置的

server.xml

文件;

log文件夾用於存儲Tomcat的執行日誌,運行中的日誌會存儲在

catalina.out

文件中,可以用tail -f catalina.out命令來實時查看日誌輸出;

還有webapps文件夾,這裡用於存儲編譯後的前後端執行文件。

Java

而java是一種編程語言,它可以簡單的寫一個java application,用public static void main函數來作為入口啟動,也可以寫一個移動app,當然也可以寫一個web工程部署在Tomcat或者jetty上,但是無論你選擇上述的哪種方式來使用java,都必須運行在一個JVM之上。換句話說,Tomcat並不是java開發者必須的,jvm才是必須的,這就是我們常說的要裝一個JDK才能運行Java的原因。

因此,java運行必須的不是Tomcat,JVM/JDK/JRE才是。

以上是我的看法,如果對你有所幫助,歡迎給我點贊轉發評論。

我是蘇蘇思量,來自BAT的Java開發工程師,每日分享科技類見聞,歡迎關注我,與我共同進步。


蘇蘇思量


去把hello world寫上100遍再來看你問的問題。

java作為語言它是獨立的。它只認jvm,jvm只認main方法。

javaweb搞了那麼多api,屬於javaee。jdk底層並沒有實現對javaee的運行環境,所以需要其他廠商來提供這個環境。

其他廠商提供的運行javaee的環境成為中間件,具體叫做應用服務器。sun官方主推jboss,但民間tomcat用的最多,weblogic也很多。

所有廠商實現的應用服務器必須遵守javaee規範,啥意思,就是你要寫這個服務器必須按照sun的規範來寫,因為javaee裡面編寫的servlet,filter,listener這些玩意兒有自己的接口準則,你不按照sun的規範來實現,運行不了這些servlet啊。

最後一句,javaweb工程可以配置任何市面上流行的應用服務器,不一定非得是tomcat。


崔老師聯盟


可以這麼理解,


Tomcat 是網站服務器,就好比是辦公室;

Java 程序其實可以類比成職員;

職員就是人,在哪都能呼吸,都能運行;

只不過在辦公室就要按規定幹活而已。


所以你可以跳槽,也可回家,

那就相當於,Java 可以運行在類似 Tomcat 的其他容器中,也可以不需要 Tomcat 單獨運行。



一刻的網絡日記


Tomcat是一個web服務器,java運行在Tomcat只是作為http的web服務器,例如淘寶網的服務器,類似於Tomcat的web服務器還有很多種類,Java中常見的5種WEB服務器介紹,它們分別是Tomcat、Resin、JBoss、WebSphere、WebLogic。java是一種跨平臺的語言,除了做web開發外,還可以做遊戲,嵌入式,所以不一定要運行在Tomcat中


CodeDump


java本身運行不需要tomcat

java本身運行是不需要tomcat的

java web運行時,需要使用web容器

tomcat是按照servlet規範編寫的web容器,javaweb項目運行依賴容器,但是tomcat不是唯一的。

Jetty,jboss等等容器都是可以的


傑哥學Java


Tomcat是web容器,如果你不是做web項目和話是不需要tomcat的。


RocketMQ技術號


提問不準確,應該是java web運行需要tomcat。tomcat可以執行servlet jsp等最終被編譯成servlet web服務器可以用jboss和jetty等 不一定用tomcat


JAVA君


不是運行需要!不要tomcat都可以,tomcat只是一箇中間件。java運行環境是需要jvm。


夏末拾憶


又不是必須要tomcat,jboss也行啊


毅大師


請你有點常識再出來問問題,java的企業級版本ee在網絡服務器Tomcat上可以運行


分享到:


相關文章: