hypermesh保存session和model区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hypermesh保存session和model区别相关的知识,希望对你有一定的参考价值。

区别大部分在于有效范围大小,session创建后,可以一直存在,只要不调用session.invalidate()方法清除session,它就会一直存储在服务器端的一段内存中,只有当会话结束之后才会消失,通常session用来判断用户登录的状态,在ssm中通过拦截器以及session来控制用户登录后的访问权限。 model的数据,只会在下一页面中使用,比如在开发ssm中,你在控制器中通过model存储了数据,控制器返回的视图就可以通过el表达式调用model中存储的数据。 还有重定向与转发,如果是重定向,由于是重新请求,model的数据会消失,转发则不会,而对于Session来说,无论是重定向与转发,session的值都不会发生改变。 参考技术A 其实model和session都是存放信息的地方,不同的地方就是他们的生命周期不同,model是request级别的,session是一次会话,在服务器与一个用户客户端交互过程中一直保留。

即在用户登录一个网站后,session里存放的用户数据可以在该网站的其他页面使用。

model的数据只能在该页面使用。

域对象-数据输出

在request、session、application雨中保存数据,进行数据的传递:

SpringMVC除了可以在方法上传入request和session外还能怎么样吧数据带给页面:

  1、方法返回值是String,可以在方法出传入Map、Model、ModelMap。这些参数里面保存的所有数据都会放在request域中,可以在页面获取;

    关系:Map、Model、ModelMap,最终都是BindingAwareModelMap在工作;相当于在BindingAwareModelMap中保存的东西都会被放在请求域中;

    Map(interface[jdk])  Model(interface[Spring])  

    技术图片

@RequestMapping("input")
public String input(Map map, ModelMap modelMap, Model model)
    map.put("msg","hello") ;
    modelMap.addAttribute("name","word") ;
    model.addAttribute("age",17) ;
    return "message/index" ;

 

  2、方法的返回值可以变为ModelAAndView属性:

    即包含视图信息(页面地址)也包含模型数据(给页面带的数据),而且数据时放在请求域中;

@RequestMapping("input")
public ModelAndView input(HttpServletRequest request , HttpServletResponse response)
    ModelAndView modelAndView = new ModelAndView("message/index");
    modelAndView.addObject("msg","hello") ;
    return modelAndView ;

  3、给session域中保存数据:

@RequestMapping("input")
public ModelAndView input()
    HttpSession session = ((ServletRequestAttributes)RequestContextHolder.getRequestAttributes()).getRequest().getSession() ;
    session.setAttribute("msg","hello");
    return new ModelAndView("message/index") ;

 

 

以上是关于hypermesh保存session和model区别的主要内容,如果未能解决你的问题,请参考以下文章

django使用session来保存用户登录状态

hypermesh划分的网格如何 导入abaqus

hypermesh如何将component中的部件分开?

hypermesh 请问rbe2和rbe3的主从节点怎么确定?

php_会话技术 — session

hypermesh 10.0版本中模型上点如何不显示?如图!mask选择,不好使