真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

SpringMVC的常用注解有哪些及怎么用

這篇文章主要介紹了Spring MVC的常用注解有哪些及怎么用的相關(guān)知識,內(nèi)容詳細(xì)易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇Spring MVC的常用注解有哪些及怎么用文章都會有所收獲,下面我們一起來看看吧。

成都創(chuàng)新互聯(lián)公司是專業(yè)的城子河網(wǎng)站建設(shè)公司,城子河接單;提供網(wǎng)站制作、網(wǎng)站設(shè)計,網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行城子河網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊,希望更多企業(yè)前來合作!

Spring Boot 默認(rèn)集成了Spring MVC,下面為Spring MVC一些常用注解。

開發(fā)環(huán)境:IntelliJ IDEA 2019.2.2
Spring Boot版本:2.1.8

新建一個名稱為demo的Spring Boot項目。

一、Controller注解

Controller注解用于修飾Java類,被修飾的類充當(dāng)MVC中的控制器角色。
Controller注解使用了@Component修飾,使用Controller注解修飾的類,會被@ComponentScan檢測,并且會作為Spring的bean被放到容器 
中。

package com.example.demo;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class DemoController {

    @RequestMapping("/index")
    @ResponseBody
    public String index(){
        return "index";
    }
}

運行項目后,瀏覽器訪問:http://localhost:8080/index,頁面顯示:
index

二、RestController注解

RestController注解是為了更方便使用@Controller和@ResponseBody。
@ResponseBody修飾控制器方法,方法的返回值將會被寫到HTTP的響應(yīng)體中,所返回的內(nèi)容不放到模型中,也不會被解釋為視圖的名稱。
下面例子等同于上面例子。

package com.example.demo;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class DemoController {

    @RequestMapping("/index")
    public String index(){
        return "index";
    }
}

三、RequestMapping注解

RequestMapping注解可修飾類或方法,主要用于映射請求與處理方法。
當(dāng)用于修飾類并設(shè)置了URL時,表示為各個請求設(shè)置了URL前綴。
RequestMapping注解主要有以下屬性:
(1)path與value:用于配置映射的url;
(2)method:映射的HTTP方法,如GET、POST、PUT、DELETE;
也可以使用默認(rèn)配置了@RequestMapping的method屬性的幾個注解:
@GetMapping等同于RequestMapping(method="RequestMethod.GET")
@PostMapping、@PutMapping、@DeleteMapping類似。
(3)params:為映射的請求配置參數(shù)標(biāo)識;
(4)consumes:配置請求的數(shù)據(jù)類型,如XML或JSON等;
(5)produces:配置響應(yīng)的數(shù)據(jù)類型,如“application/json”返回json數(shù)據(jù);

package com.example.demo;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/oa")
public class DemoController {

    @RequestMapping(value = "/index1")
    public String index1(){
        return "index1";
    }

    @RequestMapping(value = "/index2", method = RequestMethod.GET)
    public String index2(){
        return "index2";
    }

    @GetMapping(value = "/index3")
    public String index3(){
        return "index3";
    }
}

瀏覽器分別訪問:
http://localhost:8080/oa/index1
http://localhost:8080/oa/index2
http://localhost:8080/oa/index3
頁面分別顯示:
index1
index2
index3

四、PathVariable注解

PathVariable注解主要用于修飾方法參數(shù),表示該方法參數(shù)是請求URL的變量。

package com.example.demo;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class DemoController {

    @GetMapping("/index1/{name}")
    public String index1(@PathVariable String name){
        return "index1: " + name;
    }

    //可以為@PathVariable配置屬性值,顯式綁定方法參數(shù)與URL變量的值
    @GetMapping("/index2/{name}")
    public String index2(@PathVariable("name") String lc){
        return "index2: " + lc;
    }
}

瀏覽器訪問http://localhost:8080/index1/a
頁面顯示:
a
訪問http://localhost:8080/index1/b
頁面顯示:
b

五、RequestParam注解

RequestParam注解用于獲取請求體中的請求參數(shù),如表單提交后獲取頁面控件name值。

package com.example.demo;

import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import java.util.Map;

@RestController
public class DemoController {

    @PostMapping("/index1")
    public String index1(@RequestParam String userName){
        return userName;
    }

    //map存放所有請求參數(shù)
    @PostMapping("/index2")
    public String index2(@RequestParam Map map){
        String age = map.get("age");
        String sex = map.get("sex");
        return age + "," + sex;
    }
}

隨便在電腦中如桌面新建一個html文件:



  
        
    
  
  
    
        
    
  

瀏覽器打開后,如果點擊“提交1”按鈕后,頁面跳到http://localhost:8080/index1,顯示abc。
如果點擊“提交2”按鈕后,頁面跳到http://localhost:8080/index2,顯示22,male。

六、文件上傳

使用RequestParam注解可以實現(xiàn)文件上傳。

package com.example.demo;

import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.io.IOException;

@RestController
public class DemoController {

    @PostMapping("/upload")
    public String upload(@RequestParam("file") MultipartFile file) throws IOException {
        String fileName = file.getOriginalFilename();
        String filePath = "D:/";
        File dest = new File(filePath + fileName);
        file.transferTo(dest);
        return "上傳成功";
    }

}

隨便新建一個html文件



  
        
    
    

瀏覽器打開后,選擇一個文件,點擊提交后,文件保存到了D盤。

關(guān)于“Spring MVC的常用注解有哪些及怎么用”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對“Spring MVC的常用注解有哪些及怎么用”知識都有一定的了解,大家如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


分享文章:SpringMVC的常用注解有哪些及怎么用
文章出自:http://weahome.cn/article/jpiech.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部