天天看點

【轉】URL通路位址和Tomcat項目部署中不得不說的小秘密

今天來簡單講講tomcat項目部署和url位址通路欄的關系,順便和大家分享下,叙述不當之處,還請大家多多指導!

衆所周知,Tomcat項目釋出的預設通路位址格式如下:http://localhost:8080/MyDemo/index.jsp

由于web.xml配置了 <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list>歡迎頁面,通常我們隻需要通路:http://localhost:8080/MyDemo

然而該位址實在是low爆了,為衆人所不喜,于是我決定帶大家簡單優化下:

先簡單說說tomcat釋出項目:(部分“猿”友請跳過這段)

1、WAR打包

首先通過MyEclipse/Eclipse進行打包為.war檔案,具體操作為:選中項目右擊---導出--選擇JavaEE/WAR file--選擇項目和導出位置--finish,至此打包完成。

2、項目部署

打開并編輯D:\JavaTools\Tomcat\apache-tomcat-7.0.73\server.xml檔案,在<host>...</host>标簽内添加如下:

<Context path="/MyDemo" docBase="D:\JavaTools\Tomcat\apache-tomcat-7.0.73\webapps\MyDemo.war" debug="0"  privileged="true" reloadable="true"/>

注意:path是指明項目通路時工程名稱,docBase是項目存放位址,其他屬性不建議修改。

此處我将MyDemo.war放在webapps下(大家可以根據個人喜好放任意位置),完成後儲存。

目前狀态webapps檔案夾下有預設檔案docs  examples  host-manager manager ROOT ,還有項目檔案 MyDemo.war,而work檔案夾下為空(此時webapps和work檔案夾下如果有其他,均可删除)

注意事項:

如果不配置<Context>标簽,由于沒有docBase指明項目位置,則項目必須放在host配置中對應的appBase位址下(如webapps),Tomcat啟動時會加載webapps下所有項目,且沒有path指引時,預設指引是項目名稱。如果配置了就一定要配正确,tomcat找不到項目會報錯。webapps下的項目通路一定要有項目名稱,否則會通路Tomcat首頁(因為Tomacat首頁是ROOT檔案夾下的)

3、項目測試

啟動Tomcat:輕按兩下apache-tomcat-7.0.73\bin\startup.bat

目前狀态webapps檔案夾下多了一個解壓後的MyDemo檔案夾(原項目檔案),work檔案夾下有初始化生成的\work\Catalina\localhost檔案夾,裡面有 _   docs  example  host-manager  manager  MyDemo(空檔案夾,還未編譯) 

輸入url通路項目:http://localhost:8080/MyDemo

目前狀态work中的MyDemo(非空檔案夾,部分編譯)

4、關于登陸tomcat首頁進行項目管理

配置tomcat-users.xml檔案建立管理賬戶:

打開Tomcat安裝目錄下面的conf檔案夾下的tomcat-users.xml如右    D:\JavaTools\Tomcat\apache-tomcat-7.0.73\conf\tomcat-users.xml

然後用記事本打開編輯,添加自定義管理使用者

<user username="admin" password="admin" roles=" admin-gui , manager-gui "/>

然後儲存,

登陸tomcat首頁--點選右上方的Manager App按鈕,輸入帳号密碼(如上tomcat-users.xml配置),即可進入管理頁面。

1、去除:8080端口号

編輯server.xml檔案,找到

<Connector port="8080" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443" />

将port="8080"改為80端口,隻有預設的80端口可以省略(浏覽網頁服務預設的端口号都是80,是以隻需輸入網址即可,不用輸入“:80”)

<部分網友的80端口可能被其他程式占用,解決如下>

ctrl+alt+enter以超級管理者運作cmd,輸入

 netstat  -anb                          查找到80被占用的程式名稱和服務

然後輸入 

taskkill /f   程式名.exe           關閉背景程式

輸入

net  stop  服務名稱               關閉服務

2、将"localhost"改為類似"www.zyp168.com"             

(注意此處即便改了實際ip還是127.0.0.1,實際域名是要money買的

【轉】URL通路位址和Tomcat項目部署中不得不說的小秘密

)

(1)編輯 C:\Windows\System32\drivers\etc\hosts 檔案(請設定權限為完全控制,否則無法修改)

在 127.0.0.1  localhost   後面添加一行   127.0.0.1    www.zyp168.com 

(2)編輯 D:\JavaTools\Tomcat\apache-tomcat-7.0.73\conf\server.xml檔案

在預設host配置:

<Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true"></host>

後面再添加一個host标簽(保留原來的預設localhost)

  <Host name="www.bbs.zyp168.com"  appBase="myapp" unpackWARs="true" autoDeploy="true"> 

自定義檔案夾myapp全路徑    D:\JavaTools\Tomcat\apache-tomcat-7.0.73\myapp

此處直接将項目放入myapp中是以不配置

<Context path="/MyDemo" docBase="D:\JavaTools\Tomcat\apache-tomcat-7.0.73\myapp\MyDemo.war" debug="0"  privileged="true" reloadable="true"/>

啟動發現可以通過http://www.zyp168.com/MyDemo通路。

【轉】URL通路位址和Tomcat項目部署中不得不說的小秘密

注意:在myapp中部署的項目可以使用 www.zyp168.com進行通路(在webapps中部署的項目不可以,因為它對應的host為localhost)

目前狀态發現work檔案夾下面有兩個目錄:

work\Catalina\localhost  

work\Catalina\www.zyp168.com         (該檔案夾下僅有MyDemo , 之前webapps下有些東西是否多餘?

【轉】URL通路位址和Tomcat項目部署中不得不說的小秘密

呵呵,不錯,但不建議删,是範例等等)

且兩個檔案夾互不幹擾,而自定義檔案夾myapp僅僅生成了MyDemo(解壓檔案)

3、去項目名稱

http://www.zyp168.com/MyDemo   ------------>   http://www.zyp168.com

看上述Tomcat的項目部署我們發現,直接通路不加項目名稱時是Tomcat首頁,我們可以在webapps下面的ROOT下找到項目首頁可以得出結論,不加項目名稱預設通路ROOT下的項目,故我們直接将myapp下的war檔案名稱改為ROOT.war即可(不打包的話,直接拷貝項目源代碼到myapp下并重命名為ROOT檔案夾即可)。

至此,一切完工!

【轉】URL通路位址和Tomcat項目部署中不得不說的小秘密

(上述不足之處望大家指出!)

歡迎轉載,轉載請注明出處!

https://blog.csdn.net/zyp689/article/details/56835166#commentBox

略作補充 https://blog.csdn.net/wangl2014/article/details/79082076