在部署應用時需要更改默認的端口號及應用,以免讓別人知道使用的服務器類型而進行攻擊。
tomca的部署有多種方式,這里簡單談一下。
目前想到有三種方式:
一、添加 Context
在Tomcat的配置文件中,一個Web應用就是一個特定的Context,可以通過在server.xml中新建Context里部署一個JSP應用程序。
在tomcat中conf目錄下server.xml中的<host/>節點中添加:
<Context path="/hello" docBase="D:\ workspace\hello\WebRoot" debug="0" privileged="true"></Context>
或者
<Context path="/myapp" reloadable="true" docBase="D:\myapp" workDir="D:\myapp\work"/>
或者
<Context path="/sms4" docBase="D:\workspace\sms4\WebRoot"/>
參數說明:
path
是虛擬路徑;
docBase
是應用程序的物理路徑;
workDir
是這個應用的工作目錄,存放運行時生成的與這個應用相關的文件;
debug
則是設定debug level,? 0表示提供最少的信息,9表示提供最多的信息
privileged
設置為true的時候,才允許Tomcat的Web應用使用容器內的Servlet
reloadable
如果為true,則tomcat會自動檢測應用程序的/WEB-INF/lib 和/WEB-INF/classes目錄的變化,自動裝載新的應用程序,可以在不重起tomcat的情況下改變應用程序,實現熱部署
antiResourceLocking和antiJARLocking
? 熱部署時需要配置的參數,默認false避免更新了某個webapp,有時候Tomcat并不能把舊的webapp完全刪除,通常會留下WEB-INF/lib下的某個jar包,必須關閉Tomcat才能刪除,這就導致自動部署失敗。設置為true,Tomcat在運行對應的webapp時,會把相應的源文件和jar文件復制到一個臨時目錄里。
docBase 最好是tomcat/webapps 外的目錄
,不然就是加載了兩個應用,一個是context path=””的web-demo應用,而另一個是context path=”web-demo”的應用,雖然兩者指向的物理路徑一致。因此,訪問http://localhost:8080, 訪問http://localhost:8080/web-demo,得到的是相同的首頁,但是其實是tomcat的2個context的response。
二、覆蓋ROOT
將項目拷貝到webapps下,并將項目名稱改為ROOT,把原來的ROOT備份。
三、修改 ROOT目錄的index.jsp(不推薦,會暴露服務器默認首頁)
修改tomcat ROOT目錄的index.jsp,使其加載默認應用的首頁,如此處應修改成如下:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title></title>
<meta http-equiv="refresh" content="0;URL=<%=request.getContextPath()%>/web-demo/index.html">
</head>
<body>
</body>
</html>
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

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