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

SpringMVC訪問(wèn)路徑設(shè)置

這篇具有很好參考價(jià)值的文章主要介紹了SpringMVC訪問(wèn)路徑設(shè)置。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

@RequestMapping注解的作用就是將請(qǐng)求的 URL 地址和處理請(qǐng)求的方式(handler方法)關(guān)聯(lián)起來(lái),建立映射關(guān)系。

SpringMVC 接收到指定的請(qǐng)求,就會(huì)來(lái)找到在映射關(guān)系中對(duì)應(yīng)的方法來(lái)處理這個(gè)請(qǐng)求。

1. 精準(zhǔn)路徑匹配

在@RequestMapping注解指定 URL 地址時(shí),不使用任何通配符,按照請(qǐng)求地址進(jìn)行精確匹配。

@Controller
public class UserController {

    /**
     * 精準(zhǔn)設(shè)置訪問(wèn)地址 /user/login
     */
    @RequestMapping("/user/login")
    @ResponseBody
    public String login(){
        System.out.println("UserController.login");
        return "login success!!";
    }

    /**
     * 精準(zhǔn)設(shè)置訪問(wèn)地址 /user/register
     */
    @RequestMapping("/user/register")
    @ResponseBody
    public String register(){
        System.out.println("UserController.register");
        return "register success!!";
    }
    
}

2. 模糊路徑匹配

在@RequestMapping注解指定 URL 地址時(shí),通過(guò)使用通配符,匹配多個(gè)類似的地址。

@Controller
public class ProductController {

    /**
     *  路徑設(shè)置為 /product/*  
     *    /* 為單層任意字符串  /product/a  /product/aaa 可以訪問(wèn)此handler  
     *    /product/a/a 不可以
     *  路徑設(shè)置為 /product/** 
     *   /** 為任意層任意字符串  /product/a  /product/aaa 可以訪問(wèn)此handler  
     *   /product/a/a 也可以訪問(wèn)
     */
    @RequestMapping("/product/*")
    @ResponseBody
    public String show(){
        System.out.println("ProductController.show");
        return "product show!";
    }
}

注意:

  • *:只能匹配URL地址中的一層,如果想準(zhǔn)確匹配兩層,那么就寫(xiě) / */ * 以此類推。

  • ** :可以匹配URL地址中的多層。

    其中所謂的一層或多層是指一個(gè)URL地址字符串被“/”劃分出來(lái)的各個(gè)層次

3. 類和方法級(jí)別區(qū)別

@RequestMapping 注解可以用于類級(jí)別和方法級(jí)別,它們之間的區(qū)別如下:

  1. 設(shè)置到類級(jí)別:@RequestMapping 注解可以設(shè)置在控制器類上,用于映射整個(gè)控制器的通用請(qǐng)求路徑。這樣,如果控制器中的多個(gè)方法都需要映射同一請(qǐng)求路徑,就不需要在每個(gè)方法上都添加映射路徑。
  2. 設(shè)置到方法級(jí)別:@RequestMapping 注解也可以單獨(dú)設(shè)置在控制器方法上,用于更細(xì)粒度地映射請(qǐng)求路徑和處理方法。當(dāng)多個(gè)方法處理同一個(gè)路徑的不同操作時(shí),可以使用方法級(jí)別的 @RequestMapping 注解進(jìn)行更精細(xì)的映射。
//1.標(biāo)記到handler方法
@RequestMapping("/user/login")
@RequestMapping("/user/register")
@RequestMapping("/user/logout")

//2.優(yōu)化標(biāo)記類+handler方法
//類上
@RequestMapping("/user")
//handler方法上
@RequestMapping("/login")
@RequestMapping("/register")
@RequestMapping("/logout")

下面的寫(xiě)法是等同上面的。當(dāng)類和方法都有映射路徑時(shí),那么一個(gè)方法的完整路徑就是類路徑 + 方法路徑。

4. 附帶請(qǐng)求方式限制

HTTP 協(xié)議定義了八種請(qǐng)求方式,在 SpringMVC 中封裝到了下面這個(gè)枚舉類:

public enum RequestMethod {
  GET, HEAD, POST, PUT, PATCH, DELETE, OPTIONS, TRACE
}

默認(rèn)情況下:@RequestMapping(“/logout”) 任何請(qǐng)求方式都可以訪問(wèn)!

如果需要特定指定:

@Controller
public class UserController {

    /**
     * 精準(zhǔn)設(shè)置訪問(wèn)地址 /user/login
     * method = RequestMethod.POST 可以指定單個(gè)或者多個(gè)請(qǐng)求方式!
     * 注意:違背請(qǐng)求方式會(huì)出現(xiàn)405異常!
     */
    @RequestMapping(value = "/user/login" , method = RequestMethod.POST)
    @ResponseBody
    public String login(){
        System.out.println("UserController.login");
        return "login success!!";
    }

    /**
     * 精準(zhǔn)設(shè)置訪問(wèn)地址 /user/register
     */
    @RequestMapping(value = "/user/register", method = {RequestMethod.POST,RequestMethod.GET})
    @ResponseBody
    public String register(){
        System.out.println("UserController.register");
        return "register success!!";
    }

}

注意:違背請(qǐng)求方式,會(huì)出現(xiàn)405異常?。?!

5. 進(jìn)階注解

還有 @RequestMapping 的 HTTP 方法特定快捷方式變體:

  • @GetMapping 等價(jià)于@RequestMapping(method = {RequestMethod.POST,RequestMethod.GET})
  • @PostMapping等價(jià)于@RequestMapping(method = {RequestMethod.POST,RequestMethod.POST})
  • @PutMapping等價(jià)于@RequestMapping(method = {RequestMethod.POST,RequestMethod.PUT})
  • @DeleteMapping等價(jià)于@RequestMapping(method = {RequestMethod.POST,RequestMethod.DELETE})

注意:進(jìn)階注解只能添加到handler方法上,無(wú)法添加到類上!文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-840473.html

到了這里,關(guān)于SpringMVC訪問(wèn)路徑設(shè)置的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • SpringMVC-2-Spring MVC攔截器詳解:從入門(mén)到精通

    SpringMVC-2-Spring MVC攔截器詳解:從入門(mén)到精通

    能夠編寫(xiě)攔截器并配置攔截器 1.1 攔截器概念和作用 攔截器(Interceptor)是一種動(dòng)態(tài)攔截方法調(diào)用的機(jī)制,在SpringMVC中動(dòng)態(tài)攔截控制器方法的執(zhí)行 作用: 在指定的方法調(diào)用前后執(zhí)行預(yù)先設(shè)定的代碼 阻止原始方法的執(zhí)行 總結(jié):增強(qiáng) 核心原理:AOP思想 1.2 攔截器和過(guò)濾器的區(qū)別

    2024年02月12日
    瀏覽(32)
  • SpringMVC-1-解密Spring MVC:構(gòu)建優(yōu)雅、靈活的Web應(yīng)用的秘訣

    SpringMVC-1-解密Spring MVC:構(gòu)建優(yōu)雅、靈活的Web應(yīng)用的秘訣

    能夠編寫(xiě)SpringMVC入門(mén)案例 了解SpringMVC原理 思考:SpringMVC框架有什么優(yōu)點(diǎn)? SpringMVC是一種基于Java實(shí)現(xiàn)MVC模型的輕量級(jí)Web框架 優(yōu)點(diǎn) 使用簡(jiǎn)單,開(kāi)發(fā)便捷(相比于Servlet) 天然的與Spring框架集成(如IOC容器、AOP等) 請(qǐng)求處理簡(jiǎn)化:支持用戶請(qǐng)求數(shù)據(jù)自動(dòng)映射封裝 響應(yīng)處理簡(jiǎn)化:

    2024年02月12日
    瀏覽(21)
  • SpringMVC訪問(wèn)路徑設(shè)置

    @RequestMapping注解的作用就是將請(qǐng)求的 URL 地址和處理請(qǐng)求的方式(handler方法)關(guān)聯(lián)起來(lái),建立映射關(guān)系。 SpringMVC 接收到指定的請(qǐng)求,就會(huì)來(lái)找到在映射關(guān)系中對(duì)應(yīng)的方法來(lái)處理這個(gè)請(qǐng)求。 在@RequestMapping注解指定 URL 地址時(shí),不使用任何通配符,按照請(qǐng)求地址進(jìn)行精確匹配。

    2024年03月16日
    瀏覽(13)
  • 使用Spring MVC的消息轉(zhuǎn)換器設(shè)置日期格式

    在后端返回給前端的JSON數(shù)據(jù)中含有日期類型的字段時(shí),如何指定該類型的日期的顯示格式。 使用Spring MVC的消息轉(zhuǎn)換器即可。 添加配置類,并繼承 WebMvcConfigurationSupport 類,重寫(xiě) extendMessageConverters 自定義對(duì)象轉(zhuǎn)換器 JacksonObjectMapper ,設(shè)置對(duì)應(yīng)日期類型的轉(zhuǎn)換格式 隨后問(wèn)題將會(huì)

    2024年02月16日
    瀏覽(85)
  • Spring基礎(chǔ)(Web-MVC)——在idea中新建springWeb項(xiàng)目 & 瀏覽器請(qǐng)求 和 服務(wù)器響應(yīng) & SpringMvc文件相關(guān)

    Spring基礎(chǔ)(Web-MVC)——在idea中新建springWeb項(xiàng)目 & 瀏覽器請(qǐng)求 和 服務(wù)器響應(yīng) & SpringMvc文件相關(guān)

    mvc是啥,springMvc是啥,如何搭建springWeb項(xiàng)目, 在springMvc下的request和response怎么發(fā)請(qǐng)求,怎么進(jìn)行響應(yīng)? springMvc處理文件相關(guān):上傳文件,uuid改名,靜態(tài)資源映射,yaml配置路徑,spring配置文件初步; 表現(xiàn)(視圖)層:WEB層,用來(lái)和客戶端進(jìn)行數(shù)據(jù)交互的。 servlet-controller 業(yè)務(wù)層

    2024年02月03日
    瀏覽(60)
  • 73.是否可以把我們所需的Bean都放入Spring-mvc子容器里面來(lái)管理(springmvc的spring-servlet.xml中配置全局掃描)?

    可以 , 因?yàn)楦溉萜鞯捏w現(xiàn)無(wú)非是為了獲取子容器不包含的bean, 如果全部包含在子容器完全用不到父容器了, 所以是可以全部放在springmvc子容器來(lái)管理的。 雖然可以這么做不過(guò)一般應(yīng)該是不推薦這么去做的,一般人也不會(huì)這么干的。如果你的項(xiàng)目里有用到事物、或者aop記得也

    2024年02月21日
    瀏覽(25)
  • 【Java】Spring MVC程序開(kāi)發(fā)

    【Java】Spring MVC程序開(kāi)發(fā)

    Spring Web MVC是基于Servlet API構(gòu)建的原始Web框架,從一開(kāi)始就包含在Spring框架中。它的正式名稱是“Spring Web MVC”來(lái)自其原模塊的名稱,但是它通常被稱為“Spring MVC” 從上述定義我們可以看到兩個(gè)信息: Spring MVC 是一個(gè)Web框架 Spring MVC 是基于Servlet API構(gòu)建的 然而要真正的搞懂S

    2024年01月16日
    瀏覽(26)
  • Java配置方式使用Spring MVC

    Java配置方式使用Spring MVC

    上一節(jié),我們學(xué)習(xí)了如何基于XML配置與注解的方式使用Spring MVC,涉及到三個(gè)XML配置文件:Spring配置文件(spring-config.xml)、Spring MVC配置文件(spring-mvc-config.xml)、Web部署描述文件(web.xml),這一節(jié),我們通過(guò)案例學(xué)習(xí)如何基于Java配置類與注解的方式使用Spring MVC,只有Java配

    2024年02月05日
    瀏覽(15)
  • 【Java EE】關(guān)于Spring MVC 響應(yīng)

    【Java EE】關(guān)于Spring MVC 響應(yīng)

    在博主前面寫(xiě)的博客 【Java EE】Spring請(qǐng)求如何傳遞參數(shù)詳解 中我們已經(jīng)設(shè)置了響應(yīng)數(shù)據(jù),Http響應(yīng)結(jié)果可以是數(shù)據(jù),也可以是靜態(tài)??,也可以針對(duì)響應(yīng)設(shè)置狀態(tài)碼, Header信息等 首先我們像創(chuàng)建一個(gè)靜態(tài)界面,創(chuàng)建位置如下: 前端代碼如下: 不過(guò)這里的后端的代碼和以前的代碼

    2024年04月14日
    瀏覽(24)
  • java spring MVC之RESTful快速開(kāi)發(fā)

    java spring MVC之RESTful快速開(kāi)發(fā)

    我這里有個(gè)一springboot項(xiàng)目 我在啟動(dòng)類同目錄下創(chuàng)建了一個(gè)目錄 目錄名叫 controller 里面有一個(gè)UserController diam結(jié)構(gòu)是這樣的 這是一個(gè)基礎(chǔ)的REST風(fēng)格風(fēng)格開(kāi)發(fā) 但其實(shí) 我們可以很大程度的簡(jiǎn)化 這里 我先啟動(dòng)項(xiàng)目 然后用Postman測(cè)試 這些都是可以正常訪問(wèn) 和 調(diào)用返回的 確認(rèn)無(wú)誤之

    2024年02月05日
    瀏覽(22)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包