大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

Tomca教程
Tomcat Manager
Tomcat Realm 配置
Tomcat 安全管理
Tomcat JNDI 資源
Tomcat JDBC 數(shù)據(jù)源
Tomcat 類加載機制
Tomcat JSPs
Tomcat SSL/TLS配置
Tomcat SSI
Tomcat CGI
Tomcat 代理支持
Tomcat MBean 描述符
Tomcat 默認 Servlet
Tomcat 集群
Tomcat 連接器
Tomcat監(jiān)控與管理
Tomcat 日志機制
Tomcat 基于 APR 的原生庫
Tomcat 虛擬主機
Tomcat 高級 IO 機制
Tomcat 附加組件
Tomcat 安全性注意事項
Tomcat Windows 服務
Tomcat Windows 認證
Tomcat 的 JDBC 連接池
Tomcat WebSocket 支持
Tomcat 重寫機制

Tomcat配置

本節(jié)將列舉一些重要、常見的配置項。詳細的 Tomcat8 配置可以參考 Tomcat 8 配置官方參考文檔 。

Server

Server 元素表示整個 Catalina servlet 容器。

因此,它必須是 conf/server.xml 配置文件中的根元素。它的屬性代表了整個 servlet 容器的特性。

屬性表

屬性

描述

備注

className

這個類必須實現(xiàn)org.apache.catalina.Server接口。

默認 org.apache.catalina.core.StandardServer

address

服務器等待關機命令的TCP / IP地址。如果沒有指定地址,則使用localhost。

 

port

服務器等待關機命令的TCP / IP端口號。設置為-1以禁用關閉端口。

 

shutdown

必須通過TCP / IP連接接收到指定端口號的命令字符串,以關閉Tomcat。

 

Service

Service元素表示一個或多個連接器組件的組合,這些組件共享一個用于處理傳入請求的引擎組件。Server 中可以有多個 Service。

屬性表

屬性

描述

備注

className

這個類必須實現(xiàn)org.apache.catalina.Service接口。

默認 org.apache.catalina.core.StandardService

name

此服務的顯示名稱,如果您使用標準 Catalina 組件,將包含在日志消息中。與特定服務器關聯(lián)的每個服務的名稱必須是唯一的。

 

實例 - conf/server.xml 配置文件示例

  ...

Executor

Executor表示可以在Tomcat中的組件之間共享的線程池。

屬性表

屬性

描述

備注

className

這個類必須實現(xiàn)org.apache.catalina.Executor接口。

默認 org.apache.catalina.core.StandardThreadExecutor

name

線程池名稱。

要求唯一, 供Connector元素的executor屬性使用

namePrefix

線程名稱前綴。

 

maxThreads

最大活躍線程數(shù)。

默認200

minSpareThreads

最小活躍線程數(shù)。

默認25

maxIdleTime

當前活躍線程大于minSpareThreads時,空閑線程關閉的等待最大時間。

默認60000ms

maxQueueSize

線程池滿情況下的請求排隊大小。

默認Integer.MAX_VALUE

Connector

Connector代表連接組件。Tomcat 支持三種協(xié)議:HTTP/1.1、HTTP/2.0、AJP。

屬性表

屬性

說明

備注

asyncTimeout

Servlet3.0規(guī)范中的異步請求超時

默認30s

port

請求連接的TCP Port

設置為0,則會隨機選取一個未占用的端口號

protocol

協(xié)議. 一般情況下設置為 HTTP/1.1,這種情況下連接模型會在NIO和APR/native中自動根據(jù)配置選擇

 

URIEncoding

對URI的編碼方式.

如果設置系統(tǒng)變量org.apache.catalina.STRICT_SERVLET_COMPLIANCE為true,使用 ISO-8859-1編碼;如果未設置此系統(tǒng)變量且未設置此屬性, 使用UTF-8編碼

useBodyEncodingForURI

是否采用指定的contentType而不是URIEncoding來編碼URI中的請求參數(shù)

 

以下屬性在標準的Connector(NIO, NIO2 和 APR/native)中有效:

屬性

說明

備注

acceptCount

當最大請求連接maxConnections滿時的最大排隊大小

默認100,注意此屬性和Executor中屬性maxQueueSize的區(qū)別.這個指的是請求連接滿時的堆棧大小,Executor的maxQueueSize指的是處理線程滿時的堆棧大小

connectionTimeout

請求連接超時

默認60000ms

executor

指定配置的線程池名稱

 

keepAliveTimeout

keeAlive超時時間

默認值為connectionTimeout配置值.-1表示不超時

maxConnections

最大連接數(shù)

連接滿時后續(xù)連接放入最大為acceptCount的隊列中. 對 NIO和NIO2連接,默認值為10000;對 APR/native,默認值為8192

maxThreads

如果指定了Executor, 此屬性忽略;否則為Connector創(chuàng)建的內(nèi)部線程池最大值

默認200

minSpareThreads

如果指定了Executor, 此屬性忽略;否則為Connector創(chuàng)建線程池的最小活躍線程數(shù)

默認10

processorCache

協(xié)議處理器緩存Processor對象的大小

-1表示不限制.當不使用servlet3.0的異步處理情況下: 如果配置Executor,配置為Executor的maxThreads;否則配置為Connnector的maxThreads. 如果使用Serlvet3.0異步處理, 取maxThreads和maxConnections的最大值

Context

Context元素表示一個Web應用程序,它在特定的虛擬主機中運行。每個Web應用程序都基于Web應用程序存檔(WAR)文件,或者包含相應的解包內(nèi)容的相應目錄,如Servlet規(guī)范中所述。

屬性表

屬性

說明

備注

altDDName

web.xml部署描述符路徑

默認 /WEB-INF/web.xml

docBase

Context的Root路徑

和Host的appBase相結合, 可確定web應用的實際目錄

failCtxIfServletStartFails

同Host中的failCtxIfServletStartFails, 只對當前Context有效

默認為false

logEffectiveWebXml

是否日志打印web.xml內(nèi)容(web.xml由默認的web.xml和應用中的web.xml組成)

默認為false

path

web應用的context path

如果為根路徑,則配置為空字符串(""), 不能不配置

privileged

是否使用Tomcat提供的manager servlet

 

reloadable

/WEB-INF/classes/ 和/WEB-INF/lib/ 目錄中class文件發(fā)生變化是否自動重新加載

默認為false

swallowOutput

true情況下, System.out和System.err輸出將被定向到web應用日志中

默認為false

Engine

Engine元素表示與特定的Catalina服務相關聯(lián)的整個請求處理機器。它接收并處理來自一個或多個連接器的所有請求,并將完成的響應返回給連接器,以便最終傳輸回客戶端。

屬性表

屬性

描述

備注

defaultHost

默認主機名,用于標識將處理指向此服務器上主機名稱但未在此配置文件中配置的請求的主機。

這個名字必須匹配其中一個嵌套的主機元素的名字屬性。

name

此引擎的邏輯名稱,用于日志和錯誤消息。

在同一服務器中使用多個服務元素時,每個引擎必須分配一個唯一的名稱。

Host

Host元素表示一個虛擬主機,它是一個服務器的網(wǎng)絡名稱(如“www.mycompany.com”)與運行Tomcat的特定服務器的關聯(lián)。

屬性表

屬性

說明

備注

name

名稱

用于日志輸出

appBase

虛擬主機對應的應用基礎路徑

可以是個絕對路徑, 或CATALINABASE相對路徑||xmlBase|虛擬主機XML基礎路徑,里面應該有Contextxml配置文件|可以是個絕對路徑,或CATALINABASE相對路徑||xmlBase|虛擬主機XML基礎路徑,里面應該有Contextxml配置文件|可以是個絕對路徑,或{CATALINA_BASE}相對路徑

createDirs

當appBase和xmlBase不存在時,是否創(chuàng)建目錄

默認為true

autoDeploy

是否周期性的檢查appBase和xmlBase并deploy web應用和context描述符

默認為true

deployIgnore

忽略deploy的正則

 

deployOnStartup

Tomcat啟動時是否自動deploy

默認為true

failCtxIfServletStartFails

配置為true情況下,任何load-on-startup >=0的servlet啟動失敗,則其對應的Contxt也啟動失敗

默認為false

Cluster

由于在實際開發(fā)中,我從未用過Tomcat集群配置,所以沒研究。

啟動

部署方式

這種方式要求本地必須安裝 Tomcat 。

將打包好的 war 包放在 Tomcat 安裝目錄下的 webapps 目錄下,然后在 bin 目錄下執(zhí)行 startup.bat 或 startup.sh ,Tomcat 會自動解壓 webapps 目錄下的 war 包。

成功后,可以訪問 http://localhost:8080/xxx (xxx 是 war 包文件名)。

注意

以上步驟是最簡單的示例。步驟中的 war 包解壓路徑、啟動端口以及一些更多的功能都可以修改配置文件來定制 (主要是 server.xml 或 context.xml 文件)。

嵌入式

API 方式

在 pom.xml 中添加依賴


  org.apache.tomcat.embed
  tomcat-embed-core
  8.5.24
添加 SimpleEmbedTomcatServer.java 文件,內(nèi)容如下:
import java.util.Optional;import org.apache.catalina.startup.Tomcat;
public class SimpleTomcatServer {
    private static final int PORT = 8080;
    private static final String CONTEXT_PATH = "/javatool-server";

    public static void main(String[] args) throws Exception {
        // 設定 profile
        Optional profile = Optional.ofNullable(System.getProperty("spring.profiles.active"));
        System.setProperty("spring.profiles.active", profile.orElse("develop"));

        Tomcat tomcat = new Tomcat();
        tomcat.setPort(PORT);
        tomcat.getHost().setAppBase(".");
        tomcat.addWebapp(CONTEXT_PATH, getAbsolutePath() + "src/main/webapp");
        tomcat.start();
        tomcat.getServer().await();
    }

    private static String getAbsolutePath() {
        String path = null;
        String folderPath = SimpleEmbedTomcatServer.class.getProtectionDomain().getCodeSource().getLocation().getPath()
                .substring(1);
        if (folderPath.indexOf("target") > 0) {
            path = folderPath.substring(0, folderPath.indexOf("target"));
        }
        return path;
    }}

成功后,可以訪問 http://localhost:8080/javatool-server 。

說明

本示例是使用 org.apache.tomcat.embed 啟動嵌入式 Tomcat 的最簡示例。

這個示例中使用的是 Tomcat 默認的配置,但通常,我們需要對 Tomcat 配置進行一些定制和調(diào)優(yōu)。為了加載配置文件,啟動類就要稍微再復雜一些。這里不想再貼代碼,有興趣的同學可以參考:

示例項目

使用 maven 插件啟動(不推薦)

不推薦理由:這種方式啟動 maven 雖然最簡單,但是有一個很大的問題是,真的很久很久沒發(fā)布新版本了(最新版本發(fā)布時間:2013-11-11)。且貌似只能找到 Tomcat6 、Tomcat7 插件。

使用方法

在 pom.xml 中引入插件


  org.apache.tomcat.maven
  tomcat7-maven-plugin
  2.2
  
    8080
    /${project.artifactId}
    UTF-8
  

運行 mvn tomcat7:run 命令,啟動 Tomcat。

成功后,可以訪問 http://localhost:8080/xxx (xxx 是 ${project.artifactId} 指定的項目名)。

IDE 插件

常見 Java IDE 一般都有對 Tomcat 的支持。

以 Intellij IDEA 為例,提供了 Tomcat and TomEE Integration 插件(一般默認會安裝)。

使用步驟

·點擊 Run/Debug Configurations > New Tomcat Server > local ,打開 Tomcat 配置頁面。

·點擊 Confiure... 按鈕,設置 Tomcat 安裝路徑。

·點擊 Deployment 標簽頁,設置要啟動的應用。

·設置啟動應用的端口、JVM 參數(shù)、啟動瀏覽器等。

·成功后,可以訪問 http://localhost:8080/(當然,你也可以在 url 中設置上下文名稱)。

說明

個人認為這個插件不如 Eclipse 的 Tomcat 插件好用,Eclipse 的 Tomcat 插件支持對 Tomcat xml 配置文件進行配置。而這里,你只能自己去 Tomcat 安裝路徑下修改配置文件。

全部教程
主站蜘蛛池模板: 五月婷婷久久综合 | 亚洲水蜜桃久久综合网站 | 国产成人亚洲精品 | 草草草在线视频 | 色国产在线 | 波多野结衣亚洲一区二区三区 | 爱爱小视频免费体验区在线观看 | 91视频官网 | 久久精品视频3 | 欧美大屁股精品毛片视频 | 日本一级片免费观看 | 久久久久一 | 福利午夜国产网站在线不卡 | 日本人69视频页码jlzz | 修修视频在线观看 | 国产东北露脸对白 | 奇米影视9999 | 九九热精品在线 | 日本aaaa特级毛片 | 免费观看成人www精品视频在线 | 久久婷婷激情综合中文字幕 | 中文字幕日韩视频 | 亚洲日本高清影院毛片 | 国产精品永久免费视频 | 美女视频国产 | 亚洲精品tv久久久久 | 亚洲国产欧美国产第一区二区三区 | 欧美在线视频网站 | 手机看片福利盒子久久 | 国产精品ⅴ视频免费观看 | 99久久这里只精品麻豆 | 国产福利第一视频 | 成人小视频免费观看 | 在线免费黄色片 | 亚洲小说春色综合另类网蜜桃 | 亚洲香蕉网综合久久 | 国产精品免费一级在线观看 | 亚欧aⅴ天堂在线 | 久久精品99毛片免费 | 尤物视频在线免费观看 | 四虎影视在线观看永久地址 |