溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

SpringMVC執(zhí)行步驟和使用Model的示例分析

發(fā)布時(shí)間:2021-12-17 12:31:35 來源:億速云 閱讀:217 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要為大家展示了“SpringMVC執(zhí)行步驟和使用Model的示例分析”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“SpringMVC執(zhí)行步驟和使用Model的示例分析”這篇文章吧。

    第一個(gè)SpringMvc HelloWorld

    無啟動類

    springboot才有啟動類

    前端操作

    訪問項(xiàng)目名進(jìn)入默認(rèn)主頁,顯示一個(gè)鏈接

    SpringMVC執(zhí)行步驟和使用Model的示例分析

    點(diǎn)擊鏈接后請求helloWorld.do跳轉(zhuǎn)另一個(gè)jsp頁面

    SpringMVC執(zhí)行步驟和使用Model的示例分析

    后臺執(zhí)行步驟

    SpringMVC執(zhí)行步驟和使用Model的示例分析

    *也對應(yīng)controller的RequestMapping,若要映射多有請求則為/

    web.xml負(fù)責(zé)攔截請求并分發(fā)到controller處理

    SpringMVC執(zhí)行步驟和使用Model的示例分析

    SpringMVC執(zhí)行步驟和使用Model的示例分析

    SpringMVC執(zhí)行步驟和使用Model的示例分析

    spring-mvc.xml負(fù)責(zé)解析controller的返回值,跳轉(zhuǎn)到相應(yīng)的頁面上。

    spring-mvc.xml以及在web.xml中的聲明都可以用Java Configuration來代替

    SpringMVC執(zhí)行步驟和使用Model的示例分析

    項(xiàng)目實(shí)例:eclipse/SpringMvc01

    第二個(gè)SpringMvc項(xiàng)目

    項(xiàng)目簡介

    訪問首頁,請求后臺controller初始化學(xué)生列表,裝入ModelAndView后返回list.jsp,顯示學(xué)生列表。

    list.jsp點(diǎn)擊“添加學(xué)生”鏈接請求后臺controller,controller處理頁面跳轉(zhuǎn)為add.jsp。

    list.jsp點(diǎn)擊“修改”操作,帶學(xué)生id參數(shù)到后臺controller處理,controller調(diào)出該id學(xué)生信息,封裝到ModelAndView中并返回update.jsp頁面。

    知識點(diǎn)整合

    SpringMvc對象屬性自動封裝。參見add.jsp。

    SpringMvc亂碼解決:配置一個(gè)過濾器。參見web.xml。

    SpringMvc重定向與轉(zhuǎn)發(fā):轉(zhuǎn)發(fā)能帶參數(shù),但是網(wǎng)址欄不會改變,重定向會改變。參見StudentController

    SpringMvc對servlet API的支持:支持request、response等。參見UserController。

    SpringMvc自動解析json:引入jar包、命名空間、加注解。參見UserController。

    代碼實(shí)例:SpringMvc02

    SpringMvc對rest風(fēng)格url的支持

    特點(diǎn):請求任何controller都沒有.do后綴,請求前端頁面沒有.jsp;所有的url都沒有后綴(但博主似乎支持帶.html后綴)。

    @PathVariable獲取url參數(shù)。

    SpringMvc對靜態(tài)資源的映射

    代碼實(shí)例:SpringMvc5Rest

    SpringMvc文件上傳

    引入jar包、配置bean

    SpringMvc文件上傳

    引jar包、配置bean

    單文件上傳

    多文件上傳

    代碼實(shí)例:SpringMvc6FileUpload

    圖解SpringMvc的執(zhí)行流程

    SpringMVC執(zhí)行步驟和使用Model的示例分析

    1.用戶發(fā)起請求到前端控制器DispatcherServlet

    前端控制器
    <!--    前端控制器-->
        <servlet>
            <servlet-name>springmvc</servlet-name>
            <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
            <init-param>
                <param-name>contextConfigLocation</param-name>
                <param-value>classpath:ApplicationContext.xml</param-value>
            </init-param>
            <load-on-startup>1</load-on-startup>
        </servlet>
        <servlet-mapping>
            <servlet-name>springmvc</servlet-name>
            <!--    這里不能使用/*   /*要在過濾器中使用-->
            <url-pattern>/</url-pattern>
        </servlet-mapping>

    2.前端控制器發(fā)送url請求處理器映射器HandlerMapping根據(jù)url查找Handler

    3.處理器映射器返回前端控制器一個(gè)執(zhí)行鏈

    4.前端控制器請求處理器適配器進(jìn)行Handler

    5.處理器適配器選擇合適的處理器(Handler一般是controller)

    controller控制器返回ModelandView以及視圖名

    //接受路徑名為h2的請求
    @RequestMapping("/h2")
    public String hello(Model model){
        //將內(nèi)容Hello,SpringMvc以參數(shù)名msg返回給經(jīng)視圖解析器解析的hello頁面
        model.addAttribute("msg","Hello,SpringMvc");
        return "hello";//會被視圖解析器處理
    }
    //這里我使用了Model

    6.Handler將ModelAndView返回給處理器適配器

    7.處理器適配器將ModelAndView返回給前端控制器

    8.前端控制器請求視圖解析器View resolver進(jìn)行視圖解析 根據(jù)邏輯視圖添加前綴和后綴解析成真正的物理視圖(jsp等)

    <!--  4.  視圖解析器-->
        <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
            <property name="prefix" value="/WEB-INF/jsp/"/>
            <property name="suffix" value="/.jsp"/>
        </bean>

    9.視圖解析器向前端控制器返回view

    10.渲染視圖,將模型數(shù)據(jù)填充到request域

    11.響應(yīng)視圖

    前端控制器,處理器映射器,處理器適配器不需要我們寫

    處理器需要我們寫(一般就是Controller)

    以上是“SpringMVC執(zhí)行步驟和使用Model的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

    向AI問一下細(xì)節(jié)

    免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

    AI