1. 程式人生 > >tomcat常見面試題目問答Top10

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