1. 程式人生 > >springMVC學習(筆記一)

springMVC學習(筆記一)

springMVC執行流程

使用者訪問

簡單點,直接在body中寫一個連結

<body>
    <a href="index">點選測試</a>
</body>

web容器載入

使用者在頁面上發出一個請求,web.xml容器載入springMvc.xml檔案

<servlet>
        <servlet-name>dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class
>
<!--載入mvc.xml檔案,配置檔案的位置--> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath*:spingMvc.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet
>
<servlet-mapping> <servlet-name>dispatcher</servlet-name> <!--應答所有請求--> <url-pattern>/</url-pattern> </servlet-mapping>

springMvc.xml攔截

web.xml檔案放行後到達springMvc.xml核心控制器,這裡面你可以相應檔案配置

<!--配置自動掃描的包-->
    <context:component-scan
base-package="com.test"/>
<!--配置檢視解析器:把返回的方法解析為實際表現層,也就是去呼叫.jsp介面--> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <!--檔案存在路徑--> <property name="prefix" value="/WEB-INF/html/"/> <!--檔案字尾--> <property name="suffix" value=".jsp"/> </bean> <!--根路徑載入靜態資原始檔--> <mvc:resources location="/WEB-INF/css/" mapping="/css/**" /> <mvc:resources location="/WEB-INF/js/" mapping="/js/**" /> <mvc:resources location="/WEB-INF/img/" mapping="/img/**" /> <mvc:default-servlet-handler/> <mvc:annotation-driven/>

控制器實現

@Controller
public class Hello {

    /**
     * 使用requestMapping來對映web請求的URL,也就是使用者介面中的a請求連結
     * 返回值通過檢視解析器servlet.xml檔案中的internalResourceViewResolver解析為實際圖,具體操作為 prefix+retrun值+.jsp。也就是去載入/WEB-INF/html/Main.jsp檔案
     */
    @RequestMapping("/index")
    public String helloworld(){
        System.out.println("Hello World!");
        return "Main";
    }

}

這裡只是到控制器實現就結束了,在System.out.println(“Hello World!”);代表後續業務層service的實現,service去訪問entity實體層,實體層再對持久層(資料庫)進行相關操作,例如增刪改查等。整個大致流程就這樣。

實現效果截圖

首先開啟頁面。由於介面我是放在專案WEB-INF下面

這裡寫圖片描述

所以在外界不能直接訪問,我直接在web.xml檔案裡面直接設定為歡迎頁

這裡寫圖片描述

啟動Tomcat伺服器,進入test.jsp介面

這裡寫圖片描述

點選測試。請求成功,注意位址列變化,實際上對映的是/WEB-INF/html/Main.jsp中的內容

這裡寫圖片描述