spring mvc教程
spring mvc是一個java框架,用于構建web應用程序。它遵循model-view-controller設計模式。它實現了核心spring框架的所有基本功能,例如控制反轉,依賴注入。
spring mvc通過 dispatcherservlet 提供了一種優雅的解決方案,可以在spring框架中使用mvc。 >。在這里, dispatcherservlet 是一個類,用于接收傳入的請求并將其映射到正確的資源,例如控制器,模型和視圖。
spring web model-view-controller
- model-模型包含應用程序的數據。數據可以是單個對象或對象的集合。
- controller-控制器包含應用程序的業務邏輯。在這里,@ controller批注用于將類標記為控制器。
- view-視圖以特定格式表示所提供的信息。通常,jsp + jstl用于創建視圖頁面。盡管spring還支持其他視圖技術,例如apache velocity,thymeleaf和freemarker。
- front controller-在spring web mvc中,dispatcherservlet類用作前端控制器。它負責管理spring mvc應用程序的流程。
了解spring web mvc的流程
- 如圖所示,所有傳入的請求都被充當前端控制器的dispatcherservlet攔截。
- dispatcherservlet從xml文件獲取處理程序映射的條目,并將請求轉發給控制器。
- 控制器返回modelandview對象。
- dispatcherservlet檢查xml文件中的視圖解析器條目,并調用指定的視圖組件。
spring mvc framework的優點
讓我們看看spring mvc framework的一些優點:
- 分離角色-spring mvc分離每個角色,其中可以由專門的對象來實現模型對象,控制器,命令對象,視圖解析器,dispatcherservlet,驗證器等。
- 輕量-它使用輕巧的servlet容器來開發和部署您的應用程序。
- 強大的配置-它為框架和應用程序類提供了可靠的配置,其中包括跨上下文的輕松引用,例如從web控制器到業務對象和驗證器。
- 快速開發-spring mvc促進了快速并行的開發。
- 可重復使用的業務代碼-無需創建新對象,它使我們可以使用現有業務對象。
- 易于測試-在spring中,通常我們創建javabeans類,使您可以使用setter方法注入測試數據。
- 靈活的映射-它提供了可輕松重定向頁面的特定注釋。
spring web mvc框架示例
讓我們看一下spring web mvc框架的簡單示例。步驟如下:
- 在maven中加載spring jar文件或添加依賴項
- 創建控制器類
- 在web.xml文件中提供控制器的條目
- 在單獨的xml文件中定義bean
- 在jsp頁面中顯示消息
- 啟動服務器并部署項目
spring mvc的目錄結構
使用maven的spring mvc的目錄結構
必需的jar文件或maven依賴項
要運行此示例,您需要加載:
- spring core jar文件
- spring web jar文件
- jsp + jstl jar文件(如果使用其他視圖技術,則加載相應的jar文件)。
下載spring的所有jar文件,包括jsp和jstl 。
如果您使用的是maven,則無需添加jar文件。現在,您需要將maven依賴項添加到pom.xml文件。
1、在pom.xml文件中提供項目信息和配置。
pom.xml
4.0.0 com.yapf springmvc war 0.0.1-snapshot springmvc maven webapp http://maven.apache.org junit junit 3.8.1 test org.springframework spring-webmvc 5.1.1.release javax.servlet servlet-api 3.0-alpha-1 springmvc
2、創建控制器類
要創建控制器類,我們使用兩個注釋@controller和@requestmapping。
@controller注釋將該類標記為controller。
@requestmapping批注用于映射具有指定url名稱的類。
hellocontroller.java
package com.yapf; import org.springframework.stereotype.controller; import org.springframework.web.bind.annotation.requestmapping; @controller public class hellocontroller { @requestmapping("/") public string display() { return "index"; } }
3、在web.xml文件中提供控制器的條目
在此xml文件中,我們指定servlet類dispatcherservlet充當spring web mvc中的前端控制器。 html文件的所有傳入請求都將轉發到dispatcherservlet。
web.xml
5、在jsp頁面中顯示消息
這是簡單的jsp頁面,顯示controller返回的消息。
index.jsp
welcome to spring mvc tutorial
輸出:
spring mvc索引
spring mvc
- mvc簡介
- 多視圖頁面
- 多個控制器
- 模型接口
- requestparam 注解
spring mvc表單
- 表單標簽庫
- 表單文本字段
- 單選按鈕
- 表單復選框
- 表單下拉列表
spring mvc應用程序
- mvc crud示例
- mvc分頁示例
- 文件上傳示例
spring mvc驗證
- spring mvc驗證
- 正則表達式驗證
- 數字驗證
- 自定義驗證
spring mvc tiles
- spring mvc tiles