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

【Spring MVC】Spring MVC的功能使用和相關(guān)注解介紹

這篇具有很好參考價(jià)值的文章主要介紹了【Spring MVC】Spring MVC的功能使用和相關(guān)注解介紹。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

Spring MVC主要有三個(gè)功能:

  1. 連接
  2. 獲取參數(shù)
  3. 輸出數(shù)據(jù)

對于 Spring MVC 來說,掌握了以上 3 個(gè)功能就相當(dāng)于掌握了Spring MVC。

1.連接

連接的功能:將?戶(瀏覽器)和 Java 程序連接起來,也就是訪問?個(gè)地址能夠調(diào)?到我們的Spring 程序。

1.1 實(shí)現(xiàn) Spring MVC的連接

先創(chuàng)建一個(gè)SpringMVC項(xiàng)目,過程和SpringBoot項(xiàng)目創(chuàng)建相同。

可以參考這篇文章SpringBoot的創(chuàng)建和運(yùn)行

接下來,創(chuàng)建?個(gè) UserController 類,實(shí)現(xiàn)?戶到 Spring 程序的互聯(lián)互通,具體實(shí)現(xiàn)代碼如下:

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller // 讓 spring 框架啟動時(shí),加載
@ResponseBody // 返回???數(shù)據(jù)
@RequestMapping("/user") // 路由器規(guī)則注冊
public class UserController {
 // 路由器規(guī)則注冊
 	@RequestMapping("/hi")
 	public String sayHi(){
 		return "<h1>Hi,Spring MVC.</h1>";
 	}
}

這樣實(shí)現(xiàn)之后,當(dāng)訪問地址:http://localhost:8080/user/hi 時(shí)就能打印“hello,spring mvc”的信息了。

1.2 注解介紹

@RequestMapping

@RequestMapping是?來注冊接?的路由映射的。

路由映射:所謂的路由映射指的是,當(dāng)?戶訪問?個(gè) url 時(shí),將?戶的請求對應(yīng)到程序中某個(gè)類 的某個(gè)?法的過程就叫路由映射

  • @RequestMapping 即可修飾類,也可以修飾?法,當(dāng)修飾類和?法時(shí),訪問的地址是類 + ?法。
  • @RequestMapping 既是post請求又是get請求。
@Controller
@RequestMapping("/web")
public class WebController {

    //響應(yīng)視圖
    @RequestMapping("/index")
    public String index(){
        return "/index.html";
    }
    //響應(yīng)正文
    @ResponseBody
    @RequestMapping("/indexData")
    //只支持get請求
    //@RequestMapping(value = "/indexData",method = RequestMethod.GET)
    public String indexData(){
        return "hello,MVC";
    }
}

@GetMapping

實(shí)現(xiàn)get請求。

get請求的三種寫法:

// 寫法1
@RequestMapping("/index")
// 寫法2
@RequestMapping(value = "/index",method = RequestMethod.GET)
// 寫法3
@GetMapping("/index")

@PostMapping

實(shí)現(xiàn)post請求。

post請求的兩種寫法:

// 寫法1
@RequestMapping(value = "/index",method = RequestMethod.POST)
// 寫法2
@PostMapping("/index")

2.獲取參數(shù)

2.1 傳遞單個(gè)參數(shù)

在 Spring MVC 中可以直接??法中的參數(shù)來實(shí)現(xiàn)傳參,?如以下代碼:

@RestController
@RequestMapping("/param")
public class ParamController {

    //servlet傳參
    @RequestMapping("/get1")
    public String get1(HttpServletRequest request){
        String name=request.getParameter("name");
        return "name:"+name;
    }
    //MVC傳參
    @RequestMapping("/get2")
    public String get2(String name){
        return "name:"+name;
    }
    //多個(gè)參數(shù)傳參
    @RequestMapping("/get3")
    public String get3(String name,Integer age){
        return "name:"+name+"|age:"+age;
    }
}

2.2 傳遞對象

定義一個(gè)Student類:

@Data
public class Student {
    private Integer id;
    private String name;
    private Integer age;
}

傳遞對象代碼實(shí)現(xiàn):

    @RequestMapping("/get6")
    public String get6(Student student){
        return student.toString();
    }

2.3 后端參數(shù)重命名

某些特殊的情況下,前端傳遞的參數(shù) key 和我們后端接收的 key 可以不?致,?如前端傳遞了?個(gè)
n 給后端,?后端?是由name 字段來接收的,這樣就會出現(xiàn)參數(shù)接收不到的情況,如果出現(xiàn)
這種情況,我們就可以使? @RequestParam 來重命名前后端的參數(shù)值。

代碼實(shí)現(xiàn):

    @RequestMapping("/get7")
    public String get7(@RequestParam(name="n",required = false) String name){
        return "name:"+name;
    }

參數(shù)必傳:將required設(shè)置成false,來避免不傳遞時(shí)報(bào)錯(cuò)

2.4 接收J(rèn)SON對象

@RequestBody

上傳一個(gè)json格式的數(shù)據(jù):

【Spring MVC】Spring MVC的功能使用和相關(guān)注解介紹,SpringBoot,spring,mvc,java,spring boot

后端接收代碼實(shí)現(xiàn):

    @RequestMapping("/get8")
    public String get8(@RequestBody Student student){
        log.info(student.toString());
        return student.toString();
    }

@RequestBody表示接收的是一個(gè)json字符串,String會幫我們把這個(gè)字符串轉(zhuǎn)為對象。

2.5 獲取URL中參數(shù)

@PathVariable

給定一個(gè)URL:
【Spring MVC】Spring MVC的功能使用和相關(guān)注解介紹,SpringBoot,spring,mvc,java,spring boot
實(shí)現(xiàn)代碼:

    @RequestMapping("/get9/{shopid}")
    public String get9(@PathVariable Integer shopid){
        return "shopid:"+shopid;
    }

2.6 上傳文件

@RequestPart

實(shí)現(xiàn)代碼:

    @RequestMapping("/get10")
    public String get10(@RequestPart("file") MultipartFile file) throws IOException {
        log.info(file.getOriginalFilename());
        file.transferTo(new File("D:\\Desktop\\Bit\\temp"+file.getOriginalFilename()));
        return "success";
    }

2.7 獲取Cookie/Session/header

@CookieValue

獲取Session實(shí)現(xiàn)代碼:

    @RequestMapping("/get11")
    public String get11(@CookieValue(required = false) String bite){
        return "bite:"+bite;
    }

@SessionAttribute

設(shè)置Session實(shí)現(xiàn)代碼:

    @RequestMapping("/get12")
    public String get12(@SessionAttribute(required = false) String username){
        return "username:"+username;
    }

設(shè)置之后,cookie中會多一個(gè)sessionId。

@RequestHeader

獲取Header內(nèi)容實(shí)現(xiàn)代碼:

    @RequestMapping("/get13")
    public String get13(@RequestHeader("User-Agent") String useragent){
        return "useragent:"+useragent;
    }

2.8 返回JSON對象

實(shí)現(xiàn)代碼:

    @RequestMapping("/get14")
    public Map<String,String> get14(){
        Map<String,String>map=new HashMap<>();
        map.put("k1","v1");
        map.put("k2","v2");
        map.put("k3","v3");
        map.put("k4","v4");
        return map;
    }

3.輸出數(shù)據(jù)

3.1 返回靜態(tài)頁面

實(shí)現(xiàn)代碼:

    //響應(yīng)視圖
    @RequestMapping("/index")
    public String index(){
        return "/index.html";
    }

3.2 返回text正文

@ResponseBody

實(shí)現(xiàn)代碼:

	//響應(yīng)正文
    @ResponseBody

> 這里是引用

    @RequestMapping("/indexData")
    public String indexData(){
        return "hello,MVC";
    }
}

4.請求轉(zhuǎn)發(fā)和請求重定向

return 不但可以返回?個(gè)視圖,還可以實(shí)現(xiàn)跳轉(zhuǎn),跳轉(zhuǎn)的?式有兩種:

  • forward:請求轉(zhuǎn)發(fā);
  • redirect:請求重定向。

舉例說明: forward(請求轉(zhuǎn)發(fā))和 redirect(請求重定向)的區(qū)別

你告訴你媽媽,你想吃辣條,如果你媽媽,說好,我?guī)湍闳ベI,這就是 forward 請求轉(zhuǎn)發(fā);如果你媽媽讓你??去買,那么就是
請求 redirect 重定向

4.1 請求轉(zhuǎn)發(fā)forward

代碼實(shí)現(xiàn):

    /**
     * 請求轉(zhuǎn)發(fā)
     * @return
     */
    @RequestMapping("/forward")
    public String forward(){
        return "forward:/index.html";
    }

4.2 請求重定向redirect

代碼實(shí)現(xiàn):文章來源地址http://www.zghlxwxcb.cn/news/detail-601911.html

    /**
     * 請求重定向
     * @return
     */
    @RequestMapping("/redirect")
    public String redirect(){
        return "redirect:/index.html";
    }

到了這里,關(guān)于【Spring MVC】Spring MVC的功能使用和相關(guān)注解介紹的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • 三、使用注解形式開發(fā) Spring MVC程序

    1、 創(chuàng)建 maven 項(xiàng)目,添加框架支持 2、 添加依賴,因?yàn)?maven 可以有一些資源過濾的問題,這里直接將資源過濾配置補(bǔ)全 3、 檢查項(xiàng)目結(jié)構(gòu)中是否有 lib 夾以及 jar 是否成功導(dǎo)入了,并配置 tomcat 這里配置完基本上就不用在動了,統(tǒng)一使用注解來解決 @Controller: @Controller 用于標(biāo)

    2024年02月12日
    瀏覽(19)
  • Spring MVC:常用參數(shù)(注解)的使用和參數(shù)綁定的驗(yàn)證

    Spring MVC:常用參數(shù)(注解)的使用和參數(shù)綁定的驗(yàn)證

    Java EE企業(yè)級應(yīng)用開發(fā)教程(Spring+Spring MVC+MyBatis)(第2版) Spring MVC常用參數(shù) Spring MVC簡單應(yīng)用 Spring MVC參數(shù)綁定 本實(shí)驗(yàn)采用的是本地安裝的tomcat8.5.0版本 (1)創(chuàng)建maven 管理的java web工程 (2)添加本地tomcat war包 (3)實(shí)驗(yàn)過程 輸出Hello Word 訪問端口:http://localhost:8080/chapter1

    2024年02月04日
    瀏覽(21)
  • 【Spring】— Spring MVC的注解

    【Spring】— Spring MVC的注解

    1.DispatcherServlet DispatcherServlet的全名: org.Springframework.web.servlet.DispatcherServlet 它在程序中充當(dāng)著前端控制器的角色。 【示例】在使用DispatcherServlet時(shí),只需將其配置在項(xiàng)目的web.xml文件中,其配置代碼如下。 在上述代碼中, load-on-startup 元素和 init-param 元素都是可選的。如果 lo

    2024年02月10日
    瀏覽(20)
  • 【Spring MVC】Spring MVC基于注解的程序開發(fā)

    【Spring MVC】Spring MVC基于注解的程序開發(fā)

    目錄 一、什么是Spring MVC ?二、Spring MVC項(xiàng)目的創(chuàng)建和使用 1、實(shí)現(xiàn)客戶端和服務(wù)器端之間的連接 1.1、RequsestMapping注解 1.2、@RequestMapper的簡單使用? 1.3、使用@GetMapping和@POSTMapping注解來實(shí)現(xiàn)HTTP連接 三、獲取參數(shù) 1、實(shí)現(xiàn)獲取單個(gè)參數(shù) 2、實(shí)現(xiàn)獲取對象 3、后端參數(shù)重命名(@Requ

    2024年02月13日
    瀏覽(21)
  • Spring MVC常用注解

    @PathVariable、@RequestBody和@RequestParam @PathVariable、@RequestBody和@RequestParam是Spring MVC框架中用于處理請求參數(shù)的注解。 @PathVariable:用于處URL路徑中的 占位符參數(shù) 。例如,對于URL /users/{id} ,其中的 {id} 是一個(gè)占位符,可以使用@PathVariable注解將其綁定到方法的參數(shù)上,如下所示:

    2024年02月09日
    瀏覽(41)
  • 【框架篇】Spring MVC 介紹及使用(詳細(xì)教程)

    【框架篇】Spring MVC 介紹及使用(詳細(xì)教程)

    MVC(Model-View-Controller)是一種常見的軟件設(shè)計(jì)模式,用于將應(yīng)用程序的邏輯分離成三個(gè)獨(dú)立的組件: 模型(Model) :模型是應(yīng)用程序的數(shù)據(jù)和業(yè)務(wù)邏輯的表示。它負(fù)責(zé)處理數(shù)據(jù)的讀取、存儲和操作,以及業(yè)務(wù)規(guī)則的處理。模型通常是獨(dú)立于用戶界面的,可以在不同的視圖和控

    2024年02月14日
    瀏覽(19)
  • Spring MVC 的RequestMapping注解

    Spring MVC 的RequestMapping注解

    作用:用于建立請求URL和處理請求方法之間的對應(yīng)關(guān)系。 出現(xiàn)位置: 類上: 請求 URL的第一級訪問目錄。此處不寫的話,就相當(dāng)于應(yīng)用的根目錄。寫的話需要以/開頭。它出現(xiàn)的目的是為了使我們的 URL 可以按照模塊化管理,例如: 賬戶模塊: /account /add /account /update /account

    2024年02月02日
    瀏覽(17)
  • Spring MVC-@RequestMapping注解詳解

    目錄 1、@RequestMapping注解的作用 2、@RequestMapping注解的位置 3、value屬性 (1)基礎(chǔ)用法 (3)路徑中的占位符(重點(diǎn)) 4、method屬性 5、params屬性(了解) 6、headers屬性(了解) @RequestMapping注解的作用,就是 將請求和處理請求的控制器方法關(guān)聯(lián)起來 ,建立映射關(guān)系。 SpringMVC接

    2023年04月24日
    瀏覽(13)
  • Spring MVC 三 :基于注解配置

    Servlet3.0 Servlet3.0是基于注解配置的理論基礎(chǔ)。 Servlet3.0引入了基于注解配置Servlet的規(guī)范,提出了可拔插的ServletContext初始化方式,引入了一個(gè)叫ServletContainerInitializer的接口。 An instance of the ServletContainerInitializer is looked up via the jar services API by the container at container / application sta

    2024年02月11日
    瀏覽(24)
  • Spring MVC學(xué)習(xí)之——RequestMapping注解

    Spring MVC學(xué)習(xí)之——RequestMapping注解

    用于建立請求URL和處理請求方法之間的對應(yīng)關(guān)系。 value:指定請求的實(shí)際地址,可以是一個(gè)字符串或者一個(gè)字符串列表。 value可以不寫,直接在括號中寫,默認(rèn)就是value值 @RequestMapping(value=“/hello”) public String hello(){ return…} method:指定請求的方式,可以是GET、POST、PUT、DELE

    2024年01月18日
    瀏覽(17)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包