最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Spring?MVC數(shù)據(jù)響應(yīng)處理詳解

 更新時(shí)間:2022年05月24日 12:59:52   作者:郭尕  
這篇文章主要給大家介紹了關(guān)于Spring?MVC數(shù)據(jù)響應(yīng)處理的相關(guān)資料,本教程詳細(xì)的講解SpringMVC框架的使用,非常詳細(xì)的案例講解,一步一步帶你走入springmvc框架的核心,需要的朋友可以參考下

1. 內(nèi)置視圖解析器

Spring MVC 中的視圖解析器負(fù)責(zé)解析視圖,可以通過(guò)在配置文件中定義一個(gè)ViewResolver來(lái)配置視圖解析器,配置如下:

<!--默認(rèn)的內(nèi)置視圖解析器-->
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <!--設(shè)置前綴-->
    <property name="prefix" value="/WEB-INF/templates"/>
    <!--設(shè)置后綴-->
    <property name="suffix" value=".html"/>
</bean>

定義了一個(gè)id為viewResolver的視圖解析器,并設(shè)置了前綴后綴,這樣設(shè)置的好處就是簡(jiǎn)化方法中定義的路徑。在訪問(wèn)視圖解析器是就會(huì)自動(dòng)的增加前綴和后綴。

2. 使用原生servlet的對(duì)象傳遞數(shù)據(jù)

HttpServletRequest:通過(guò)request對(duì)象獲取請(qǐng)求信息

控制器方法:

//使用servlet傳遞數(shù)據(jù)
@RequestMapping("/testServlet")
public String testRequestByServletAPI(HttpServletRequest request){
    request.setAttribute("test","hello,servlet");
    return "success";
}

3. 使用ModelAndView對(duì)象傳輸數(shù)據(jù)

當(dāng)使用modelAndView對(duì)象的時(shí)候,返回值的類(lèi)型也必須是ModelAndView,可以將要跳轉(zhuǎn)的頁(yè)面設(shè)置成view的名稱(chēng),來(lái)完成跳轉(zhuǎn)的功能,同時(shí)數(shù)據(jù)也是放到request域中。

使用方式:

  • 創(chuàng)建ModelAndView對(duì)象
  • 向模型對(duì)象中添加數(shù)據(jù)
  • 設(shè)置邏輯視圖名
  • 返回ModelAndView對(duì)象

控制器方法:

 @RequestMapping("/testModelAndView")
    public ModelAndView testModelAndView(){
        //創(chuàng)建ModelAndView對(duì)象
        ModelAndView mav = new ModelAndView();
        //處理模型數(shù)據(jù),即向請(qǐng)求域request共享數(shù)據(jù)
        mav.addObject("test","Hello ModelAndView");
        //設(shè)置視圖名稱(chēng)
        mav.setViewName("success");
        return mav;
    }

ModelAndView對(duì)象的作用:

將控制器方法中處理的結(jié)果數(shù)據(jù)傳遞到結(jié)果頁(yè)面,也就是把在結(jié)果頁(yè)面上需要的數(shù)據(jù)放到ModelAndView對(duì)象中即可,其作用類(lèi)似于request對(duì)象的setAttribute方法的作用,用來(lái)在一個(gè)請(qǐng)求過(guò)程中傳遞處理的數(shù)據(jù)。

4. 使用Model、Map、ModelMap傳輸數(shù)據(jù)

在SpringMVC中除了可以使用原生servlet的對(duì)象傳遞數(shù)據(jù)之外,還有什么其他的方式呢?
可以在方法的參數(shù)上傳入Model,ModelMap,Map類(lèi)型,此時(shí)都能夠?qū)?shù)據(jù)傳送回頁(yè)面。

控制器方法:

@RequestMapping("/testModel")
public String testModel(Model model){
     model.addAttribute("test","Hello Model");
     return "success";
 }

 @RequestMapping("/testMap")
 public String testMap(Map<String,Object> map){
     map.put("test","Hello Map");
     return "success";
 }

 @RequestMapping("/testModelMap")
 public String testModelMap(ModelMap modelMap){
     modelMap.addAttribute("test","hello modelmap");
     return "success";
 }

如果方法的入?yún)镸ap,Model和ModelMap類(lèi)型,Spring MVC會(huì)將隱含模型的引用傳遞給這些入?yún)?。在方法體內(nèi),開(kāi)發(fā)者可以通過(guò)這個(gè)入?yún)?duì)象訪問(wèn)到模型中的所有數(shù)據(jù),也可以向模型中添加新的屬性數(shù)據(jù),作用類(lèi)似于request對(duì)象的setAttribute方法的作用: 用來(lái)在一個(gè)請(qǐng)求過(guò)程中傳遞處理的數(shù)據(jù)。

三者之間的關(guān)系:

  • Map為原生的儲(chǔ)存鍵值的對(duì)象,里面很多的方法可以使用;
  • Model 只有寥寥幾個(gè)方法只適合用于儲(chǔ)存數(shù)據(jù),簡(jiǎn)化了新手對(duì)于Model對(duì)象的操作和理解;
  • ModelMap 繼承了 LinkedMap ,除了實(shí)現(xiàn)了自身的一些方法,同樣的繼承 LinkedMap 的方法和特性;
  • Map、Model、ModelMap的底層都是使用BindingAwareModelMap。
  • Map、Model和ModelMap返回的是地址路徑

5. 使用session傳輸數(shù)據(jù)

HttpSession:通過(guò)session對(duì)象得到session中存儲(chǔ)的對(duì)象

控制器方法

//向session域共享數(shù)據(jù)
@RequestMapping("/testSession")
 public String testSession(HttpSession httpSession){
     httpSession.setAttribute("testSessionScope","hello session");
     return "success";
 }

 //向application域共享數(shù)據(jù)
 @RequestMapping("/testApplication")
 public String testApplication(HttpSession session){
     ServletContext servletContext = session.getServletContext();
     servletContext.setAttribute("testApplicationScope","hello application");
     return "success";
 }

總結(jié)

到此這篇關(guān)于Spring MVC數(shù)據(jù)響應(yīng)處理的文章就介紹到這了,更多相關(guān)Spring MVC響應(yīng)處理內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • springboot定時(shí)任務(wù)不起作用問(wèn)題及解決

    springboot定時(shí)任務(wù)不起作用問(wèn)題及解決

    文章主要介紹了Spring Boot中延遲加載bean的概念,并討論了如何解決定時(shí)任務(wù)不執(zhí)行的問(wèn)題,通過(guò)設(shè)置`@Lazy(false)`注解,可以指定某些類(lèi)不使用延遲加載,從而解決定時(shí)任務(wù)無(wú)法執(zhí)行的問(wèn)題
    2024-11-11
  • 解決Spring使用@MapperScan問(wèn)題

    解決Spring使用@MapperScan問(wèn)題

    這篇文章主要介紹了解決Spring使用@MapperScan問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • Spring?Boot?3?整合?MinIO?實(shí)現(xiàn)分布式文件存儲(chǔ)的全過(guò)程

    Spring?Boot?3?整合?MinIO?實(shí)現(xiàn)分布式文件存儲(chǔ)的全過(guò)程

    本文介紹了如何使用SpringBoot3和MinIO實(shí)現(xiàn)分布式文件存儲(chǔ),通過(guò)MinIO的分布式對(duì)象存儲(chǔ)系統(tǒng),可以解決傳統(tǒng)單機(jī)文件存儲(chǔ)方案在面對(duì)大規(guī)模數(shù)據(jù)和高并發(fā)訪問(wèn)時(shí)的不足,文章詳細(xì)講解了MinIO的安裝、配置和使用,感興趣的朋友一起看看吧
    2025-03-03
  • jboss( WildFly)上運(yùn)行 springboot程序的步驟詳解

    jboss( WildFly)上運(yùn)行 springboot程序的步驟詳解

    這篇文章主要介紹了jboss( WildFly)上運(yùn)行 springboot程序的步驟詳解,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-02-02
  • 在SpringBoot中使用@Value注解來(lái)設(shè)置默認(rèn)值的方法

    在SpringBoot中使用@Value注解來(lái)設(shè)置默認(rèn)值的方法

    Spring Boot提供了一種使用注解設(shè)置默認(rèn)值的方式,即使用 @Value 注解,下面這篇文章主要給大家介紹了關(guān)于如何在SpringBoot中使用@Value注解來(lái)設(shè)置默認(rèn)值的相關(guān)資料,需要的朋友可以參考下
    2023-10-10
  • 關(guān)于JWT之token令牌認(rèn)證登錄

    關(guān)于JWT之token令牌認(rèn)證登錄

    這篇文章主要介紹了關(guān)于JWT之token令牌認(rèn)證登錄,使用JWT能夠保證Token的安全性,且能夠進(jìn)行Token時(shí)效性的檢驗(yàn),使用JWT時(shí),登錄成功后將用戶(hù)信息生成一串令牌字符串,需要的朋友可以參考下
    2023-05-05
  • Linux下Java環(huán)境變量的安裝與配置

    Linux下Java環(huán)境變量的安裝與配置

    這篇文章給大家介紹了Linux下Java環(huán)境變量的安裝與配置,本文以jdk1.6.0_43為例,給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2018-07-07
  • mybatis如何實(shí)現(xiàn)繼承映射

    mybatis如何實(shí)現(xiàn)繼承映射

    這篇文章主要介紹了mybatis如何實(shí)現(xiàn)繼承映射的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • IDEA教程之Activiti插件圖文詳解

    IDEA教程之Activiti插件圖文詳解

    這篇文章主要介紹了IDEA教程之Activiti插件圖文詳解,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12
  • java實(shí)現(xiàn)Fibonacci算法實(shí)例

    java實(shí)現(xiàn)Fibonacci算法實(shí)例

    這篇文章主要介紹了java實(shí)現(xiàn)Fibonacci算法的方法,以實(shí)例形式較為詳細(xì)的分析了java實(shí)現(xiàn)Fibonacci算法的原理與相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-09-09

最新評(píng)論

新巴尔虎右旗| 武威市| 永宁县| 牙克石市| 孙吴县| 长沙县| 济阳县| 彩票| 涟源市| 庆元县| 尖扎县| 鹤峰县| 临西县| 延津县| 永登县| 沁源县| 福泉市| 孟村| 循化| 文昌市| 大化| 普安县| 阿克陶县| 景洪市| 宽甸| 壤塘县| 皮山县| 保亭| 新龙县| 桐城市| 长葛市| 福鼎市| 湖南省| 东乌珠穆沁旗| 九台市| 金寨县| 南陵县| 瑞丽市| 师宗县| 凭祥市| 钟山县|