,其中path屬性是url后面的" />

亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Tomcat部署

系統(tǒng) 1809 0

首先說說tomcat的幾種部署方法:

1.將應(yīng)用文件夾或war文件塞到tomcat安裝目錄下的webapps子目錄下,這樣tomcat啟動的時候會將webapps目錄下的文件夾或war內(nèi)容當(dāng)成應(yīng)用部署。這種方式最簡單且無須書寫任何配置文件。

?

2.在tomcat安裝目錄下的conf子目錄下的server.xml配置文件中的Host節(jié)點(diǎn)下添加Context字節(jié)點(diǎn):<Context path="/name" docBase="..." />,其中path屬性是url后面的訪問目錄名,這個例子中項目在本機(jī)的訪問url為http://localhost:8080/name,docBase為應(yīng)用的所在路徑可以為系統(tǒng)的任意位置。

3.$CATALINA_HOME/conf/[enginename]/[hostname]/ 目錄下新建一個xml文件,文件的根節(jié)點(diǎn)為Context節(jié)點(diǎn),屬性配置與第二種方式一樣,只是無須配置path屬性,path屬性為xml文件的名稱

?

4.登錄http://localhost:8080/manager頁面,利用tomcat的manager管理功能管理與動態(tài)部署應(yīng)用。

tomcat的Context節(jié)點(diǎn)配置與web.xml類似,但是應(yīng)用于兩個不同的方面。Context元素代表一個web應(yīng)用,運(yùn)行在某個特定的虛擬主機(jī)上。每個web應(yīng)用基于一個Web Application Archive(WAR)文件,或者是一個目錄,包含WAR文件解壓后的內(nèi)容Context是站在tomcat的角度來描述一個應(yīng)用的部署,Context節(jié)點(diǎn)是從tomcat容器的角度來描述一個部署在容器內(nèi)的web應(yīng)用。而web.xml文件是描述應(yīng)用的內(nèi)容,是對應(yīng)用本身而言的。通過將請求URI的最長可能前綴與每個Context的context路徑進(jìn)行匹配,Catalina(引擎)選擇相應(yīng)的web 應(yīng)用處理HTTP請求。一旦選定,根據(jù)web application deployment descriptor 文件中定義的servlet映射,Context會選擇一個正確的servlet來處理進(jìn)來的請求。servlet映射必須定義在該web應(yīng)用目錄層次結(jié) 構(gòu)中的/WEB-INF/web.xml中。
你可以在一個Host元素中嵌套任意多的Context元素。每個Context的路徑必須 是惟一的,由path屬性定義。另外,你必須定義一個context路徑長度為0的Context,這個Context稱為該虛擬主機(jī)的缺省web應(yīng)用, 用來處理那些不能匹配任何Context的Context路徑的請求。

?

【幾個Note】
1,Tomcat配置文件server.xml區(qū)分大小寫,例如docbase不會當(dāng)初docBase,寫錯了容器會默認(rèn)docBase與path的值相同,而不是docbase的值。
2,在server.xml中定義Context節(jié)點(diǎn),可以覆蓋webapps中的與path相同的文件夾。
3,嘗試定義相同的Context的pathName會導(dǎo)致Tomcat無法啟動
4,幾個Context可以指向同一個docBase
【Context】
功能:
WebApplicationArchive描述符
存在位置:
$CATALINA_HOME/conf/context.xml:這是所有應(yīng)用的Context節(jié)點(diǎn)公共配置文件,對所以的應(yīng)用都起作用
$CATALINA_HOME/conf/[enginename]/[hostname]/context.xml.default
$CATALINA_HOME/conf/[enginename]/[hostname]/*.xml:*為應(yīng)用名稱
$CATALINA_HOME/webbase/appDirName/META-INF/context.xml
Server.xml中的Host節(jié)點(diǎn)內(nèi)
屬性:
backgroundProcessorDelay
className 實(shí)現(xiàn)org.apache.catalina.Context接口
cookies 是否允許cookie
crossContext 是否允許應(yīng)用程序交互調(diào)用ServletContext.getContext()
docBase Context根目錄。
override 是否覆蓋host的默認(rèn)context配置
path 應(yīng)用程序的url路徑。每個host的所有app的path必須不同。注意,這個只有在server.xml中定義context時才使用,一般通過文件名或目錄名自動推斷。
privileged 是否允許使用container servlets, 就像manager servlet
reloadable 是否監(jiān)測和加載/WEB-INF/classes/和/WEB-INF/lib中的類文件的更新。
wrapperClass 實(shí)現(xiàn)org.apache.catalina.Wrapper接口的類。
allowLinking,antiJARLocking,antiResourceLocking,cacheMaxSize,cacheTTL,cachingAllowed,caseSensitive,processTlds,swallowOutput,tldNamespaceAware,tldValidation,unloadDelay,unpackWAR,useNaming,workDir
子節(jié)點(diǎn):
Loader 類加載器。最多一個,配置該web應(yīng)用用來加載servlet和javabean的類加載器。正常情況下,使用缺省的類加載器就足夠了

Logger - 配置用來接收和處理所有日志消息的logger,包括調(diào)用ServletContext.log()函數(shù)記錄的所有消息

?

Manager http會話的創(chuàng)建、銷毀和保持的管理類。最多一個,正常情況下,使用缺省的session manager配置就足夠了
Realm 授權(quán)管理。最多一個,配置Realm,該Realm的用戶數(shù)據(jù)庫以及相關(guān)的角色僅用于這個特定的web應(yīng)用中。如果沒有指定,該web應(yīng)用使用所屬的Host或Engine的Realm
Resources 資源管理類。最多一個,配置用于訪問與這個web應(yīng)用相關(guān)聯(lián)的靜態(tài)資源。正常情況下,使用缺省的resource manager就足夠了
WatchedResource 監(jiān)控資源,字符串。自動加載器會隨時更新這個資源。


【Loader】
說明:
放在Context節(jié)點(diǎn)內(nèi)
屬性:
className??? 實(shí)現(xiàn)接口org.apache.catalina.Loader的類加載器,默認(rèn)org.apache.catalina.loader.WebappClassLoader
delegate true表示加載前先問上級loader,同java一般模式;false,先從本loader開始嘗試加載
reloadable 是否監(jiān)控類文件變化,實(shí)時更新加載。

【Manager】
說明:
放在Context內(nèi),管理每個webapp的http會話的創(chuàng)建和維持。

Context的自動配置
如果使用標(biāo)準(zhǔn)的Context實(shí)現(xiàn),當(dāng)Catalina啟動,或者重載web應(yīng)用的時候,如下的配置步驟會自動發(fā)生,不需要特殊的配置來使能這個特征。

如果沒有定義自己的Loader元素,將會配置一個標(biāo)準(zhǔn)的web應(yīng)用class loader;
如果沒有定義自己的Manager元素,會配置一個標(biāo)準(zhǔn)的session manager;
如果沒有定義自己的Resources元素,使用標(biāo)準(zhǔn)的resource manager。
在conf/web.xml中列出的web應(yīng)用的屬性會當(dāng)做該web應(yīng)用的缺省的屬性。這被用于建立缺省的映射(比如將.jsp映射成對應(yīng)的JSP servlet),以及其他的標(biāo)準(zhǔn)屬性。
列舉在/WEB-INF/web.xml資源中的屬性被處理(如果資源存在);
如果web應(yīng)用指定了安全限制,并且可能需要對用戶進(jìn)行認(rèn)證,Catalina會配置選定的Authenticator,該Authenticator實(shí)現(xiàn)了login方法。

Context參數(shù)
可以在Context中元素中嵌套<Parameter>元素,配置帶有名稱的值,這些值作為servletcontext初始化參數(shù),對整個web應(yīng)用可見。比如,你可以像這樣創(chuàng)建初始化參數(shù):
<Context ...>
...
<Parameter name="companyName" value="My Company, Incorporated"
override="false"/>
...
</Context>
這與在/WEB-INF/web.xml中包含如下元素相等:
<context-param>
<param-name>companyName</param-name>
<param-value>My Company, Incorporated</param-value>
</context-param>

區(qū)別是,前者不需要修改deployment descriptor來定制這個值。
<Parameter>元素的有效屬性值如下:

屬性 描述
description 關(guān)于該context初始化參數(shù)的文字描述(可選)

name
要創(chuàng)建的context初始化參數(shù)的名稱
override 如果不希望/WEB-INF/web.xml中具有相同參數(shù)名稱的<context-param>覆蓋這里指定的值,設(shè)為false。缺省值為true。
value 調(diào)用ServletContext.getInitParameter()時,返回給應(yīng)用的參數(shù)值。
環(huán)境條目
可以在Context中嵌套<Environment>元素,配置命名的值,這些值作為環(huán)境條目資源(Environment Entry Resource),對整個web應(yīng)用可見。比如,可以按照如下方法創(chuàng)建一個環(huán)境條目:
<Context ...>
...
<Environment name="maxExemptions" value="10"
type="java.lang.Integer" override="false"/>
...
</Context>
這與在/WEB-INF/web.xml中包含如下元素是等價的:
<env-entry>
<env-entry-name>maxExemptions</param-name>
<env-entry-value>10</env-entry-value>
<env-entry-type>java.lang.Integer</env-entry-type>
</env-entry>
區(qū)別是,前者不需要修改deployment descriptor來定制這個值。
<Environment>元素的有效屬性所如下:
屬性 描述
description 環(huán)境條目的文字描述(可選)
name 環(huán)境條目的名稱,相對于java:comp/env context。
override 如果不希望/WEB-INF/web.xml中具有相同名稱的<env-entry>覆蓋這里指定的值,設(shè)為false。缺省值為true。
type 環(huán)境條目的Java類名的全稱.在/WEB-INF/web.xml中,<env-entry-type>必須是如下的 值:java.lang.Boolean, java.lang.Byte, java.lang.Character, java.lang.Double, java.lang.Float, java.lang.Integer, java.lang.Long, java.lang.Short, or java.lang.String.
value 通過JNDI context請求時,返回給應(yīng)用的參數(shù)值。這個值必須轉(zhuǎn)換成type屬性定義的Java類型
生命期Listeners
如 果一個Java對象需要知道Context什么時候啟動,什么時候停止,可以在這個對象中嵌套一個Listener元素。該Listener元素必須實(shí)現(xiàn) 了org.apache.catalina.LifecycleListener接口,在發(fā)生對應(yīng)的生命期事件的時候,通知該Listener。可以按照 如下的格式配置這樣的Listener:
<Context path="/examples" ...>
...
<Listener className="com.mycompany.mypackage.MyListener" ... >
...
</Context>
注意,一個listener可以具有任意多的附加屬性。屬性名與JavaBean的屬性名相對應(yīng),使用標(biāo)準(zhǔn)的屬性命名方法。
請求過濾器(Request Filters)
對 每個發(fā)送到Engine,Host或者Context的請求,可以要求Catalina檢查IP地址或主機(jī)名稱。Catalina使用一系列配置好的“接 受”或者“拒絕”過濾器對客戶端的地址或者主機(jī)名進(jìn)行檢查,過濾器是按照正則表達(dá)式語法定義的,由Jakarta Regexp正則表達(dá)式庫支持。不被接受的請求會返回一個HTTP“Forbidden”錯誤。下面是過濾器的定義。
<Context path="/examples" ...>
...
<Valve className="org.apache.catalina.valves.RemoteHostValve"
allow="*.mycompany.com, www.yourcompany.com "/>
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
deny="192.168.1.*"/>
...
</Context>

資源定義(Resource Definitions)
可 以在/WEB-INF/web.xml中定義資源的特性。使用JNDI查找<resource-ref>和<resource- env-ref>元素時,這些特性被返回。對同一資源名稱,還必須定義資源參數(shù)(見下面“資源參數(shù)”小節(jié)),這些參數(shù)用來配置對象工廠 (object factory)以及對象工廠的屬性。
比如,你可以按照如下方式創(chuàng)建資源定義:
<Context ...>
...
<Resource name="jdbc/EmployeeDB" auth="Container"
type="javax.sql.DataSource"
description="Employees Database for HR Applications"/>
...
</Context>

這等價于在/WEB-INF/web.xml中包含如下元素:
<resource-ref>
<description>Employees Database for HR Applications</description>
<res-ref-name>jdbc/EmployeeDB</res-ref-name>
<res-ref-type>javax.sql.DataSource</res-ref-type>
<res-auth>Container</res-auth>
</resource-ref>

區(qū)別是,前者不需要修改deployment descriptor來定制這個值。

<Resource>元素的有效屬性如下:
屬性 描述
auth 指定時web應(yīng)用代碼本身sign on到對應(yīng)的resource mananger,還是由container代表web應(yīng)用sign on到resource manager。該屬性的值必須是Application或者Container。如果在web application deployment descriptor中使用<resource-ref>,這個屬性是必需的,如果使用<resource-env-ref>, 這個屬性是可選的。

description 資源的文字描述(可選)

name 資源的名稱,相對于java:comp/env context

scope 指定通過這個resource manager得到的連接是否共享。該屬性的值必須是Shareable或者Unshareable。缺省情況下,假定連接是共享的。
type 當(dāng)web應(yīng)用查找該資源的時候,返回的Java類名的全稱。

資源參數(shù)
資 源參數(shù)用來配置資源管理器(resource manager,或?qū)ο蠊S,object factory)。在做JNDI查找時,資源管理器返回查找的對象。在資源可以被訪問之前,對<Context> 或<DefaultContext>元素的每個<Resource>元素,或者/WEB-INF/web.xml中定義的每 個<resource-ref>或<resource-env-ref>元素,都必須定義資源參數(shù)。

資源參數(shù)是 用名稱定義的,使用的資源管理器(或者object factory)不同,參數(shù)名稱的集合也不一樣。這些參數(shù)名和工廠類的JavaBeans屬性相對應(yīng)。JNDI實(shí)現(xiàn)通過調(diào)用對應(yīng)的JavaBeans屬性 設(shè)置函數(shù)來配置特定的工廠類,然后通過lookup()調(diào)用使得該實(shí)例可見。

一個JDBC數(shù)據(jù)源的資源參數(shù)可以按照如下方式定義:
<Context ...>
...
<ResourceParams name="jdbc/EmployeeDB">
<parameter>
<name>driverClassName</name>
<value>org.hsql.jdbcDriver</value>
</parameter>
<parameter>
<name>url</name>
</value>jdbc:HypersonicSQL:database</value>
</parameter>
<parameter>
<name>user</name>
<value>dbusername</value>
</parameter>
<parameter>
<name>password</name>
<value>dbpassword</value>
</parameter>
</ResourceParams>
...
</Context>

如果你需要為某個特定的資源類型指定工廠內(nèi)的Java類名,在<ResourceParams>元素中嵌套一個叫做factory的<parameter>條目。

<Resourceparams>元素的有效屬性如下:
屬性 描述
name 配置的資源名稱,相對于java:comp/env context。這個名稱必須與$CATALINA_HOME/conf/server.xml中某個<Resource>元素定義的資源名 稱匹配,或者在/WEB-INF/web.xml中通過<resource-ref>或者<resource-env-ref> 元素應(yīng)用。

資源連接(Resource Links)
資源連接用于創(chuàng)建到全局JNDI資源的連接。在連接名稱上進(jìn)行JNDI查詢會返回被連接的global 資源。
比如,你可以按照如下方法創(chuàng)建一個資源連接:
<Context ...>
...
<ResourceLink name="linkToGlobalResource"
global="simpleValue"
type="java.lang.Integer"
...
</Context>

<ResourceLink>元素的有效屬性如下:
屬性 描述
global 被連接的連接全局資源的名稱
name 創(chuàng)建的資源連接的名稱,相對于java:comp/env context
type 當(dāng)web應(yīng)用在該資源連接上進(jìn)行查找時,返回的Java類名的全稱

?

Tomcat部署


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。?!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 99精品视频在线观看 | 日本一区二区三区四区五区 | 欧美男女性生活视频 | 欧美高清在线精品一区二区不卡 | 视频一区国产精戏刘婷 | 日本亚洲精品成人 | 亚洲欧美久久一区二区 | 亚洲日日干 | 久青草国产在视频在线观看 | 免费a级毛片在线播放 | 欧美一级毛片片免费 | 久久er热这里只有精品免费 | 国产在线伊人 | 国产娱乐凹凸视觉盛宴在线视频 | 欧美精品日日鲁夜夜 | 国产区高清 | 国产1区二区 | 久草国产在线播放 | 亚洲精品国产第一区第二区国 | 波多野结衣一区二区在线 | 在线欧美不卡 | 欧美日韩一区二区综合在线视频 | 麻豆国产96在线 | 中国 | 精品91| 日韩欧美高清 | 九九精品激情在线视频 | 欧美精品xxxⅹ欧美 欧美精品成人 | 亚洲十欧美十日韩十国产 | 四虎影视4hutv最新地址在线 | 国产欧美日韩一区二区三区视频 | 国产日韩久久久久69影院 | 国产极品精频在线观看 | 亚洲欧美精品国产一区色综合 | 色老头老太做爰视频在线观看 | 免费看aa| 亚洲国产成人资源在线软件 | 日韩成人在线网站 | 欧美综合激情 | 久久久久久夜精品精品免费啦 | 国产精品手机视频 | 亚洲激情视频网站 |