等待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上可以運行