類添加注解@RequestMapping報(bào)錯(cuò)HTTP Status 404的解決
類添加注解@RequestMapping報(bào)錯(cuò)HTTP Status 404
為類添加了@RequestMapping注解后,運(yùn)行報(bào)錯(cuò)404,路徑不對(duì),找了半天才發(fā)現(xiàn)原來(lái)是我的視圖解析器的前綴沒(méi)有寫(xiě)正確

在WEB-INF前面少加了一個(gè)/,加上之后運(yùn)行ok
springMVC使用@RequestMapping遇到的問(wèn)題
1.簡(jiǎn)介
@RequestMapping既可以定義Controller,也可以定義方法Controller中的方法,主要是用來(lái)映射url的請(qǐng)求路徑
2.屬性簡(jiǎn)介
value:指定請(qǐng)求的實(shí)際地址,指定的地址可以是URI Template 模式(后面將會(huì)說(shuō)明);method:指定請(qǐng)求的method類型, GET、POST、PUT、DELETE等;consumes:指定處理請(qǐng)求的提交內(nèi)容類型(Content-Type),例如application/json, text/html;produces:指定返回的內(nèi)容類型,僅當(dāng)request請(qǐng)求頭中的(Accept)類型中包含該指定類型才返回params:指定request中必須包含某些參數(shù)值是,才讓該方法處理。headers:指定request中必須包含某些指定的header值,才能讓該方法處理請(qǐng)求。
3.測(cè)試使用時(shí)遇到的問(wèn)題
先看源代碼:
@RequestMapping(value="/api/{wayName}")
public void getData(@PathVariable String wayName,@RequestParam("appkey") int appkey,
@RequestParam("type") int type){
System.out.println("wayName:"+wayName+"--appkey:"+appkey+"--type:"+type);
}
@RequestMapping(value="/test")
public void test(){
System.out.println("test----------commmin");
}
訪問(wèn)/api/test時(shí)報(bào)HTTP Status 404 -錯(cuò)誤,訪問(wèn)/test時(shí)也會(huì)報(bào) HTTP Status 404 -錯(cuò)誤
有時(shí)會(huì)報(bào)Circular view path [list]: would dispatch back to the current handler URL [/list] again錯(cuò)誤
在網(wǎng)上查了資料,了解到每個(gè)controller在初始化,如果你沒(méi)有聲明viewResolver,spring會(huì)注冊(cè)一個(gè)默認(rèn)的viewResolver給controlller,這個(gè)viewResolver本人簡(jiǎn)單的理解就是一個(gè)呈現(xiàn)處理結(jié)果到前端的工具,如果你視圖的路徑和請(qǐng)求路徑一樣,就會(huì)出現(xiàn)死循環(huán)。
或者你如果在你的方法中沒(méi)有返回?cái)?shù)據(jù)到前端,這兩個(gè)錯(cuò)誤都有可能會(huì)出現(xiàn)。
所以最終的解決方法就是返回?cái)?shù)據(jù)到前端
解決后的源碼是
@RequestMapping(value="/api/{wayName}")
@ResponseBody
public String getData(@PathVariable String wayName,@RequestParam("appkey") String appkey,
@RequestParam("type") String type){
return "wayName:"+wayName+"--appkey:"+appkey+"--type:"+type;
}
@RequestMapping(value="/test")
public void test(HttpServletRequest request,HttpServletResponse response) throws IOException{
response.getWriter().print("Hello World");
}
其中@ResponseBody是表示返回的數(shù)據(jù)輸出到輸出流中。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Core Java 簡(jiǎn)單談?wù)凥ashSet(推薦)
下面小編就為大家?guī)?lái)一篇Core Java 簡(jiǎn)單談?wù)凥ashSet(推薦)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-09-09
如何使用IDEA 搭建 SpringCloud 項(xiàng)目
所謂微服務(wù),就是要把整個(gè)業(yè)務(wù)模塊拆分成多個(gè)各司其職的小模塊,做到單一職責(zé)原則,不會(huì)重復(fù)開(kāi)發(fā)相同的業(yè)務(wù)代碼,實(shí)現(xiàn)真正意義上的高內(nèi)聚、低耦合,這篇文章主要介紹了如何使用IDEA 搭建 SpringCloud 項(xiàng)目,需要的朋友可以參考下2023-11-11
java中關(guān)于移位運(yùn)算符的demo與總結(jié)(推薦)
下面小編就為大家?guī)?lái)一篇java中關(guān)于移位運(yùn)算符的demo與總結(jié)(推薦)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-05-05
Java實(shí)現(xiàn)鼠標(biāo)拖放功能的方法
這篇文章主要介紹了Java實(shí)現(xiàn)鼠標(biāo)拖放功能的方法,很實(shí)用的功能,需要的朋友可以參考下2014-07-07
spring boot+jwt實(shí)現(xiàn)api的token認(rèn)證詳解
這篇文章主要給大家介紹了關(guān)于spring boot+jwt實(shí)現(xiàn)api的token認(rèn)證的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一學(xué)習(xí)學(xué)習(xí)吧2018-12-12

