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

Spring MVC相關(guān)注解運用 —— 上篇

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

目錄

一、@Controller、@RequestMapping

1.1 示例程序

1.2 測試結(jié)果

二、@RequestParam

2.1 示例程序

2.2 測試結(jié)果

三、@RequestHeader、@CookieValue

3.1 示例程序

3.2 測試結(jié)果

四、@SessionAttributes

4.1 示例程序

4.2 測試結(jié)果

五、@ModelAttribute

5.1 示例程序

5.2 測試結(jié)果

往期專欄&文章相關(guān)導(dǎo)讀?

1. Maven系列專欄文章

2. Mybatis系列專欄文章

3. Spring系列專欄文章

4. Spring MVC系列專欄文章?


一、@Controller、@RequestMapping

@Controller:作用:標(biāo)記控制器,將控制器交給Spring容器管理。

????????????????????????位置:類上方

@RequestMapping:作用:給控制器方法設(shè)置請求路徑
位置:方法或類上方。用于類上,表示類中的所有控制器方法都是以該地址作為父路徑。
屬性:

  1. value/path:請求路徑
  2. method:指定請求方式
  3. params:規(guī)定必須發(fā)送的請求參數(shù)
  4. headers:規(guī)定請求必須包含的請求頭

1.1 示例程序

package com.example.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

@Controller
@RequestMapping("/c3")
public class MyController3 {
    /**
     * 訪問路徑為 /c3/annotation1
     * 支持post和get請求
     * 請求時必須帶有age參數(shù)
     * 請求時必須帶有User-agent請求頭
     * @param username
     * @return
     */
    @RequestMapping(path = "/annotation1",method = {RequestMethod.GET,RequestMethod.POST},params = {"age"},headers = {"User-agent"})
    public String annotation1(String username){
        System.out.println("annotation1\t"+username);
        return "lyl-HQX";
    }
}

這里規(guī)定了請求參數(shù)必須帶有age,但是下方方法參數(shù)列表沒有age,那我們測試一下有age和無age。

1.2 測試結(jié)果

如果請求路徑為:http://localhost:8080/c3/annotation1?age=10

測試結(jié)果為:

Spring MVC相關(guān)注解運用 —— 上篇

但是如果請求路徑是:?http://localhost:8080/c3/annotation1?username=10

Spring MVC相關(guān)注解運用 —— 上篇?可以看到就報錯,因此確實需要帶age參數(shù)

因此請求路徑應(yīng)該寫成這樣:http://localhost:8080/c3/annotation1?username=10&age=10

Spring MVC相關(guān)注解運用 —— 上篇

可以看到確實打印出了用戶名10。?

二、@RequestParam

作用:在控制器方法中獲取請求參數(shù)
位置:方法參數(shù)前
屬性:

  1. name:指定請求參數(shù)名稱
  2. defaultValue: 為參數(shù)設(shè)置默認(rèn)值
  3. required:設(shè)置是否是必須要傳入的參數(shù)

2.1 示例程序

// 在控制器方法中獲取請求參數(shù)
    @RequestMapping("/annotation2")
    public String annotation2(@RequestParam(name = "name",defaultValue = "HQX",required = false) String name){
        System.out.println("annotation2\t"+name);
        return "lyl-HQX";
    }

這個注解是修飾請求參數(shù)的相關(guān)屬性,那我們有沒有這個name屬性應(yīng)該都是可以的。

2.2 測試結(jié)果

當(dāng)請求路徑為:http://localhost:8080/c3/annotation2

Spring MVC相關(guān)注解運用 —— 上篇

?請求路徑?jīng)]有該參數(shù)了,該參數(shù)的默認(rèn)值就是HQX,正常輸出

當(dāng)請求路徑為:http://localhost:8080/c3/annotation2?name=LYL

Spring MVC相關(guān)注解運用 —— 上篇

?OK,當(dāng)請求路徑有該參數(shù)時,就按照請求路徑的參數(shù)值來輸出,可以看得到確實是測試成功了。?

三、@RequestHeader、@CookieValue

@RequestHeader

  • 作用:在控制器方法中獲取請求頭數(shù)據(jù)
  • 位置:方法參數(shù)前

@CookieValue

  • 作用:在控制器方法中獲取Cookie數(shù)據(jù)
  • 位置:方法參數(shù)前

3.1 示例程序

/**
     * @RequestHeader
     * 作用:在控制器方法中獲取請求頭數(shù)據(jù)
     * 位置:方法參數(shù)前
     * @CookieValue
     * 作用:在控制器方法中獲取Cookie數(shù)據(jù)
     * 位置:方法參數(shù)前
     */
    // 獲取User-Agent請求頭和JSESSIONID的Cookie值
    @RequestMapping("/annotation3")
    public String annotation3(@RequestHeader("User-Agent")String userAgent, @CookieValue("JSESSIONID") String jSessionId){
        System.out.print("annotation3\t");
        System.out.println("userAgent: "+userAgent);
        System.out.print("jSessionId: " + jSessionId);
        return "lyl-HQX";
    }

3.2 測試結(jié)果

請求路徑:http://localhost:8080/c3/annotation3

Spring MVC相關(guān)注解運用 —— 上篇

?可以看得到確實打印了請求頭的相關(guān)數(shù)據(jù):比如說windows系統(tǒng),多少位,瀏覽器的版本等。sessionID也獲取出來了。

四、@SessionAttributes

作用:將Model模型中的數(shù)據(jù)存到session域中
位置:類上方

4.1 示例程序

package com.example.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.SessionAttributes;

import javax.servlet.http.HttpSession;

@Controller
@RequestMapping("/c4")
// 將Model模型中name的數(shù)據(jù)存到session域中
@SessionAttributes("name")
public class MyController4 {
    @RequestMapping("/t1")
    public String t1(Model model){
        // model1中保存name數(shù)據(jù)
        model.addAttribute("name","LYL");
        return "lyl-HQX";
    }
    @RequestMapping("/t2")
    public String t2(HttpSession session){
        // 從session中獲取name數(shù)據(jù)
        System.out.println(session.getAttribute("name"));
        return "lyl-HQX";
    }
}

4.2 測試結(jié)果

OK,從上面程序我們可以知道,要先訪問/t1,再訪問/t2,才可以獲取name的值。直接訪問/t2是無法打印出name的屬性值的。接下來我們測試一下:

當(dāng)我們先訪問/t2:??????:http://localhost:8080/c4/t2

Spring MVC相關(guān)注解運用 —— 上篇

OK,可以看到確實是打印出null,

Spring MVC相關(guān)注解運用 —— 上篇

并且瀏覽器也沒有對應(yīng)的值。

接下來訪問/t1,http://localhost:8080/c4/t1

添加值之后

Spring MVC相關(guān)注解運用 —— 上篇

再訪問/t2,可以看得到控制臺確實打印出來了。?

?Spring MVC相關(guān)注解運用 —— 上篇

五、@ModelAttribute

作用1:設(shè)置指定方法在控制器其他方法前執(zhí)行
位置:方法上方

作用2:從Model模型中獲取數(shù)據(jù)給參數(shù)賦值
位置:方法參數(shù)前

5.1 示例程序

作用一示例程序:

package com.example.controller;

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

@Controller
@RequestMapping("/c5")
public class MyController5 {
    // @ModelAttribute作用1:設(shè)置指定方法在控制器其他方法前執(zhí)行
    @ModelAttribute
    public void before(){
        System.out.println("前置方法");
    }

    @RequestMapping("/t1")
    public String t1(){
        System.out.println("t1");
        return "lyl-HQX";
    }
}

?作用二示例程序:

package com.example.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
@RequestMapping("/c5")
public class MyController5 {
    // @ModelAttribute作用1:設(shè)置指定方法在控制器其他方法前執(zhí)行
    @ModelAttribute
    public void before(Model model){
        System.out.println("前置方法");
        model.addAttribute("name","LYL");
    }

    @RequestMapping("/t1")
    public String t1(@ModelAttribute("name") String name){
        System.out.println(name);
        return "lyl-HQX";
    }
}

5.2 測試結(jié)果

作用一測試結(jié)果:http://localhost:8080/c5/t1

Spring MVC相關(guān)注解運用 —— 上篇

OK,可以看得到前置方法確實生效了。?

?作用二測試結(jié)果:http://localhost:8080/c5/t1

Spring MVC相關(guān)注解運用 —— 上篇

Spring MVC相關(guān)注解運用 —— 上篇?OK,可以看到確實兩個作用都成功執(zhí)行了。

往期專欄&文章相關(guān)導(dǎo)讀?

?????大家如果對于本期內(nèi)容有什么不了解的話也可以去看看往期的內(nèi)容,下面列出了博主往期精心制作的Maven,Mybatis等專欄系列文章,走過路過不要錯過哎!如果對您有所幫助的話就點點贊,收藏一下啪。其中Spring專欄有些正在更,所以無法查看,但是當(dāng)博主全部更完之后就可以看啦。

1. Maven系列專欄文章

Maven系列專欄 Maven工程開發(fā)
Maven聚合開發(fā)【實例詳解---5555字】

2. Mybatis系列專欄文章

Mybatis系列專欄 MyBatis入門配置
Mybatis入門案例【超詳細】
MyBatis配置文件 —— 相關(guān)標(biāo)簽詳解
Mybatis模糊查詢——三種定義參數(shù)方法和聚合查詢、主鍵回填
Mybatis動態(tài)SQL查詢 --(附實戰(zhàn)案例--8888個字--88質(zhì)量分)
Mybatis分頁查詢——四種傳參方式
Mybatis一級緩存和二級緩存(帶測試方法)
Mybatis分解式查詢
Mybatis關(guān)聯(lián)查詢【附實戰(zhàn)案例】
MyBatis注解開發(fā)---實現(xiàn)增刪查改和動態(tài)SQL
MyBatis注解開發(fā)---實現(xiàn)自定義映射關(guān)系和關(guān)聯(lián)查詢

3. Spring系列專欄文章

Spring系列專欄 Spring IOC 入門簡介【自定義容器實例】
IOC使用Spring實現(xiàn)附實例詳解
Spring IOC之對象的創(chuàng)建方式、策略及銷毀時機和生命周期且獲取方式
Spring DI簡介及依賴注入方式和依賴注入類型
Spring IOC相關(guān)注解運用——上篇
Spring IOC相關(guān)注解運用——下篇
Spring AOP簡介及相關(guān)案例
注解、原生Spring、SchemaBased三種方式實現(xiàn)AOP【附詳細案例】
Spring事務(wù)簡介及相關(guān)案例
Spring 事務(wù)管理方案和事務(wù)管理器及事務(wù)控制的API
Spring 事務(wù)的相關(guān)配置、傳播行為、隔離級別及注解配置聲明式事務(wù)

4. Spring MVC系列專欄文章?

SpringMVC系列專欄 Spring MVC簡介附入門案例
Spring MVC各種參數(shù)獲取及獲取方式自定義類型轉(zhuǎn)換器和編碼過濾器
Spring MVC獲取參數(shù)和自定義參數(shù)類型轉(zhuǎn)換器及編碼過濾器
Spring MVC處理響應(yīng)附案例詳解
Spring MVC相關(guān)注解運用 —— 上篇

Spring MVC相關(guān)注解運用 —— 中篇文章來源地址http://www.zghlxwxcb.cn/news/detail-512841.html

Spring MVC相關(guān)注解運用 —— 下篇
Spring MVC多種情況下的文件上傳
Spring MVC異步上傳、跨服務(wù)器上傳和文件下載
Spring MVC異常處理【單個控制異常處理器、全局異常處理器、自定義異常處理器】
Spring MVC攔截器和跨域請求
SSM整合案例【C站講解最詳細流程的案例】

到了這里,關(guān)于Spring MVC相關(guān)注解運用 —— 上篇的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • Spring IOC相關(guān)注解運用——下篇

    Spring IOC相關(guān)注解運用——下篇

    目錄 一、@Configuration 二、@ComponentScan 1. 說明 2. 測試方法 3. 運行結(jié)果 三、@PropertySource 1. 說明 2. 測試方法 3. 測試結(jié)果 四、@Bean 1. 說明 2. 添加驅(qū)動依賴 3.?將Connection對象放入Spring容器 3. 測試 五、@Import 1. 說明 2. 測試方法 3. 運行結(jié)果 往期專欄文章相關(guān)導(dǎo)讀? 1. Maven系列專欄文

    2024年02月05日
    瀏覽(21)
  • 【Spring MVC】Spring MVC的功能使用和相關(guān)注解介紹

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

    Spring MVC主要有三個功能: 連接 獲取參數(shù) 輸出數(shù)據(jù) 對于 Spring MVC 來說,掌握了以上 3 個功能就相當(dāng)于掌握了Spring MVC。 連接的功能:將?戶(瀏覽器)和 Java 程序連接起來,也就是訪問?個地址能夠調(diào)?到我們的Spring 程序。 先創(chuàng)建一個SpringMVC項目,過程和SpringBoot項目創(chuàng)建相

    2024年02月16日
    瀏覽(22)
  • Spring MVC 的controller方法返回值

    說明:controller方法中定義ModelAndView對象并返回,對象中可添加model數(shù)據(jù)、指定view 邏輯視圖名 說明:controller方法返回字符串可以指定邏輯視圖名,通過視圖解析器解析為物理視圖地址。 返回字符串 在index.jsp里面定義超鏈接 Redirect重定向 說明: Contrller方法返回結(jié)果重定向到

    2024年01月16日
    瀏覽(37)
  • Spring MVC中@Controller和@RestController的區(qū)別

    @Controller 和 @RestController 是 Spring MVC 中用于處理 HTTP 請求的注解,它們有以下區(qū)別: 返回值處理方式: @Controller 用于定義一個傳統(tǒng)的 Spring MVC 控制器,它的方法通常返回視圖名稱或 ModelAndView 對象,由視圖解析器解析并渲染成 HTML 頁面。 @RestController 組合了 @Controller 和 @Resp

    2024年01月17日
    瀏覽(45)
  • Spring MVC學(xué)習(xí)之——Controller類中方法的返回值

    2.1邏輯視圖名 說明:controller方法返回字符串可以指定邏輯視圖名,通過視圖解析器解析為物理視圖地址。 返回字符串 2.2Redirect重定向 說明: Contrller方法返回結(jié)果重定向到一個url地址,如下商品修改提交后重定向到商品查詢方法,參數(shù)無法帶到商品查詢方法中。 redirect方式

    2024年01月18日
    瀏覽(20)
  • Spring Boot中最常用注解的使用方式(上篇)

    Spring Boot中最常用注解的使用方式(上篇)

    摘要:本文將詳細介紹Spring Boot中最常用的注解的使用方式,并通過代碼示例加以說明。通過學(xué)習(xí)這些注解,讀者將能夠更好地理解和運用Spring Boot框架,構(gòu)建高效的企業(yè)級應(yīng)用。 1.@RequestMapping @RequestMapping :將一個HTTP請求映射到對應(yīng)的控制器方法上??梢杂糜陬惡头椒墑e。

    2024年02月07日
    瀏覽(29)
  • Spring Boot 中的 @Controller 注解:原理、用法與示例

    Spring Boot 中的 @Controller 注解:原理、用法與示例

    Spring Boot 是一個快速開發(fā) Spring 應(yīng)用程序的框架,它提供了很多有用的功能和特性。其中,@Controller 注解是一個常用的注解,它可以將一個 Java 類標(biāo)記為 Spring MVC 中的控制器。本文將介紹 Spring Boot 中 @Controller 注解的原理、用法和示例。 在 Spring MVC 中,@Controller 注解用于標(biāo)識

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

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

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

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

    【Spring】— Spring MVC的注解

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

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

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

    2024年02月09日
    瀏覽(42)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包