中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

上海發(fā)布公眾號app核心關(guān)鍵詞如何優(yōu)化

上海發(fā)布公眾號app,核心關(guān)鍵詞如何優(yōu)化,wordpress 值班功能,邢臺微商城制作設(shè)計SpringMvc進(jìn)階 SpringMVC引言一、常用注解二、參數(shù)傳遞三、返回值 SpringMVC引言 在Web應(yīng)用程序開發(fā)中,Spring MVC是一種常用的框架,它基于MVC(Model-View-Controller)模式,提供了一種結(jié)構(gòu)化的方式來構(gòu)建可維護(hù)和可擴…

SpringMvc進(jìn)階

  • SpringMVC引言
  • 一、常用注解
  • 二、參數(shù)傳遞
  • 三、返回值

SpringMVC引言

在Web應(yīng)用程序開發(fā)中,Spring MVC是一種常用的框架,它基于MVC(Model-View-Controller)模式,提供了一種結(jié)構(gòu)化的方式來構(gòu)建可維護(hù)和可擴展的應(yīng)用程序。本文將介紹Spring MVC框架的基礎(chǔ)知識和常用注解,以及參數(shù)傳遞、返回值處理和頁面跳轉(zhuǎn)等相關(guān)內(nèi)容。

一、常用注解

1.1. @RequestMapping

@RequestMapping注解用于將HTTP請求映射到控制器方法上,通過指定URL路徑和請求的方法類型來定義請求的處理。這是一個非常常用的注解,它可以靈活地匹配多種URL路徑和請求方法,為控制器方法提供請求映射規(guī)則。

@RequestMapping("/hello1")public String index(String bname,Integer bid ){
//        System.out.println("hello springMvc..");log.info("簡單類型參數(shù):bname:{},bid{}",bname,bid);return "index";}

在這里插入圖片描述

1.2. @RequestParam

@RequestParam注解用于獲取請求參數(shù)的值,可以指定參數(shù)名和默認(rèn)值。它可以用于獲取基本類型和包裝類的參數(shù),并支持參數(shù)的必填和可選設(shè)置。通過@RequestParam注解,我們可以方便地獲取和處理請求中的參數(shù)數(shù)據(jù)。

  @RequestMapping("/hello3")public String hello3(@RequestParam String bname,@RequestParam(required = false) Integer bid){
//        System.out.println("hello springMvc..");log.info("@requestParam:bname:{},bid{}",bname,bid);return "index";};

在這里插入圖片描述

1.3. @RequestBody

@RequestBody注解用于接收請求體的數(shù)據(jù),并將其轉(zhuǎn)換為對應(yīng)的Java對象。通常在處理POST請求時使用,通過該注解,我們可以簡化獲取請求體數(shù)據(jù)的過程,直接將數(shù)據(jù)轉(zhuǎn)換為Java對象,方便后續(xù)的業(yè)務(wù)處理。

 @RequestMapping("/hello4/{bid}")public String hello4(@PathVariable("bid") Integer bid){
//        System.out.println("hello springMvc..");log.info("@PathVariable:bname:{},bid{}",bid);return "index";}

在這里插入圖片描述

1.4. @RequestHeader

@RequestHeader注解用于獲取請求頭的值,可以指定頭部名稱和默認(rèn)值。通過該注解,我們可以方便地獲取請求中的頭部信息,并根據(jù)需要進(jìn)行相應(yīng)的處理。例如,可以獲取用戶的認(rèn)證信息、瀏覽器類型等數(shù)據(jù)。

@RequestMapping("/hello7")public String hello7( @RequestHeader("jwt") String jwt){
//        System.out.println("hello springMvc..");log.info("@RequestHeader:jwt:{}",jwt);return "index";};

在這里插入圖片描述

二、參數(shù)傳遞

在Spring MVC中,控制器方法可以接收不同類型的參數(shù),包括基礎(chǔ)類型、字符串、復(fù)雜類型等。

2.1. 基礎(chǔ)類型+String

控制器方法可以直接將基本類型和字符串作為參數(shù),Spring MVC會自動進(jìn)行類型轉(zhuǎn)換。例如,可以直接傳遞整型、字符型、布爾型等參數(shù),并在方法中進(jìn)行相應(yīng)的業(yè)務(wù)處理。

 @ResponseBody@RequestMapping("/hello2")public  Map hello2(HttpServletResponse response) throws Exception {Map<String,Object>map=new HashMap<>();map.put("code",200);map.put("msg","成功添加");
return map;}

在這里插入圖片描述

2.2. 復(fù)雜類型

如果請求中包含復(fù)雜的參數(shù)結(jié)構(gòu),我們可以定義一個與之對應(yīng)的Java類,并將其作為控制器方法的參數(shù)。Spring MVC將自動將請求參數(shù)映射到該Java對象的屬性上,提供了一種方便的方式來處理復(fù)雜的參數(shù)傳遞。

 @RequestMapping("/hello2")public String index(Book book, HttpServletRequest request){
//        System.out.println("hello springMvc..");log.info("復(fù)雜類型參數(shù):bname:{},bid{}",request.getParameter("bname"),request.getParameter("bid"));log.info("復(fù)雜類型參數(shù):bname:{},bid{}",book.toString());return "index";}

在這里插入圖片描述

2.3. @RequestParam

使用@RequestParam注解可以獲取請求參數(shù)的值,可以指定參數(shù)名和默認(rèn)值。這個注解適用于獲取單個參數(shù)的值,可以用于基本類型、字符串等參數(shù)的獲取。

 @RequestMapping("/hello3")public String hello3(@RequestParam String bname,@RequestParam(required = false) Integer bid){
//        System.out.println("hello springMvc..");log.info("@requestParam:bname:{},bid{}",bname,bid);return "index";};

2.4. @PathVariable

使用@PathVariable注解可以獲取URL路徑中的變量值,將路徑變量綁定到方法參數(shù)上。這個注解適用于RESTful風(fēng)格的URL處理,可以方便地獲取URL中的動態(tài)參數(shù)。

@RequestMapping("/hello4/{bid}")public String hello4(@PathVariable("bid") Integer bid){
//        System.out.println("hello springMvc..");log.info("@PathVariable:bname:{},bid{}",bid);return "index";};

2.5. @RequestBody

使用@RequestBody注解可以將請求體的數(shù)據(jù)轉(zhuǎn)換為對應(yīng)的Java對象,并作為方法的參數(shù)。通過該注解,我們可以直接獲取請求體中的數(shù)據(jù),并進(jìn)行后續(xù)的業(yè)務(wù)處理。

  @RequestMapping("/hello6")public String hello6( @RequestBody Map map){
//        System.out.println("hello springMvc..");log.info("@RequestBody:map:{}",map);return "index";};

2.6. @RequestHeader

使用@RequestHeader注解可以獲取請求頭的值,可以指定頭部名稱和默認(rèn)值。通過該注解,我們可以方便地獲取請求頭中的信息,并根據(jù)需要進(jìn)行相應(yīng)的處理。

  @RequestMapping("/hello7")public String hello7( @RequestHeader("jwt") String jwt){
//        System.out.println("hello springMvc..");log.info("@RequestHeader:jwt:{}",jwt);return "index";};

三、返回值

在Spring MVC中,控制器方法可以返回不同類型的值作為響應(yīng)結(jié)果,根據(jù)業(yè)務(wù)需求選擇合適的返回類型。

3.1. void

如果控制器方法返回值為void,則表示該方法沒有返回值。這種情況下,通常是直接向客戶端寫入數(shù)據(jù)或者通過其他方式進(jìn)行響應(yīng)處理。

 public  void hello1(HttpServletResponse response) throws Exception {Map<String,Object>map=new HashMap<>();map.put("code",200);map.put("msg","成功添加");ResponseUtil.writeJson(response,map);};

3.2. String

控制器方法可以返回一個字符串作為響應(yīng)結(jié)果,這個字符串可以表示視圖的名稱或者響應(yīng)的內(nèi)容。當(dāng)返回視圖名稱時,Spring MVC會根據(jù)視圖解析器的配置找到對應(yīng)的視圖并渲染返回給客戶端。

 @ResponseBody@RequestMapping("/hello2")public  Map hello2(HttpServletResponse response) throws Exception {Map<String,Object>map=new HashMap<>();map.put("code",200);map.put("msg","成功添加");
return map;};

3.3. String+Model

控制器方法可以返回一個字符串和一個Model對象。這種情況下,字符串表示視圖的名稱,而Model對象用于在視圖中傳遞數(shù)據(jù)。通過Model對象,我們可以將數(shù)據(jù)傳遞到視圖中進(jìn)行展示或者其他業(yè)務(wù)處理。

@RequestMapping("/hello4")public  String hello4(Model model, HttpServletRequest request) throws Exception {
model.addAttribute("currentName","鴨");request.setAttribute("location","雞");return "index";};

3.4. ModelAndView

控制器方法可以返回一個ModelAndView對象,它包含了視圖名稱和數(shù)據(jù)模型。ModelAndView是一種更加靈活的方式來處理視圖和數(shù)據(jù)的傳遞,可以同時指定視圖名稱和數(shù)據(jù)模型,并在需要的時候進(jìn)行相應(yīng)的操作。

 @RequestMapping("/hello5")public ModelAndView hello5(Model model, HttpServletRequest request) throws Exception {ModelAndView mv=new ModelAndView();mv.addObject("sign","h");
mv.setViewName("index");return mv;};

四、頁面跳轉(zhuǎn)
在Spring MVC中,頁面跳轉(zhuǎn)可以通過轉(zhuǎn)發(fā)(forward)或重定向(redirect)來實現(xiàn)。

@RequestMapping("/hello6")public String hello6() throws Exception {System.out.println("hello6");return "forward:hello2";};

4.1. 轉(zhuǎn)發(fā)(forward)

使用請求轉(zhuǎn)發(fā)將請求發(fā)送到另一個URL路徑上進(jìn)行處理,客戶端的URL地址不會變化。這種方式適用于不同請求之間的跳轉(zhuǎn)和處理,可以共享請求的上下文數(shù)據(jù)。

 @RequestMapping("/hello7")public String hello7() throws Exception {System.out.println("hello6");return "forward:/param//hello1";};

4.2. 重定向(redirect)

使用重定向?qū)⒄埱蟀l(fā)送到另一個URL路徑上進(jìn)行處理,客戶端的URL地址會改變。這種方式適用于不同請求之間的跳轉(zhuǎn)和處理,可以避免表單重復(fù)提交等問題。

 @RequestMapping("/hello9")public String hello9() throws Exception {System.out.println("hello6");return "redirect:/param//hello1";};

總結(jié):

本文介紹了Spring MVC框架的基礎(chǔ)知識和常用注解,以及參數(shù)傳遞、返回值處理和頁面跳轉(zhuǎn)等相關(guān)內(nèi)容。掌握了這些知識,我們可以更加靈活地開發(fā)Web應(yīng)用程序,實現(xiàn)不同功能和業(yè)務(wù)需求。在后續(xù)的文章中,我們將深入討論Spring MVC的更多特性和用法,幫助讀者更好地理解和應(yīng)用該框架。

http://www.risenshineclean.com/news/5930.html

相關(guān)文章:

  • 做網(wǎng)站虛擬主機和云服務(wù)器會計培訓(xùn)機構(gòu)排名前十
  • wordpress頁面和文章的區(qū)別seo基本步驟
  • 大尺度做爰網(wǎng)站在線廈門百度競價推廣
  • 網(wǎng)站建設(shè)推廣有用嗎網(wǎng)推平臺
  • 微型營銷網(wǎng)站制作谷歌推廣費用多少
  • 棋牌類網(wǎng)站設(shè)計建設(shè)合肥網(wǎng)絡(luò)推廣網(wǎng)絡(luò)運營
  • 大冶專業(yè)建站公司免費做網(wǎng)站怎么做網(wǎng)站鏈接
  • 網(wǎng)站備案登記查詢系統(tǒng)刷seo關(guān)鍵詞排名軟件
  • web網(wǎng)站開發(fā)用什么關(guān)鍵字挖掘機愛站網(wǎng)
  • wordpress 標(biāo)題字體簡述搜索引擎優(yōu)化
  • 長沙微網(wǎng)站電話號碼成都seo專家
  • 公司變更股權(quán)怎么辦理北京廈門網(wǎng)站優(yōu)化
  • tab導(dǎo)航 wordpressseo托管服務(wù)
  • wordpress .seo怎樣
  • 網(wǎng)站建設(shè)工具 hbuild互聯(lián)網(wǎng)營銷師題庫
  • 網(wǎng)站平面設(shè)計培訓(xùn)百度網(wǎng)站提交入口網(wǎng)址
  • 湖北中英雙語網(wǎng)站建設(shè)seo優(yōu)化公司
  • 制作免費網(wǎng)站的平臺百度快照有什么用
  • 網(wǎng)站設(shè)置訪問密碼達(dá)內(nèi)教育
  • 美塔基500元做網(wǎng)站可信嗎如何做網(wǎng)站
  • 做任務(wù)什么網(wǎng)站賀州seo
  • 今日中國疫情最新消息數(shù)據(jù)平板電視seo優(yōu)化關(guān)鍵詞
  • 用戶界面設(shè)計包括seo培訓(xùn)機構(gòu)排名
  • 網(wǎng)絡(luò)服務(wù)商英文seo優(yōu)化網(wǎng)站優(yōu)化排名
  • 杭州高端網(wǎng)站網(wǎng)站seo排名免費咨詢
  • 山東建設(shè)網(wǎng)站首頁建網(wǎng)站多少錢
  • 深圳網(wǎng)站開發(fā)公司寶網(wǎng)seo外包優(yōu)化公司
  • 網(wǎng)站 意義百度查重入口
  • 汽車網(wǎng)站頁面設(shè)計雅虎搜索引擎中文版
  • 浙江省人才網(wǎng)官方網(wǎng)站建設(shè)廳招聘企業(yè)網(wǎng)站有哪些功能