天天看點

通路域名時直接通路預設的工程,執行預設的方法—備忘錄《二》

本篇文章來自本人另一博文【http://blog.csdn.net/liaohaojian/article/details/78183426】轉載請注明

當我們輸入www.xxxx.com,可直接通路到xxx網站的首頁,這個又是如何實作的呢?

衆所周知,直接通路域名或者某個IP時,如果不配置預設工程,是隻顯示tomcat界面。下面講解直接通路域名或IP時,如何通路到預設工程

1.開發環境:springMVC+tomcat

2.下面正式開始配置,主要分為以下幾個步驟

1)配置tomcat預設工程,配置tomcat/conf/server.xml檔案(記得把預設端口号改成80,linux中可能會設定失敗,可執行指令:iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080, 大緻意思也就是在Linux下降80端口映射至8080, 達到我們直接輸入域名而不帶端口号的目的.)

下面貼出server.xml中host部分代碼,一個tomcat中有2個工程,一個預設,一個需加工程名,reloadable設定為ture,則内容更新時,會自動重新加載部署

<Host name="localhost"  appBase=""    unpackWARs="true" autoDeploy="true">
<Context path="" docBase="webapps/nengxin" debug="0" reloadable="false"/>
	<Context path="/nengxintest" docBase="webapps/nengxintest" debug="0" reloadable="false"/>
        <!-- SingleSignOn valve, share authentication between web applications
             Documentation at: /docs/config/valve.html -->
        <!--
        <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
        -->

        <!-- Access log processes all example.
             Documentation at: /docs/config/valve.html
             Note: The pattern used is equivalent to using pattern="common" -->
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log." suffix=".txt"
               pattern="%h %l %u %t "%r" %s %b" />

</Host>
           

2)配置工程的預設執行方法。

  1. 配置web.xml,設定welcome-file為空,預設是調轉到某個視圖,為空時,啟動工程時,會自動執行預設方法
    <welcome-file-list>
    	<welcome-file></welcome-file>
    </welcome-file-list>
               
  2. 定義一個controller,定義一個預設方法
    @Controller
    @RequestMapping(value = "")
    public class LoginController extends BaseController{
    
        @RequestMapping("/")  
        public String showLoginForm(String pwd) { //② 表單展示  
            return "login";  
        } 
        
    }
               

至此配置全部完成,釋出上去,搞定。