最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringMVC執(zhí)行步驟、Model的使用詳解

 更新時(shí)間:2021年12月17日 10:00:57   作者:haienenen  
這篇文章主要介紹了SpringMVC執(zhí)行步驟、Model的使用詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

第一個(gè)SpringMvc HelloWorld

無啟動(dòng)類

springboot才有啟動(dòng)類

前端操作

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

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

后臺(tái)執(zhí)行步驟

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

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

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

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

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

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

項(xiàng)目簡(jiǎn)介

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

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

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

知識(shí)點(diǎn)整合

SpringMvc對(duì)象屬性自動(dòng)封裝。參見add.jsp。

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

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

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

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

代碼實(shí)例:SpringMvc02

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

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

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

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

代碼實(shí)例:SpringMvc5Rest

SpringMvc文件上傳

引入jar包、配置bean

SpringMvc文件上傳

引jar包、配置bean

單文件上傳

多文件上傳

代碼實(shí)例:SpringMvc6FileUpload

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

在這里插入圖片描述

1.用戶發(fā)起請(qǐng)求到前端控制器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請(qǐng)求處理器映射器HandlerMapping根據(jù)url查找Handler

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

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

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

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

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

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

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

8.前端控制器請(qǐng)求視圖解析器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)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Spring Boot利用@Async異步調(diào)用:使用Future及定義超時(shí)詳解

    Spring Boot利用@Async異步調(diào)用:使用Future及定義超時(shí)詳解

    這篇文章主要給大家介紹了關(guān)于Spring Boot利用@Async異步調(diào)用:使用Future及定義超時(shí)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用spring boot具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2018-05-05
  • Windows+Apache+resin配置

    Windows+Apache+resin配置

    Windows+Apache+resin配置...
    2006-12-12
  • SpringBoot 下在 yml 中的 logging 日志配置方法

    SpringBoot 下在 yml 中的 logging 日志配置方法

    logging 配置主要用于控制應(yīng)用程序的日志輸出行為,可以通過配置定制日志的格式、級(jí)別、輸出位置等,這篇文章主要介紹了SpringBoot 下在 yml 中的 logging 日志配置,需要的朋友可以參考下
    2024-06-06
  • Springboot的spring-boot-maven-plugin導(dǎo)入失敗的解決方案

    Springboot的spring-boot-maven-plugin導(dǎo)入失敗的解決方案

    這篇文章主要介紹了Springboot的spring-boot-maven-plugin導(dǎo)入失敗的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • SpringBoot結(jié)合Redis配置工具類實(shí)現(xiàn)動(dòng)態(tài)切換庫

    SpringBoot結(jié)合Redis配置工具類實(shí)現(xiàn)動(dòng)態(tài)切換庫

    本文主要介紹了SpringBoot結(jié)合Redis配置工具類實(shí)現(xiàn)動(dòng)態(tài)切換庫,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • 一文教你如何使用Java靈活讀取Excel內(nèi)容

    一文教你如何使用Java靈活讀取Excel內(nèi)容

    這篇文章主要給大家介紹了關(guān)于如何使用Java靈活讀取Excel內(nèi)容的相關(guān)資料,讀取Excel數(shù)據(jù)是Java開發(fā)中常見的任務(wù),文中通過代碼示例介紹的非常詳細(xì),需要的朋友可以參考下
    2023-09-09
  • MyBatis異常java.sql.SQLSyntaxErrorException的問題解決

    MyBatis異常java.sql.SQLSyntaxErrorException的問題解決

    使用mybatis插入數(shù)據(jù)時(shí)出現(xiàn)java.sql.SQLSyntaxErrorException異常,本文就來介紹一下MyBatis異常的問題解決,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-08-08
  • Spring Boot如何解決Mysql斷連問題

    Spring Boot如何解決Mysql斷連問題

    本篇文章主要介紹了Spring Boot如何解決Mysql斷連問題,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-03-03
  • Spring Controller接收前端JSON數(shù)據(jù)請(qǐng)求方式

    Spring Controller接收前端JSON數(shù)據(jù)請(qǐng)求方式

    這篇文章主要為大家介紹了Spring Controller接收前端JSON數(shù)據(jù)請(qǐng)求方式詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • IDEA使用JDK21控制臺(tái)亂碼問題及解決

    IDEA使用JDK21控制臺(tái)亂碼問題及解決

    在使用IntelliJ IDEA開發(fā)時(shí),經(jīng)常會(huì)遇到因編碼不一致導(dǎo)致的中文亂碼問題,特別是在JDK18以后的版本中,由于JDK內(nèi)部默認(rèn)編碼格式變?yōu)镚BK,而項(xiàng)目設(shè)置為UTF-8后,會(huì)導(dǎo)致亂碼問題,本文介紹了幾個(gè)步驟來解決這一問題
    2024-10-10

最新評(píng)論

灯塔市| 峨边| 廉江市| 铜鼓县| 金昌市| 盐池县| 和龙市| 朝阳市| 玉门市| 蒙山县| 莱西市| 威海市| 延长县| 沧州市| 双流县| 安平县| 梅河口市| 桓台县| 法库县| 仪陇县| 江油市| 华阴市| 峨边| 阿坝| 鹤岗市| 新河县| 宿迁市| 巩留县| 巴林左旗| 兴国县| 宁晋县| 土默特右旗| 浙江省| 维西| 云霄县| 清水县| 赤壁市| 夏津县| 昆明市| 博湖县| 东城区|