亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

解決SpringMVC @RequestMapping不設(shè)置value出現(xiàn)的問題

 更新時間:2021年08月17日 09:34:28   作者:不會Ayy的拉馬爾  
這篇文章主要介紹了解決SpringMVC @RequestMapping不設(shè)置value出現(xiàn)的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

SpringMVC @RequestMapping不設(shè)置value

從上個項目拷貝過來的form的action屬性忘了修改了

在controller上沒有設(shè)置@RequestMapping,方法上設(shè)置了但忘記設(shè)置value值,沒想到還是能訪問到,弄拙成巧,讓我發(fā)現(xiàn)了這個問題

本以為會默認按照方法名來訪問,當(dāng)我修改方法名后依然能訪問到

猜想會以表單字段和參數(shù)列表的對應(yīng)關(guān)系來訪問,修改后依然能訪問到

因為我這個項目所有的controller的命名空間沒有一個是“account”,所以猜想當(dāng)SpringMVC無法匹配到對應(yīng)的controller時會訪問@RequestMapping沒有配置value的方法, 于是新建一個Controller類,也是只在方法上配置了一個沒有設(shè)置value的@RequestMapping,

這時啟動tomcat報錯:

Caused by: java.lang.IllegalStateException: Ambiguous mapping found. Cannot map 'testController' bean method
public java.lang.String com.ld.controller.TestController.login(java.lang.String,java.lang.String,java.lang.String,javax.servlet.http.HttpServletRequest)
to {[]}: There is already 'loginController' bean method
public java.lang.String com.ld.controller.LoginController.login(java.lang.String,java.lang.String,java.lang.String,javax.servlet.http.HttpServletRequest) mapped.
 at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.registerHandlerMethod(AbstractHandlerMethodMapping.java:212)
 at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.detectHandlerMethods(AbstractHandlerMethodMapping.java:184)
 at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.initHandlerMethods(AbstractHandlerMethodMapping.java:144)
 at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.afterPropertiesSet(AbstractHandlerMethodMapping.java:123)
 at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping.afterPropertiesSet(RequestMappingHandlerMapping.java:126)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1633)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1570)
 ... 36 more

說明猜想正確,兩個controller沖突了

后經(jīng)測試,當(dāng)@RequestMapping設(shè)置method屬性,如一個方法上設(shè)置為GET,另一個設(shè)置為POST,http請求的方式不同,不會沖突,會找到對應(yīng)的方法執(zhí)行。

Spring mvc中@RequestMapping 6個基本用法小結(jié)

小結(jié)下spring mvc中的@RequestMapping的用法

1、最基本的,方法級別上應(yīng)用

例如:

@RequestMapping(value="/departments")  
public String simplePattern(){ 
  System.out.println("simplePattern method was called");  
  return "someResult"; 
}  

則訪問http://localhost/xxxx/departments的時候,會調(diào)用 simplePattern方法了

2、參數(shù)綁定

@RequestMapping(value="/departments")  
public String findDepatment(  
  @RequestParam("departmentId") String departmentId){ 
    System.out.println("Find department with ID: " + departmentId);  
    return "someResult";  
}  

形如這樣的訪問形式:

/departments?departmentId=23就可以觸發(fā)訪問findDepatment方法了

3、REST風(fēng)格的參數(shù)

@RequestMapping(value="/departments/{departmentId}")  
public String findDepatment(@PathVariable String departmentId){  
  System.out.println("Find department with ID: " + departmentId);  
  return "someResult";    
}  

形如REST風(fēng)格的地址訪問,比如:

/departments/23,其中用(@PathVariable接收rest風(fēng)格的參數(shù)

4、REST風(fēng)格的參數(shù)綁定形式之2

先看例子,這個有點象之前的:

@RequestMapping(value="/departments/{departmentId}")  
public String findDepatmentAlternative(  
  @PathVariable("departmentId") String someDepartmentId){  
    System.out.println("Find department with ID: " + someDepartmentId);  
    return "someResult";  
}  

這個有點不同,就是接收形如/departments/23的URL訪問,把23作為傳入的departmetnId,,但是在實際的方法findDepatmentAlternative中,使用

@PathVariable("departmentId") String someDepartmentId

將其綁定為 someDepartmentId,所以這里someDepartmentId為23

5、url中同時綁定多個id

@RequestMapping(value="/departments/{departmentId}/employees/{employeeId}")  
public String findEmployee(  
  @PathVariable String departmentId,  
  @PathVariable String employeeId){  
    System.out.println("Find employee with ID: " + employeeId +   
      " from department: " + departmentId);  
    return "someResult";  
}  

這個其實也比較好理解了。

6、支持正則表達式

@RequestMapping(value="/{textualPart:[a-z-]+}.{numericPart:[\\d]+}")  
public String regularExpression(  
  @PathVariable String textualPart,  
  @PathVariable String numericPart){  
    System.out.println("Textual part: " + textualPart +   
      ", numeric part: " + numericPart);  
    return "someResult";  
}  

比如如下的URL:/sometext.123,則輸出:

Textual part: sometext, numeric part: 123.

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 關(guān)于QueryWrapper,實現(xiàn)MybatisPlus多表關(guān)聯(lián)查詢方式

    關(guān)于QueryWrapper,實現(xiàn)MybatisPlus多表關(guān)聯(lián)查詢方式

    這篇文章主要介紹了關(guān)于QueryWrapper,實現(xiàn)MybatisPlus多表關(guān)聯(lián)查詢方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教。
    2022-01-01
  • SpringBoot項目War包部署無法注冊到Nacos中的解決

    SpringBoot項目War包部署無法注冊到Nacos中的解決

    這篇文章主要介紹了SpringBoot項目War包部署無法注冊到Nacos中的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • Java延遲隊列原理與用法實例詳解

    Java延遲隊列原理與用法實例詳解

    這篇文章主要介紹了Java延遲隊列原理與用法,結(jié)合實例形式詳細分析了延遲隊列的概念、原理、功能及具體使用方法,需要的朋友可以參考下
    2018-09-09
  • 使用jpa的實體對象轉(zhuǎn)json符串時懶加載的問題及解決

    使用jpa的實體對象轉(zhuǎn)json符串時懶加載的問題及解決

    這篇文章主要介紹了使用jpa的實體對象轉(zhuǎn)json符串時懶加載的問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • springAOP完整實現(xiàn)過程

    springAOP完整實現(xiàn)過程

    當(dāng)你調(diào)用SimpleService類的doSomething方法時,上述的PerformanceAspect會自動攔截此調(diào)用,并且記錄該方法的執(zhí)行時間,這樣你就完成了一個針對Spring的AOP入門級案例,感興趣的朋友一起看看吧
    2024-02-02
  • RabbitMQ的基礎(chǔ)知識

    RabbitMQ的基礎(chǔ)知識

    本文詳細介紹了RabbitMQ的基礎(chǔ)知識,通過本文,我們可以了解到MQ工作原理、交換機等相關(guān)知識,有需要的朋友可以參考一下
    2021-08-08
  • Java實現(xiàn)企業(yè)微信回調(diào)配置的詳細步驟與測試

    Java實現(xiàn)企業(yè)微信回調(diào)配置的詳細步驟與測試

    這篇文章主要給大家介紹了關(guān)于Java實現(xiàn)企業(yè)微信回調(diào)配置的詳細步驟與測試,企業(yè)微信回調(diào)是指企業(yè)微信通過HTTP?POST請求將業(yè)務(wù)數(shù)據(jù)回調(diào)到指定的URL上,文中給出了詳細的代碼示例,需要的朋友可以參考下
    2023-09-09
  • maven打包如何指定jdk的版本

    maven打包如何指定jdk的版本

    這篇文章主要介紹了maven打包如何指定jdk的版本問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • 解決springboot生成bean名稱沖突(AnnotationBeanNameGenerator)

    解決springboot生成bean名稱沖突(AnnotationBeanNameGenerator)

    這篇文章主要介紹了解決springboot生成bean名稱沖突(AnnotationBeanNameGenerator),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • Redis Java Lettuce驅(qū)動框架原理解析

    Redis Java Lettuce驅(qū)動框架原理解析

    這篇文章主要介紹了Redis Java Lettuce驅(qū)動框架原理解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-12-12

最新評論