tomcat常見面試題目問答Top10
Tomcat 伺服器是一個免費的開放原始碼的Web 應用伺服器,Tomcat是Apache 軟體基金會(Apache Software Foundation)的Jakarta 專案中的一個核心專案,它早期的名稱為catalina,後來由Apache、Sun 和其他一些公司及個人共同開發而成,並更名為Tomcat。
Tomcat 是一個小型的輕量級應用伺服器,在中小型系統和併發訪問使用者不是很多的場合下被普遍使用,是開發和除錯JSP 程式的首選,因為Tomcat 技術先進、效能穩定,成為目前比較流行的Web 應用伺服器。面試中,tomcat也往往會涉及到。
下面抽取了一些常見的問題,進行探討,歡迎提出更多問題或者答案。
1.什麼是tomcat?
簡單的說,tomcat是servlet,jsp,el,webSocket等技術的實現。
2.tomcat 6,7,8,9的有什麼區別
3. tomcat有哪些元件?
4. tomcat有哪些Connector?
Tomcat的Web伺服器聯結器支援兩種協議:AJP和HTTP,它們均定義了以二進位制格式在Web伺服器和Tomcat之間進行資料傳輸,並提供相應的控制命令。
AJP(Apache JServ Protocol)協議:目前正在使用的AJP協議的版本是通過JK和JK2聯結器提供支援的AJP13,它基於二進位制的格式在Web伺服器和Tomcat之間傳輸資料,而此前的版本AJP10和AJP11則使用文字格式傳輸資料。
HTTP協議:誠如其名稱所表示,其是使用HTTP或HTTPS協議在Web伺服器和Tomcat之間建立通訊,此時,Tomcat就是一個完全功能的HTTP伺服器,它需要監聽在某埠上以接收來自於商前伺服器的請求。
5. tomcat的Valve的作用是什麼?
Valve類似於過濾器,它可以工作於Engine和Host/Context之間、Host和Context之間以及Context和Web應用程式的某資源之間。一個容器內可以建立多個Valve,而且Valve定義的次序也決定了它們生效的次序。
6.Webserver 和 Application Server的區別是什麼?
最大區別,WebServer 一般僅僅指Web(如servlet,jsp)的應用伺服器,ApplicationServer不僅可以是Web,還可以是Ejb等其它的應用伺服器。
web server可以是application server的一部分,也可以是單獨存在。
7.如何修改tomcat的預設埠
$ TOMCAT_HOME /conf/server.xml下
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
8. 如何修改預設的home頁面?
$TOMCAT_HOME/conf/web.xml或者$TOMCAT_HOME/webapps/WEB-INF /web.xml 的welcome-file-list
<welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> </welcome-file-list>
9. servlet的生命週期?
Servlet 生命週期可被定義為從建立直到毀滅的整個過程。以下是 Servlet 遵循的過程:
- Servlet 通過呼叫 init () 方法進行初始化。
- Servlet 呼叫 service() 方法來處理客戶端的請求。
- Servlet 通過呼叫 destroy() 方法終止(結束)。
- 最後,Servlet 是由 JVM 的垃圾回收器進行垃圾回收的。
10. jsp的生命週期?
參考資料:
【1】http://www.ttlsa.com/tomcat/tomcat-install-and-configure/
【2】https://www.runoob.com/servlet/servlet-life-cycle.html
【3】https://en.wikipedia.org/wiki/JavaServer_P