国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

初識SpringMVC -- SpringMVC快速入門保姆級教程(一)

這篇具有很好參考價值的文章主要介紹了初識SpringMVC -- SpringMVC快速入門保姆級教程(一)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。


前言

為了鞏固所學(xué)的知識,作者嘗試著開始發(fā)布一些學(xué)習(xí)筆記類的博客,方便日后回顧。當然,如果能幫到一些萌新進行新技術(shù)的學(xué)習(xí)那也是極好的。作者菜菜一枚,文章中如果有記錄錯誤,歡迎讀者朋友們批評指正。
(博客的參考源碼可以在我主頁的資源里找到,如果在學(xué)習(xí)的過程中有什么疑問歡迎大家在評論區(qū)向我提出)


發(fā)現(xiàn)寶藏

前些天發(fā)現(xiàn)了一個巨牛的人工智能學(xué)習(xí)網(wǎng)站,通俗易懂,風(fēng)趣幽默,忍不住分享一下給大家。【寶藏入口】。

一、初識SpringMVC

1.認識SpringMVC

  1. SpringMVC是什么

Spring MVC屬于SpringFrameWork的后續(xù)產(chǎn)品,已經(jīng)融合在Spring Web Flow里面。Spring 框架提供了構(gòu)建 Web 應(yīng)用程序的全功能 MVC 模塊。使用 Spring 可插入的 MVC 架構(gòu),從而在使用Spring進行WEB開發(fā)時,可以選擇使用Spring的Spring MVC框架或集成其他MVC開發(fā)框架。

  1. SpringMVC的優(yōu)點
  • SpringMVC框架提供了一整套完善的組件。

不同于以前框架只提供接口,然后讓使用者自己根據(jù)接口寫實現(xiàn)類來實現(xiàn)功能,SpringMVC提供了一整套完善的組件,可以直接使用。這就相當于以前的框架只給你提供設(shè)計圖紙,你需要根據(jù)設(shè)計圖紙自己把工具造出來,而現(xiàn)在SpringMVC直接給你一套現(xiàn)成的工具箱,里面有你用得到的各種工具。而且使用SpringMVC框架提供這些工具也巨簡單,通過一些簡單的注解就搞定了,不需要編寫繁瑣冗長的代碼,簡直比夏天喝雪碧還要爽。

  • SpringMVC是以強大的Spring容器為基礎(chǔ)的框架。

如果同學(xué)你使用過Spring容器,那你一定知道Spring容器的對象托管功能有多么的好用。它不需要你自己去創(chuàng)建和釋放對象,Spring容器幫你全搞定! 同樣地,能夠放入Spring容器里面的這個SpringMVC工具箱,里面各種工具類的管理也是不需要操心的。而這省心省力的優(yōu)點,是其他框架都沒有的。

  • 框架的配置簡單又不失靈活性.

SpringMVC框架的常用配置項就已經(jīng)涵蓋了項目中80%的配置需求,簡單的項目甚至可以做到零配置,拿過來就用。

  • 代碼的可重用性很高。

翻譯成大白話就是,一個成熟的,上線穩(wěn)定運行過的SpringMVC項目,經(jīng)過簡單修改,甚至不用修改,就可以作為另一個新項目開發(fā)的基礎(chǔ)。這樣能在開發(fā)新項目時省很多力氣。

  • 可擴展性好。

如果SpringMVC框架提供的工具不能100%滿足你的需求,你需要定制開發(fā),SpringMVC框架同樣也提供了相應(yīng)的接口,可以進行工具的升級。這樣你在遇到強力精英怪的時候,照樣能用SpringMVC框架打敗它。

  1. SpringMVC三層架構(gòu)

Spring web MVC 框架提供了模型(Model)- 視圖(View)- 控制(Controller)的體系結(jié)構(gòu)和可以用來開發(fā)靈活、松散耦合的 web 應(yīng)用程序的組件。MVC 模式導(dǎo)致了應(yīng)用程序的不同方面(輸入邏輯、業(yè)務(wù)邏輯和 UI 邏輯)的分離,同時提供了在這些元素之間的松散耦合。

模型封裝了應(yīng)用程序數(shù)據(jù),并且通常它們由 POJO 組成。
視圖主要用于呈現(xiàn)模型數(shù)據(jù),并且通常它生成客戶端的瀏覽器可以解釋的 HTML 輸出。
控制器主要用于處理用戶請求,并且構(gòu)建合適的模型并將其傳遞到視圖呈現(xiàn)。

初識SpringMVC -- SpringMVC快速入門保姆級教程(一)

  1. 學(xué)習(xí)目標

初識SpringMVC -- SpringMVC快速入門保姆級教程(一)

2.SpringMVC入門案例

  1. 創(chuàng)建maven模塊,選擇webapp開發(fā)模板(Archetype)

初識SpringMVC -- SpringMVC快速入門保姆級教程(一)

2.右鍵打開模塊設(shè)置,創(chuàng)建一個目錄java,標記為Source源碼,并將Language level等級設(shè)置成8

初識SpringMVC -- SpringMVC快速入門保姆級教程(一)

  1. 在pom.xml配置文件中導(dǎo)入SpringMVC以及Servlet坐標

(此處先將plugins中的插件都先刪除)

 <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>3.1.0</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>5.2.10.RELEASE</version>
    </dependency>
  1. 創(chuàng)建SpringMVC控制器類
//定義表現(xiàn)層控制器bean
@Controller
public class UserController {

    //設(shè)置映射路徑為/save,即外部訪問路徑
    @RequestMapping("/save")
    //設(shè)置當前操作返回結(jié)果為指定json數(shù)據(jù)(本質(zhì)上是一個字符串信息)
    @ResponseBody
    public String save(){
        System.out.println("user save ...");
        return "{'info':'springmvc'}";
    }
}

  1. 初始化SpringMVC環(huán)境(同Spring環(huán)境),設(shè)定SpringMVC加載對應(yīng)的bean
//springmvc配置類,本質(zhì)上還是一個spring配置類
@Configuration
@ComponentScan("org.example.controller")
public class SpringMvcConfig {
}
  1. 初始化Servlet容器,加載SpringMVC環(huán)境,并設(shè)置SpringMVC技術(shù)處理的請求
//web容器配置類
public class ServletContainersInitConfig extends AbstractDispatcherServletInitializer {
    //加載springmvc配置類,產(chǎn)生springmvc容器(本質(zhì)還是spring容器)
    protected WebApplicationContext createServletApplicationContext() {
        //初始化WebApplicationContext對象
        AnnotationConfigWebApplicationContext ctx = new AnnotationConfigWebApplicationContext();
        //加載指定配置類
        ctx.register(SpringMvcConfig.class);
        return ctx;
    }

    //設(shè)置由springmvc控制器處理的請求映射路徑
    protected String[] getServletMappings() {
        return new String[]{"/"};
    }

    //加載spring配置類
    protected WebApplicationContext createRootApplicationContext() {
        return null;
    }

}
  1. 在pom.xml中添加tomcat插件,配置端口號為80
 <plugin>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat7-maven-plugin</artifactId>
    <version>2.1</version>
    <configuration>
      <port>80</port>
      <path>/</path>
    </configuration>
 </plugin>
  1. 啟動服務(wù)器類型選擇maven,運行命令選tomcat-run

初識SpringMVC -- SpringMVC快速入門保姆級教程(一)

初識SpringMVC -- SpringMVC快速入門保姆級教程(一)

  1. 運行結(jié)果

初識SpringMVC -- SpringMVC快速入門保姆級教程(一)

初識SpringMVC -- SpringMVC快速入門保姆級教程(一)

3.SpringMVC入門編碼的一般步驟

  1. 使用SpringMVC技術(shù)需要先導(dǎo)入SpringMVC坐標與Servlet坐標

初識SpringMVC -- SpringMVC快速入門保姆級教程(一)

  1. 創(chuàng)建SpringMVC控制器類(等同于Servlet功能)

初識SpringMVC -- SpringMVC快速入門保姆級教程(一)

  1. 初始化SpringMVC環(huán)境(同Spring環(huán)境),設(shè)定SpringMVC加載對應(yīng)的bean

初識SpringMVC -- SpringMVC快速入門保姆級教程(一)

  1. 初始化Servlet容器,加載SpringMVC環(huán)境,并設(shè)置SpringMVC技術(shù)處理的請求

初識SpringMVC -- SpringMVC快速入門保姆級教程(一)

4.入門案例涉及的知識點

  1. @Controller注解

名稱:@Controller
類型:類注解
位置:SpringMVC控制器類定義上方
作用:設(shè)定SpringMVC的核心控制器bean
范例:如下

初識SpringMVC -- SpringMVC快速入門保姆級教程(一)

  1. @ResponseBody注解

名稱:@ReaponseBody
類型:方法注解
位置:SpringMVC控制器類定義上方
作用:設(shè)置當前控制器方法響應(yīng)內(nèi)容為當前返回值,無懈解析
范例:如下

初識SpringMVC -- SpringMVC快速入門保姆級教程(一)

  1. SpringMVC入門程序開發(fā)總結(jié)(1+N)
  • 一次性工作

1.創(chuàng)建工程,設(shè)置服務(wù)器,加載工程導(dǎo)入坐標
2.創(chuàng)建web容器啟動類,加載SpringMVC配置,并設(shè)置SpringMVC請求攔截路徑
3.SpringMVC核心配置類(設(shè)置配置類,掃描controller包,加載Controller控制器bean)

  • 多次性工作

1.定義處理請求的控制器類
2.定義處理請求的控制器方法,并配置映射路徑(@RequestMapping)與返回json數(shù)據(jù)(@ResponseBody)
3.示例如下:

//定義表現(xiàn)層控制器bean
@Controller
public class UserController {
    //設(shè)置映射路徑為/delete,即外部訪問路徑
    @RequestMapping("/delete")
    //設(shè)置當前操作返回結(jié)果為指定json數(shù)據(jù)(本質(zhì)上是一個字符串信息)
    @ResponseBody
    public String delete(){
        System.out.println("user delete ...");
        return "{'info':'springmvc666'}";
    }
}

初識SpringMVC -- SpringMVC快速入門保姆級教程(一)

  1. 初始化Servlet容器

AbstractDispatcherServletInitializer 類是SpringMVC提供的快速初始化Web30容器的抽象類,它提供三個接口方法供用戶實現(xiàn)

  • createServletApplicationContext()方法

創(chuàng)建Servlet容器時,加載 SpringMVC 對應(yīng)的bean并放入 WebApplicationContext 對象范圍中,而 WebApplicationContext 的作用范圍為 ServletContext 范圍,即整個web容器范圍,示例代碼如下:

    //加載springmvc配置類,產(chǎn)生springmvc容器(本質(zhì)還是spring容器)
    protected WebApplicationContext createServletApplicationContext() {
        //初始化WebApplicationContext對象
        AnnotationConfigWebApplicationContext ctx = new AnnotationConfigWebApplicationContext();
        //加載指定配置類
        ctx.register(SpringMvcConfig.class);
        return ctx;
    }
  • getServletMappings()方法方法

設(shè)定SpringMVC對應(yīng)的請求映射路徑,設(shè)置為/表示攔截所有請求,任意請求都將轉(zhuǎn)入到 SpringMVC進行處理,示例代碼如下:

   //設(shè)置由springmvc控制器處理的請求映射路徑
    protected String[] getServletMappings() {
        return new String[]{"/"};
    }
  • createRootApplicationContext()方法

如果創(chuàng)建Servlet容器時需要加載非SpringMVc對應(yīng)的bean,使用當前方法進行,使用方式同createServletApplicationContext(),示例代碼如下:

     //加載spring配置類
    protected WebApplicationContext createRootApplicationContext() {
        return null;
    }

5.入門案例工作流程

  1. 啟動服務(wù)器初始化過程

1.服務(wù)器啟動,執(zhí)行ServletContainersInitConfig類,初始化web容器
2.執(zhí)行createServletApplicationContext方法,創(chuàng)建了WebApplicationContext對象
3.加載SpringMvcConfig
4.執(zhí)行@ComponentScan加載對應(yīng)的bean
5.加載UserController,每個@RequestMapping的名稱對應(yīng)一個具體的方法
6.執(zhí)行g(shù)etServletMappings方法,定義所有的請求都通過SpringMVC

初識SpringMVC -- SpringMVC快速入門保姆級教程(一)

  1. 單次請求過程

1.發(fā)送請求localhost/save
2.web容器發(fā)現(xiàn)所有請求都經(jīng)過SpringMVC,將請求交給SpringMVC處理
3.解析請求路徑/save
4.由/save匹配執(zhí)行對應(yīng)的方法save()
5.執(zhí)行save()
6.檢測到有@ResponseBody直接將save()方法的返回值作為響應(yīng)求體返回給請求方

`博客內(nèi)容借鑒了bilibili黑馬程序員SSM課程資料`
# 總結(jié)

歡迎各位留言交流以及批評指正,如果文章對您有幫助或者覺得作者寫的還不錯可以點一下關(guān)注,點贊,收藏支持一下作者,后續(xù)還會更新mybatis, springboot,maven高級,微信小程序,等前后端內(nèi)容的學(xué)習(xí)筆記。
(博客的參考源碼可以在我主頁的資源里找到,如果在學(xué)習(xí)的過程中有什么疑問歡迎大家在評論區(qū)向我提出)文章來源地址http://www.zghlxwxcb.cn/news/detail-471101.html

到了這里,關(guān)于初識SpringMVC -- SpringMVC快速入門保姆級教程(一)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 初識Mybatis -- Mybatis快速入門保姆級教程(一)

    初識Mybatis -- Mybatis快速入門保姆級教程(一)

    為了鞏固所學(xué)的知識,作者嘗試著開始發(fā)布一些學(xué)習(xí)筆記類的博客,方便日后回顧。當然,如果能幫到一些萌新進行新技術(shù)的學(xué)習(xí)那也是極好的。作者菜菜一枚,文章中如果有記錄錯誤,歡迎讀者朋友們批評指正。 (博客的參考源碼以可以在我主頁的資源里找到,如果在學(xué)習(xí)

    2024年02月08日
    瀏覽(22)
  • 初識SpringBoot -- SpringBoot快速入門保姆級教程(一)

    初識SpringBoot -- SpringBoot快速入門保姆級教程(一)

    為了鞏固所學(xué)的知識,作者嘗試著開始發(fā)布一些學(xué)習(xí)筆記類的博客,方便日后回顧。當然,如果能幫到一些萌新進行新技術(shù)的學(xué)習(xí)那也是極好的。作者菜菜一枚,文章中如果有記錄錯誤,歡迎讀者朋友們批評指正。 (博客的參考源碼可以在我主頁的資源里找到,如果在學(xué)習(xí)的

    2024年02月08日
    瀏覽(17)
  • 初識Spring -- Spring快速入門保姆級教程(一)

    初識Spring -- Spring快速入門保姆級教程(一)

    為了鞏固所學(xué)的知識,作者嘗試著開始發(fā)布一些學(xué)習(xí)筆記類的博客,方便日后回顧。當然,如果能幫到一些萌新進行新技術(shù)的學(xué)習(xí)那也是極好的。作者菜菜一枚,文章中如果有記錄錯誤,歡迎讀者朋友們批評指正。 (博客的參考源碼以及可以在我主頁的資源里找到,如果在學(xué)

    2024年02月07日
    瀏覽(21)
  • SpringMVC bean加載控制 -- SpringMVC入門保姆級教程(二)

    SpringMVC bean加載控制 -- SpringMVC入門保姆級教程(二)

    前些天發(fā)現(xiàn)了一個巨牛的人工智能學(xué)習(xí)網(wǎng)站,通俗易懂,風(fēng)趣幽默,忍不住分享一下給大家。【寶藏入口】。 為了鞏固所學(xué)的知識,作者嘗試著開始發(fā)布一些學(xué)習(xí)筆記類的博客,方便日后回顧。當然,如果能幫到一些萌新進行新技術(shù)的學(xué)習(xí)那也是極好的。作者菜菜一枚,文章

    2024年02月07日
    瀏覽(23)
  • REST風(fēng)格 -- SpringMVC入門保姆級教程(四)

    REST風(fēng)格 -- SpringMVC入門保姆級教程(四)

    為了鞏固所學(xué)的知識,作者嘗試著開始發(fā)布一些學(xué)習(xí)筆記類的博客,方便日后回顧。當然,如果能幫到一些萌新進行新技術(shù)的學(xué)習(xí)那也是極好的。作者菜菜一枚,文章中如果有記錄錯誤,歡迎讀者朋友們批評指正。 (博客的參考源碼可以在我主頁的資源里找到,如果在學(xué)習(xí)的

    2024年02月06日
    瀏覽(24)
  • 初識SpringBoot -- SpringBoot入門保姆級教程(一)

    初識SpringBoot -- SpringBoot入門保姆級教程(一)

    為了鞏固所學(xué)的知識,作者嘗試著開始發(fā)布一些學(xué)習(xí)筆記類的博客,方便日后回顧。當然,如果能幫到一些萌新進行新技術(shù)的學(xué)習(xí)那也是極好的。作者菜菜一枚,文章中如果有記錄錯誤,歡迎讀者朋友們批評指正。 (博客的參考源碼可以在我主頁的資源里找到,如果在學(xué)習(xí)的

    2024年02月07日
    瀏覽(24)
  • 初識Mybatis -- Mybatis入門保姆級教程(一)

    初識Mybatis -- Mybatis入門保姆級教程(一)

    為了鞏固所學(xué)的知識,作者嘗試著開始發(fā)布一些學(xué)習(xí)筆記類的博客,方便日后回顧。當然,如果能幫到一些萌新進行新技術(shù)的學(xué)習(xí)那也是極好的。作者菜菜一枚,文章中如果有記錄錯誤,歡迎讀者朋友們批評指正。 (博客的參考源碼以可以在我主頁的資源里找到,如果在學(xué)習(xí)

    2024年02月05日
    瀏覽(25)
  • 初識Spring -- Spring入門保姆級教程(一)

    初識Spring -- Spring入門保姆級教程(一)

    為了鞏固所學(xué)的知識,作者嘗試著開始發(fā)布一些學(xué)習(xí)筆記類的博客,方便日后回顧。當然,如果能幫到一些萌新進行新技術(shù)的學(xué)習(xí)那也是極好的。作者菜菜一枚,文章中如果有記錄錯誤,歡迎讀者朋友們批評指正。 (博客的參考源碼以及可以在我主頁的資源里找到,如果在學(xué)

    2024年02月06日
    瀏覽(25)
  • SpringBoot 快速入門(保姆級詳細教程)

    SpringBoot 快速入門(保姆級詳細教程)

    作者:大三的土狗 專欄:SpringBoot入門到精通 SpringBoot 時 Spring家族中的一個全新框架,用來簡化spring程序的創(chuàng)建和開發(fā)過程。 SpringBoot化繁為簡,使開發(fā)變得更加的簡單迅速。 ??Spring Boot 是由 Pivotal 團隊提供的全新框架,其設(shè)計目的是用來簡化新 Spring 應(yīng)用的初始搭建以及

    2023年04月19日
    瀏覽(25)
  • SpringBoot配置 -- SpringBoot快速入門保姆級教程(二)

    SpringBoot配置 -- SpringBoot快速入門保姆級教程(二)

    為了鞏固所學(xué)的知識,作者嘗試著開始發(fā)布一些學(xué)習(xí)筆記類的博客,方便日后回顧。當然,如果能幫到一些萌新進行新技術(shù)的學(xué)習(xí)那也是極好的。作者菜菜一枚,文章中如果有記錄錯誤,歡迎讀者朋友們批評指正。 (博客的參考源碼可以在我主頁的資源里找到,如果在學(xué)習(xí)的

    2024年02月08日
    瀏覽(21)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包