日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

整合tomcat的一些配置

發布時間:2024/4/14 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 整合tomcat的一些配置 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

  我一直對tomcat不是很了解,上網了解tomcat的一些基礎配置,順便整合一下。

1、 context.xml

  1. 在tomcat 5.5之前

    Context體現在/conf/server.xml中的Host里的<Context>元素,它由Context接口定義。每個<Context元素代表了運行在虛擬主機上的單個Web應用

? ?<Context debug="0" path="/webDemo" docBase="webDemo" debug="0" reloadable="true"> ?

?

1、debug:表示log中記錄異常的控制等級,數值越大,記錄越詳細。

2、path:即要建立的虛擬目錄,,注意是/webDemo,它指定訪問Web應用的URL入口,如http://localhost:8080/webDemo/****

3、docBase:為實際目錄在硬盤上的位置(應用程序的路徑或者是WAR文件存放的路徑)
4、reloadable:如果這個屬性設為true,Tomcat服務器在運行狀態下會監視在WEB-INF/classes和Web-INF/lib目錄CLASS文件的改變,如果監視到有class文件被更新,服務器自動重新加載Web應用,這樣我們可以在不重起tomcat的情況下改變應用程序

一個Host元素中嵌套任意多的Context元素。每個Context的路徑必須是唯一的,由path屬性定義。另外,你必須定義一個path=“”的context,這個Context稱為該虛擬主機的缺省web應用,用來處理那些不能匹配任何Context的Context路徑的請求。

?  2. 在tomcat 5.5之后

不推薦在server.xml中進行配置,而是在/conf/context.xml中進行獨立的配置。因為server.xml是不可動態重加載的資源,服務器一旦啟動了以后,要修改這個文件,就得重啟服務器才能重新加載。而context.xml文件則不然,tomcat服務器會定時去掃描這個文件。一旦發現文件被修改(時間戳改變了),就會自動重新加載這個文件,而不需要重啟服務器。

<Context path="/webDemo" docBase="webDemo" debug="0" reloadable="true" privileged="true" ?><WatchedResource>WEB-INF/web.xml</WatchedResource><WatchedResource>WEB-INF/webDemo.xml</WatchedResource> 監控資源文件,如果web.xml || webDemo.xml改變了,則自動重新加載改應用。<Resource name="jdbc/testSiteds" 表示指定的jndi名稱 auth="Container" 表示認證方式,一般為Container type="javax.sql.DataSource" maxActive="100" 連接池支持的最大連接數 maxIdle="30" 連接池中最多可空閑maxIdle個連接 maxWait="10000" 連接池中連接用完時,新的請求等待時間,毫秒 username="root" 表示數據庫用戶名 password="root" 表示數據庫用戶的密碼 driverClassName="com.mysql.jdbc.Driver" 表示JDBC DRIVER url="jdbc:mysql://localhost:3306/testSql" /> 表示數據庫URL地址</Context>

3、context.xml的三個作用范圍

1. tomcat server級別:

在/conf/context.xml里配置

2. Host級別:

在/conf/Catalina/${hostName}里添加context.xml,繼而進行配置

3. web app 級別:

在/conf/Catalina/${hostName}里添加${webAppName}.xml,繼而進行配置

?

?server.xml

元素名 屬性 解釋
server port 指定一個端口,這個端口負責監聽關閉tomcat的請求
shutdown 指定向端口發送的命令字符串
service name 指定service的名字
Connector(表示客戶端和service之間的連接) port 指定服務器端要創建的端口號,并在這個斷口監聽來自客戶端的請求
minProcessors 服務器啟動時創建的處理請求的線程數
maxProcessors 最大可以創建的處理請求的線程數
enableLookups 如果為true,則可以通過調用request.getRemoteHost()進行DNS查詢來得到遠程客戶端的實際主機名,若為false則不進行DNS查詢,而是返回其ip地址
redirectPort 指定服務器正在處理http請求時收到了一個SSL傳輸請求后重定向的端口號
acceptCount 指定當所有可以使用的處理請求的線程數都被使用時,可以放到處理隊列中的請求數,超過這個數的請求將不予處理
connectionTimeout 指定超時的時間數(以毫秒為單位)
URIEncoding指定默認編碼ISO-8859-1編碼,我們基本會設置UTF-8。(中文路徑、文件等問題)
Engine(表示指定service中的請求處理機,接收和處理來自Connector的請求) defaultHost 指定缺省的處理請求的主機名,它至少與其中的一個host元素的name屬性值是一樣的
Context(表示一個web應用程序,通常為WAR文件,關于WAR的具體信息見servlet規范) docBase 應用程序的路徑或者是WAR文件存放的路徑
path 表示此web應用程序的url的前綴,這樣請求的url為http://localhost:8080/path/****
reloadable 這個屬性非常重要,如果為true,則tomcat會自動檢測應用程序的/WEB-INF/lib?和/WEB-INF/classes目錄的變化,自動裝載新的應用程序,我們可以在不重起tomcat的情況下改變應用程序
host(表示一個虛擬主機) name 指定主機名
appBase 應用程序基本目錄,即存放應用程序的目錄
unpackWARs 如果為true,則tomcat會自動將WAR文件解壓,否則不解壓,直接從WAR文件中運行應用程序
Logger(表示日志,調試和錯誤信息) className 指定logger使用的類名,此類必須實現org.apache.catalina.Logger?接口
prefix 指定log文件的前綴
suffix 指定log文件的后綴
timestamp 如果為true,則log文件名中要加入時間,如下例:localhost_log.2001-10-04.txt
Realm(表示存放用戶名,密碼及role的數據庫) className 指定Realm使用的類名,此類必須實現org.apache.catalina.Realm接口
Valve(功能與Logger差不多,其prefix和suffix屬性解釋和Logger?中的一樣) className 指定Valve使用的類名,如用org.apache.catalina.valves.AccessLogValve類可以記錄應用程序的訪問信息
directory 指定log文件存放的位置
pattern 有兩個值,common方式記錄遠程主機名或ip地址,用戶名,日期,第一行請求的字符串,HTTP響應代碼,發送的字節數。combined方式比common方式記錄的值更多

?

Web.xml文件的作用

Web.xml依次定議了如下元素:?

<web-app> <display-name></display-name> 定義了WEB應用的名字 <description></description> 聲明WEB應用的描述信息 <filter></filter> <filter-mapping></filter-mapping> <servlet></servlet> <servlet-mapping></servlet-mapping> <session-config></session-config> <welcome-file-list></welcome-file-list> <taglib></taglib> <resource-ref></resource-ref> <security-constraint></security-constraint> <login-config></login-config> </web-app> 在web.xml中元素定義的先后順序不能顛倒,否則Tomcat服務器可能會拋出SAXParseException.<!-- filter 配置Servlet過濾器 filter-name 定義過濾器的名字。當有多個過濾器時,不能同名 filter-class 指定實現這一過濾的類,這個類負責具體的過濾事務 --> <filter> <filter-name>SampleFilter</filter-name> <filter-class>mypack.SampleFilter</filter-class> </filter> <!-- filter-mapping 設定過濾器負責過濾的URL filter-name 過濾器名。這里的名字一定要和filter中的過濾器名匹配 url-pattern 指定過濾器負責過濾的URL --> <filter-mapping> <filter-name>SampleFilter</filter-name> <url-pattern>*.jsp</url-pattern> </filter-mapping> <!-- servlet 配置Servlet. servlet-name 定義Servlet的名字 servlet-class 指定實現這個servlet的類 init-param 定義Servlet的初始化參數和參數值,可有多個init-param。在servlet類中通過getInitParamenter(String name)方法訪問初始化參數 load-on-startup 指定當Web應用啟動時,裝載Servlet的次序。 當值為正數或零時:Servlet容器先加載數值小的servlet,再依次加載其他數值大的servlet. 當值為負或未定義:Servlet容器將在Web客戶首次訪問這個servlet時加載它 --> <servlet> <servlet-name>SampleServlet</servlet-name> <servlet-class>mypack.SampleServlet</servlet-class> <init-param> <param-name>initParam1</param-name> <param-value>2</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <!-- 配置servlet映射(下面代碼為SampleServlet指定的相對URL為"/sample": servlet-name 指定servlet的名字,這里的名字應該和<Servlet>元素中定義的名字匹配。 url-pattern 指定訪問這個servlet的URL。只需給出相對路徑。 --> <servlet-mapping> <servlet-name>SampleServlet</servlet-name> <url-pattern>/sample</url-pattern> </servlet-mapping> <!--配置session session用來設定HttpSession的生命周期。單位(秒)--> <session-config> <session-timeout>30</session-timeout> </session-config> <!--配置Wel0come0文件清單--> <welcome-file-list> <welcome-file>login.jsp</welcome-file> <welcome-file>index.htm</welcome-file> </welcome-file-list> <!-- 配置Tag Library taglib-uri 設定Tag Library的唯一標識符,在Web應用中將根據這一標識符來引用Tag Library taglib-location 指定和Tag Library對應的TLD文件的位置 --> <taglib> <taglib-uri>/mytaglib</taglib-uri> <taglib-location>/WEB-INF/mytaglib.tld</taglib-location> </taglib> <!-- 配置資源引用 description 對所引用的資源的說明 res-ref-name 指定所引用資源的JNDI名字 res-type 指定所引用資源的類名字 res-auth 指定管理所引用資源的Manager,它有兩個可選值: Container:由容器來創建和管理resource Application:同WEB應用來創建和管理Resource --> <resource-ref> <description>DB Connection</description> <res-ref-name>jdbc/sampleDB</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref> <!-- 配置安全約束(以下代碼指定當用戶訪問該WEB應用下的所有資源時,必須具備guest角色) web-resource-collection 聲明受保護的WEB資源 auth-constraint 聲明可以訪問受保護資源的角色,可以包含多個<role-name>子元素 web-resource-name 標識受保護的WEB資源 url-pattern 指定受保護的URL路徑 --> <Security-constraint> <web-resource-collection> <web-resource-name>sample appliction</web-resource-name> <url-pattern>/*</url-pattern> </web-resource-collection> <auth-constraint> <role-name>guest</role-name> </auth-constraint> </Security-constraint> <!-- 配置安全驗證登錄界面:指定當WEB客戶訪問受保護的WEB資源時,系統彈出的登錄對話框的類型。 auth-method 指定驗證方法,它有三個可選值:BASIC(基本驗證)、DIGEST(摘要驗證)、FORM(表單驗證) realm-name 設定安全域的名稱 form-login-config 當驗證方法為FORM時,配置驗證網頁和出錯網頁 form-login-page 當驗證方法為FORM時,設定驗證網頁 form-error-page 當驗證方法為FORM時,設定出錯網頁 --> <login-config> <auth-method>FORM</auth-method> <realm-name> Tomcat Server Configuration form-Based Authentication Area </realm-name> <form-login-config> <form-login-page>/login.jsp</form-login-page> <form-error-page>/error.jsp</form-error-page> </form-login-config> </login-config> <!--配置對安全驗證角色的引用--> <security-role> <description> The role that is required to log into the sample application </description> <role-name>guest</role-name> </security-role> </web-app>

?

tomcat-users.xml文件的作用

1.關于用戶角色、管理員的信息都在這個配置文件中。
2.登錄用戶默認是注釋掉的,把 <!-- ?-->去掉才能生效。
3.在配置文件<tomcat-users>節點下添加管理員配置:

<role rolename="tomcat"/> <role rolename="role1"/> <user username="tomcat" password="tomcat" roles="tomcat"/> <user username="both" password="tomcat" roles="tomcat,role1"/> <user username="role1" password="tomcat" roles="role1"/>

?

最后補充一句,在eclipse下debug啟動tomcat默認熱部署,熱加載。大家可以試試!

?

轉載于:https://www.cnblogs.com/zrl66/p/tomcat.html

超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生

總結

以上是生活随笔為你收集整理的整合tomcat的一些配置的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。