spring mvc教程
spring mvc是一個(gè)java框架,用于構(gòu)建web應(yīng)用程序。它遵循model-view-controller設(shè)計(jì)模式。它實(shí)現(xiàn)了核心spring框架的所有基本功能,例如控制反轉(zhuǎn),依賴注入。
spring mvc通過 dispatcherservlet 提供了一種優(yōu)雅的解決方案,可以在spring框架中使用mvc。 >。在這里, dispatcherservlet 是一個(gè)類,用于接收傳入的請求并將其映射到正確的資源,例如控制器,模型和視圖。
spring web model-view-controller
- model-模型包含應(yīng)用程序的數(shù)據(jù)。數(shù)據(jù)可以是單個(gè)對象或?qū)ο蟮募稀?/li>
- controller-控制器包含應(yīng)用程序的業(yè)務(wù)邏輯。在這里,@ controller批注用于將類標(biāo)記為控制器。
- view-視圖以特定格式表示所提供的信息。通常,jsp + jstl用于創(chuàng)建視圖頁面。盡管spring還支持其他視圖技術(shù),例如apache velocity,thymeleaf和freemarker。
- front controller-在spring web mvc中,dispatcherservlet類用作前端控制器。它負(fù)責(zé)管理spring mvc應(yīng)用程序的流程。
了解spring web mvc的流程
- 如圖所示,所有傳入的請求都被充當(dāng)前端控制器的dispatcherservlet攔截。
- dispatcherservlet從xml文件獲取處理程序映射的條目,并將請求轉(zhuǎn)發(fā)給控制器。
- 控制器返回modelandview對象。
- dispatcherservlet檢查xml文件中的視圖解析器條目,并調(diào)用指定的視圖組件。
spring mvc framework的優(yōu)點(diǎn)
讓我們看看spring mvc framework的一些優(yōu)點(diǎn):
- 分離角色-spring mvc分離每個(gè)角色,其中可以由專門的對象來實(shí)現(xiàn)模型對象,控制器,命令對象,視圖解析器,dispatcherservlet,驗(yàn)證器等。
- 輕量-它使用輕巧的servlet容器來開發(fā)和部署您的應(yīng)用程序。
- 強(qiáng)大的配置-它為框架和應(yīng)用程序類提供了可靠的配置,其中包括跨上下文的輕松引用,例如從web控制器到業(yè)務(wù)對象和驗(yàn)證器。
- 快速開發(fā)-spring mvc促進(jìn)了快速并行的開發(fā)。
- 可重復(fù)使用的業(yè)務(wù)代碼-無需創(chuàng)建新對象,它使我們可以使用現(xiàn)有業(yè)務(wù)對象。
- 易于測試-在spring中,通常我們創(chuàng)建javabeans類,使您可以使用setter方法注入測試數(shù)據(jù)。
- 靈活的映射-它提供了可輕松重定向頁面的特定注釋。
spring web mvc框架示例
讓我們看一下spring web mvc框架的簡單示例。步驟如下:
- 在maven中加載spring jar文件或添加依賴項(xiàng)
- 創(chuàng)建控制器類
- 在web.xml文件中提供控制器的條目
- 在單獨(dú)的xml文件中定義bean
- 在jsp頁面中顯示消息
- 啟動(dòng)服務(wù)器并部署項(xiàng)目
spring mvc的目錄結(jié)構(gòu)
使用maven的spring mvc的目錄結(jié)構(gòu)
必需的jar文件或maven依賴項(xiàng)
要運(yùn)行此示例,您需要加載:
- spring core jar文件
- spring web jar文件
- jsp + jstl jar文件(如果使用其他視圖技術(shù),則加載相應(yīng)的jar文件)。
下載spring的所有jar文件,包括jsp和jstl 。
如果您使用的是maven,則無需添加jar文件?,F(xiàn)在,您需要將maven依賴項(xiàng)添加到pom.xml文件。
1、在pom.xml文件中提供項(xiàng)目信息和配置。
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、創(chuàng)建控制器類
要?jiǎng)?chuàng)建控制器類,我們使用兩個(gè)注釋@controller和@requestmapping。
@controller注釋將該類標(biāo)記為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充當(dāng)spring web mvc中的前端控制器。 html文件的所有傳入請求都將轉(zhuǎn)發(fā)到dispatcherservlet。
web.xml
5、在jsp頁面中顯示消息
這是簡單的jsp頁面,顯示controller返回的消息。
index.jsp
welcome to spring mvc tutorial
輸出:
spring mvc索引
spring mvc
- mvc簡介
- 多視圖頁面
- 多個(gè)控制器
- 模型接口
- requestparam 注解
spring mvc表單
- 表單標(biāo)簽庫
- 表單文本字段
- 單選按鈕
- 表單復(fù)選框
- 表單下拉列表
spring mvc應(yīng)用程序
- mvc crud示例
- mvc分頁示例
- 文件上傳示例
spring mvc驗(yàn)證
- spring mvc驗(yàn)證
- 正則表達(dá)式驗(yàn)證
- 數(shù)字驗(yàn)證
- 自定義驗(yàn)證
spring mvc tiles
- spring mvc tiles