Spring MVC教程

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

下一節(jié):spring mvc表單庫

spring 教程

相關(guān)文章
亚洲国产精品第一区二区,久久免费视频77,99V久久综合狠狠综合久久,国产免费久久九九免费视频