Java Spring Controller 獲取請(qǐng)求參數(shù)的幾種方法詳解
Java Spring Controller 獲取請(qǐng)求參數(shù)的幾種方法
1、直接把表單的參數(shù)寫(xiě)在Controller相應(yīng)的方法的形參中,適用于get方式提交,不適用于post方式提交。若"Content-Type"="application/x-www-form-urlencoded",可用post提交
url形式:http://localhost:8080/SSMDemo/demo/addUser1?username=lixiaoxi&password=111111 提交的參數(shù)需要和Controller方法中的入?yún)⒚Q(chēng)一致。
/** * 1.直接把表單的參數(shù)寫(xiě)在Controller相應(yīng)的方法的形參中 * @param username * @param password * @return */ @RequestMapping("/addUser1") public String addUser1(String username,String password) { System.out.println("username is:"+username); System.out.println("password is:"+password); return "demo/index"; }
2、通過(guò)HttpServletRequest接收,post方式和get方式都可以。
/** * 2、通過(guò)HttpServletRequest接收 * @param request * @return */ @RequestMapping("/addUser2") public String addUser2(HttpServletRequest request) { String username=request.getParameter("username"); String password=request.getParameter("password"); System.out.println("username is:"+username); System.out.println("password is:"+password); return "demo/index"; }
3、通過(guò)一個(gè)bean來(lái)接收,post方式和get方式都可以。
/** * 3、通過(guò)一個(gè)bean來(lái)接收 * @param user * @return */ @RequestMapping("/addUser3") public String addUser3(UserModel user) { System.out.println("username is:"+user.getUsername()); System.out.println("password is:"+user.getPassword()); return "demo/index"; }
4、使用@ModelAttribute注解獲取POST請(qǐng)求的FORM表單數(shù)據(jù)
/** * 4、使用@ModelAttribute注解獲取POST請(qǐng)求的FORM表單數(shù)據(jù) * @param user * @return */ @RequestMapping(value="/addUser5",method=RequestMethod.POST) public String addUser5(@ModelAttribute("user") UserModel user) { System.out.println("username is:"+user.getUsername()); System.out.println("password is:"+user.getPassword()); return "demo/index"; }
5、用注解@RequestParam綁定請(qǐng)求參數(shù)到方法入?yún)?nbsp;
當(dāng)請(qǐng)求參數(shù)username不存在時(shí)會(huì)有異常發(fā)生,可以通過(guò)設(shè)置屬性required=false解決,例如:
@RequestParam(value="username", required=false) **** 若"Content-Type"="application/x-www-form-urlencoded",post get都可以 **** 若"Content-Type"="application/application/json",只適用get /** * 5、用注解@RequestParam綁定請(qǐng)求參數(shù)到方法入?yún)? * @param username * @param password * @return */ @RequestMapping(value="/addUser6",method=RequestMethod.GET) public String addUser6(@RequestParam("username") String username,@RequestParam("password") String password) { System.out.println("username is:"+username); System.out.println("password is:"+password); return "demo/index"; }
6、用request.getQueryString() 獲取spring MVC get請(qǐng)求的參數(shù),只適用get請(qǐng)求
@RequestMapping(value="/addUser6",method=RequestMethod.GET) public String addUser6(HttpServletRequest request) { System.out.println("username is:"+request.getQueryString()); return "demo/index"; }
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
- Java中的HttpServletRequestWrapper用法解析
- Java中的HttpServletRequest接口詳細(xì)解讀
- Java獲取HttpServletRequest的三種方法詳解
- Java service層獲取HttpServletRequest工具類(lèi)的方法
- java通過(guò)HttpServletRequest獲取post請(qǐng)求中的body內(nèi)容的方法
- java HttpServletRequest和HttpServletResponse詳解
- java接口返回參數(shù)按照請(qǐng)求參數(shù)進(jìn)行排序方式
- Java如何獲取HttpServletRequest請(qǐng)求參數(shù)
相關(guān)文章
JavaWeb?Servlet實(shí)現(xiàn)文件上傳與下載功能實(shí)例
因自己負(fù)責(zé)的項(xiàng)目中需要實(shí)現(xiàn)文件上傳,所以下面下面這篇文章主要給大家介紹了關(guān)于JavaWeb?Servlet實(shí)現(xiàn)文件上傳與下載功能的相關(guān)資料,需要的朋友可以參考下2022-04-04mybatis plus or and 的合并寫(xiě)法實(shí)例
這篇文章主要介紹了mybatis plus or and 的合并寫(xiě)法實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-02-02k8s部署java項(xiàng)目的實(shí)現(xiàn)
本文主要介紹了k8s部署java項(xiàng)目的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-12-12java http token請(qǐng)求代碼實(shí)例
這篇文章主要介紹了java http token請(qǐng)求,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03java實(shí)現(xiàn)http請(qǐng)求工具類(lèi)示例
這篇文章主要介紹了java實(shí)現(xiàn)http請(qǐng)求工具類(lèi)示例,需要的朋友可以參考下2014-05-05Mybatis使用注解實(shí)現(xiàn)復(fù)雜動(dòng)態(tài)SQL的方法詳解
當(dāng)使用 MyBatis 注解方式執(zhí)行復(fù)雜 SQL 時(shí),你可以使用 @Select、@Update、@Insert、@Delete 注解直接在接口方法上編寫(xiě) SQL,本文給大家介紹了Mybatis如何使用注解實(shí)現(xiàn)復(fù)雜動(dòng)態(tài)SQL,文中有相關(guān)的代碼示例供大家參考,需要的朋友可以參考下2023-12-12解決mybatis?update并非所有字段需要更新問(wèn)題
這篇文章主要介紹了解決mybatis?update并非所有字段需要更新問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11