【模擬開發環境】用JavaWeb專案搭建自己的網站
背景
我們寫好JavaWeb專案(不管你用的SSM還是SSH),真實開發環境中需要打包成war包發給我們的客戶,然而客戶不可能像我們在本機測試那樣,在位址列輸入http://localhost:8080/JavaWebProject/index.jsp…..這樣麻煩又不現實地去訪問,因此我們需要想訪問CSDN這樣能夠直接訪問域名的環境方便使用者訪問測試。
說明
本部落格記錄如何通過配置tomcat和配置專案簡化使用者在位址列的操作。
本部落格為記錄模擬真實的開發環境。後續會更新實際開發環境。
步驟說明
1. 更改tomcat埠
- 將tomcat埠改為80,讓使用者訪問網站時直接訪問我們建好的專案
2. 讓應用通過域名訪問
- 我們開發通過 localhost/專案名 來訪問應用,顯然使用者不一定有也不需要我們開發的環境,更不需要知道我們的專案名,因此需要讓使用者通過域名來訪問我們的專案。
- 當用戶訪問全球資訊網的域名時,需要將域名解析為IP地址,才能訪問我麼的網站。
- 解析域名需要用到域名解析器,域名解析器分為:
- 本地域名解析器(此處用本地模擬)
- 網路域名解析器
3. 隱藏專案名稱
- 2中提到過使用者並不需要知道我們的專案名稱和程式碼內部的更多細節,因此我們可以將專案名稱省略。
4. 配置預設主頁
- 當用戶輸入域名的時候,直接回車既可進入指定的主頁面,而不需要知道主頁名稱。(輸入主頁名稱也複雜了使用者操作)
具體步驟
1. 更改tomcat埠
- 眾所周知,eclipse裡的tomcat伺服器只不過是真實伺服器的一個備份(我們通常稱之為映象伺服器),因此我們只需要更改映象伺服器的埠即可。
- 開啟Server資料夾下的Tomcat v8.0 Server at localhost-config/server.xml 更改以下程式碼中的 port屬性 為80(Tomcat8是63行)
<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
2. 讓應用通過域名訪問
- 本地域名解析器:windows自帶域名解析器,找到c:\Windows\System32\drivers\etc\hosts,末尾加一行,
127.0.0.1 你自己想取的域名
例如:
127.0.0.1 www.wujinjuan.com
- 假如出現沒有管理員許可權,不讓更改host檔案的情況,把host檔案拷貝到一個能更改檔案的地方(比如你的桌面),改完儲存再更改就可以了。
3. 隱藏專案名稱
首先要找到專案在Eclispe左側Pakage Exployer中隱藏的檔案,點選右上角小三角,點選Fitlers…
將.*resources前面的勾去掉,OK
此時會發現專案下多了個.settings資料夾,開啟org.eclipse.wst.common.component
將17行的value屬性改為 /
原因:Tomcat的WebApps中有個ROOT根的概念,根專案會在訪問Tomcat的時候預設訪問名為ROOT的這個應用,然而實際上我們將專案名更改為ROOT再拷貝到Tomcat下是不太現實 的,而 / 就代表根的意思,意思是將當前設定為根應用,讓使用者一訪問tomcat就啟動這個應用。
4. 配置預設主頁
配置預設主頁的方法有多種,可以通過配置web.xml的歡迎頁面來配置。但本例項通過Controller來配置預設主頁,當請求到達Controller,跟index相關的請求(”“表示預設沒有指明請求路徑,即使用者直接輸入域名就可以到達FrontContrller)都會到達這個控制器,然後給客戶端相應index主頁面,Controller程式碼如下:
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class FrontContrller {
@RequestMapping(value= {"","/","index/","/index/"})
public String index() {
return "index";
}
}
5. 溫馨提示
配置完畢後,一定要把tomcat伺服器和整個project都clean一下,避免快取導致頁面報錯404(我一開始就被這個坑過)。
最後,直接輸入域名就可以訪問了。