tomcat基礎內容

目錄結構

  • bin內部包含.sh.bat分別是linuxwindows的執(zhí)行文件
  • lib依賴的jar
  • conf
  1. catalina.policy 權限相關配置
  2. server.xml 具體配置文件
Server節(jié)點
     - Executor 線程池
     - Connector 連接器,管理對外的連接配置端口之類的。如果使用了線程池,這里的最大線程無效

  1. web.xml
Servlet
    - DefaultServlet 默認的,加載靜態(tài)文件,圖片,html,js等
    - JspServlet 處理jsp的
mime-mapping Tomcat處理的文件類型 
welcome-file-list 首頁
  • logs 日志
  1. catalina.x.log 啟動日志
  2. localhost_access_log 接收到的請求日志

部署

  • 隱式部署, war包放到webapps里(一般不推薦,程序和部署工具應該隔離)
  • server.xml配置 Host
<Host name="localhost" appBean="webapps" unpackWARs="true" auto Deploy="true">
    <!-- reloadable熱加載 -->
    <Context path="/myUrl" docBase="d:/Demo" reloadable="true"> </Context>
...
  • 創(chuàng)建xml conf/Catalina/localhost/my.xml

my.xml

<?xml version="1.0" encoding="UTF-8">
<Context path="/myUrl" docBase="d:/Demo" reloadable="true"> </Context>

然后就可以直接訪問/my路徑進入程序

結構

結構

Service(通過配置多個service和connector可以監(jiān)聽多個端口) -> engine(引擎) --> Host(虛擬主機,域名)--> Context(應用)-->wrapper(servlet)

  • Bootstarp 入口類
  • Catalina 啟動類
  • server 服務器,代表整個tomcat(StandardServer是標準實現 )
  • Service 邏輯功能層,可以有多個
  • Connector連接器,負責Tomcat與客戶端通訊 (多個)
  • Container Service 的核心組件,按照層級有Engine,Host,Context,Wrapper四種,一個service只有一個Engine
  1. Connector發(fā)送RequestContainer
  2. Container返回Reponse
  • Jasper jsp引擎

連接器

  • NIO模式,
  1. ChannelSelector注冊連接,讀寫IO事件
  2. Selector輪詢selectKey集合
  3. 通過key找到對應的channel通過綁定的buffer進行讀寫
  • 流程解析
  1. ProtocolHandler 協(xié)議解析
  2. Endpoint Socker網絡連接處理
  3. Processor 處理Socker封裝成Request
  4. Adapter適配器將Request包裝成ServletRequest

容器,責任鏈

Engine => Host => Context => Wrapper
Catalina.start()啟動tomcat start

啟動

增加VM參數

# 設置環(huán)境變量
-Dcatalina.home="D:\tomcat\build"
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 1.基礎 1.1 web概念 1).軟件架構 1.c/s:客戶端/服務器端 2.b/s:瀏覽器/服務器端 2) ....
    Cairo_fb29閱讀 488評論 0 0
  • 4.Tomcat服務器配置 Tomcat服務器的配置主要集中于tomcat/conf下的catalina.poli...
    Cairo_fb29閱讀 916評論 0 0
  • 在之前的項目中,需要對項目做集群,由于項目對系統(tǒng)的并發(fā)要求不大,所以就采取Session共享方式實現,雖然根據在網...
    夢中一點心雨閱讀 2,332評論 0 1
  • 概念 Java Web,是基于Java語言實現web服務的技術總和。介于現在Java在web客戶端應用的比較少,我...
    胥垣閱讀 1,542評論 0 8
  • 轉自陳明乾的博客,可能有一定更新。 轉原文聲明: 原創(chuàng)作品,允許轉載,轉載時請務必以超鏈接形式標明文章 原始出處 ...
    LUNJINGJIE閱讀 4,101評論 1 33

友情鏈接更多精彩內容