(续)SSM整合之springmvc笔记(域对象共享数据)(P136-138)
创始人
2024-04-09 13:34:55

目录

一  使用ServletAPI向request域对象共享数据

二  使用ModelAndView向request域对象共享数据

1   新建TestScopeController

2  index.html

3  书写TestScopeController

4  success.html

5   测试 

三  使用Model向request域对象共享数据

1  index.html

 2    TestScopeController

四  使用map向request域对象共享数据

1 . index.html

 2    TestScopeController

3   测试

五  使用ModelMap向request域对象共享数据

1 . index.html

 2    TestScopeController

3   测试

六   Model、ModelMap、Map的关系

七   向session域共享数据

八   向application域共享数据

1 . index.html

2    TestScopeController

3 .success.html

 4 测试


一  使用ServletAPIrequest域对象共享数据

@RequestMapping("/testServletAPI")
public String testServletAPI(HttpServletRequest request){
request.setAttribute("testScope", "hello,servletAPI");
return "success";
}

二  使用ModelAndViewrequest域对象共享数据

1   新建TestScopeController

2  index.html

测试通过ModelAndView向请求域共享数据

3  书写TestScopeController


/*
*  * 向域对象共享数据:* 1、通过ModelAndView向请求域共享数据* 使用ModelAndView时,可以使用其Model功能向请求域共享数据* 使用View功能设置逻辑视图,但是控制器方法一定要将ModelAndView作为方法的返回值
* */@Controller
public class TestScopeController {@RequestMapping("/test/mav")public ModelAndView testMAV(){/*** ModelAndView包含Model和View的功能* Model:向请求域中共享数据* View:设置逻辑视图实现页面跳转*/ModelAndView mav = new ModelAndView();//向请求域中共享数据mav.addObject("testRequestScope", "hello,ModelAndView");//设置逻辑视图mav.setViewName("success");return mav;}
}

4  success.html



首页


success.html

5   测试 

 

 总结 :

  向域对象共享数据:1、通过ModelAndView向请求域共享数据使用ModelAndView时,可以使用其Model功能向请求域共享数据使用View功能设置逻辑视图,但是控制器方法一定要将ModelAndView作为方法的返回值

三  使用Modelrequest域对象共享数据

1  index.html

测试通过Model向请求域共享数据

 2    TestScopeController

    /* 2、使用Model向请求域共享数据 */@RequestMapping("/test/model")public String testModel(Model model){//org.springframework.validation.support.BindingAwareModelMapSystem.out.println(model.getClass().getName());model.addAttribute("testRequestScope", "hello,Model");return "success";}

3    测试

 

四  使用maprequest域对象共享数据

1 . index.html

测试通过map向请求域共享数据

 2    TestScopeController

     /*4、使用map向请求域共享数据*/@RequestMapping("/test/map")public String testMap(Map map){//org.springframework.validation.support.BindingAwareModelMapSystem.out.println(map.getClass().getName());map.put("testRequestScope", "hello,map");return "success";}

3   测试

五  使用ModelMaprequest域对象共享数据

1 . index.html

测试通过ModelMap向请求域共享数据

 2    TestScopeController

     /*3、使用ModelMap向请求域共享数据*/@RequestMapping("/test/modelMap")public String testModelMap(ModelMap modelMap){//org.springframework.validation.support.BindingAwareModelMapSystem.out.println(modelMap.getClass().getName());modelMap.addAttribute("testRequestScope", "hello,ModelMap");return "success";}

3   测试

六   ModelModelMapMap的关系

Model、ModelMap、Map类型的参数其实本质上都是 BindingAwareModelMap 类型的

输入类型

System.out.println(modelMap.getClass().getName());

System.out.println(map.getClass().getName());

System.out.println(model.getClass().getName());

 

 查看源码BindingAwareModelMap

按二次Shift

BindingAwareModelMap extends ExtendedModelMap

Ctrl+左健

ExtendedModelMap extends ModelMap

ModelMap extends LinkedHashMap

LinkedHashMap  extends HashMap

总结:

5、Model和ModelMap和map的关系
* 其实在底层中,这些类型的形参最终都是通过BindingAwareModelMap创建
* public class BindingAwareModelMap extends ExtendedModelMap {}
* public class ExtendedModelMap extends ModelMap implements Model {}
* public class ModelMap extends LinkedHashMap {}

七   向session域共享数据

八   向application域共享数据

1 . index.html

测试向会话域共享数据
测试向应用域共享数据

2    TestScopeController

 @RequestMapping("/test/session")public String testSession(HttpSession session){session.setAttribute("testSessionScope", "hello,session");return "success";}@RequestMapping("/test/application")public String testApplication(HttpSession session){ServletContext servletContext = session.getServletContext();servletContext.setAttribute("testApplicationScope", "hello,application");return "success";}

3 .success.html

 4 测试

现在我们先把网址复制一下 然后 关闭浏览器

在打开浏览器 粘贴上刚才复制的网址 

http://localhost:8080/springMVC/test/application

会现在这时session的数据没有了  只有application  因为application还没有关闭  

 

 现在我们从新部暑   然后在往seiion中共享一个数据

现在在重新重启服务器  重新部暑

相关内容

热门资讯

埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...