日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

【SSM框架系列】SpringMVC基本介绍

發布時間:2025/5/22 javascript 64 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【SSM框架系列】SpringMVC基本介绍 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

SpringMVC 是web層的框架

  • SpringMVC 是一種基于 Java 的實現 MVC 設計模型的請求驅動類型的輕量級 Web 框架,屬于SpringFrameWork 的后續產品,已經融合在 Spring Web Flow 中。

  • SpringMVC 已經成為目前最主流的MVC框架之一,并且隨著Spring3.0 的發布,全面超越 Struts2,成為最優秀的 MVC 框架。

  • 它通過一套注解,讓一個簡單的 Java 類成為處理請求的控制器,而無須實現任何接口。同時它還支持 RESTful 編程風格的請求。

web層主要干嘛的:接收請求參數,封裝數據,調用service,響應給瀏覽器

但是在web層各種域之間存取數據、頁面之間的跳轉、數據寫到響應體中等等這些操作還未進行優化。

Spring提供了spring-web實現Spring整合web開發,但是這種做法很難實現MVC思想,也就是不能簡化我們的web開發。

這里要注意區分兩個不同的概念:

1、軟件三層:展示層、業務層、數據持久層。一個應用根據代碼職責不同劃分為軟件三層。

展示層:負責與前臺交互業務層:負責業務邏輯處理數據持久層:負責業務數據持久化與讀取

2、MVC:為了模型和視圖實現代碼上的分離,將軟件三層中的展示層中代碼根據職能不同分為三部分:

模型——Model——M :封裝數據(企業數據和業務規則)視圖——View——V :封裝視圖(用戶可以看到的界面,通過HTML、jsp等技術實現)控制——Controller——C :負責同步M和V,一旦M改變,V應該同步更新。

Spring簡化版工作流程


如上圖所示,Servlet需要的做工作有:

  • 接收請求
  • 通過request對象獲取請求參數
  • 將獲取的請求參數封裝成對象
  • 調用Service
  • 根據Service返回的結果,作出響應,響應可以是將數據寫入各種域中,完成頁面跳轉,也可以把數據封裝成json寫到響應體中,然后直接響應

上述步驟中除了調用Service會根據不同的業務需求調用不同的service之外,其他的基本都是相對比較固定的。這些相對比較固定的步驟就是SpringMVC幫我們去實現的,通過前端控制器幫我們實現。

兩個概念,JavaBean和POJO。

  • JavaBean 是指一個類按照指定的規范去編寫
    • 這個類必須實現序列化接口
    • 這個類必須提供無參構造方法
    • 這個類必須私有化成員變量
    • 這個類必須提供成員變量的getter和setter
  • POJO —— Plain Ordinary Java Object —— 就是簡單的java對象
    • 就是一個普通的java類
    • 沒有任何實現和繼承(Object除外)
    • 可以有自己的成員變量和成員方法
    • controller就是一個POJO

代碼演示

導入Spring和SpringMVC的坐標、導入Servlet和Jsp的坐標

<!--Spring坐標--><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.0.5.RELEASE</version></dependency><!--SpringMVC坐標--><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>5.0.5.RELEASE</version></dependency><!--Servlet坐標--><dependency><groupId>javax.servlet</groupId><artifactId>servlet-api</artifactId><version>2.5</version></dependency><!--Jsp坐標--><dependency><groupId>javax.servlet.jsp</groupId><artifactId>jsp-api</artifactId><version>2.0</version></dependency>

在web.xml配置SpringMVC的核心控制器

<!-- 配置SpringMVC前端控制器 --> <servlet><servlet-name>DispatcherServlet</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <!-- servlet初始化參數,用于指定SpringMVC配置文件位置schema約束規定,該標簽需要在load-on-startup上面--><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:spring-mvc.xml</param-value></init-param><!-- 0表示web容器啟動時就加載該控制器DispatcherServlet當值為0或者大于0時,表示容器在應用啟動時就加載這個servlet正數的值越小,啟動該servlet的優先級越高設置重復也不會出現異常,服務器會自己決定初始化順序。當是一個負數時或者沒有指定時,則指示容器在該servlet被使用時才加載--><load-on-startup>1</load-on-startup> </servlet> <!-- 攔截規則 --> <servlet-mapping> <servlet-name>DispatcherServlet</servlet-name><url-pattern>/</url-pattern> </servlet-mapping>

編寫Controller代碼

public class QuickController {public String quickMethod(){System.out.println("quickMethod running.....");return "index";}}

在webapp目錄下編寫視圖頁面index.jsp

<html> <body><h2>Hello SpringMVC!</h2> </body> </html>

使用注解裝配Controller、配置方法的映射請求地址

// 把當前類放入Spring容器@Controllerpublic class QuickController {// 給當前方法加訪問路徑@RequestMapping("/quick")public String quickMethod(){System.out.println("quickMethod running.....");// 如果是重定向 “redirect:/quick/index.jsp”// 如果是轉發 “forward:/quick/index.jsp” // 不寫,默認轉發return "index";}}

⑤ 編寫spring-mvc.xml

<!--配置SpringMVC的注解掃描,建議只掃描controller層--><context:component-scan base-package="cs.wy.controller"/>

總結

以上是生活随笔為你收集整理的【SSM框架系列】SpringMVC基本介绍的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。