zoukankan      html  css  js  c++  java
  • spring mvc 中获取HttpServletRequest ,HttpServletResponse

    spring中的bean最常用的 singleton 模式 

    如果要在springmvc Controller 中获取  HttpServletRequest ,HttpServletResponse 怎么办?

    1.在接口函数中以参数传入  类似HttpServlet  

    这种方式获得的是真实的request,response 对象   没什么好说的

     2.@Autowired 注入  定义类属性

     这种方式获得的是 request,response 代理对象,这样做的好处是什么呢? 

    前面所说的controller bean是单例模式的  那么  所有的请求实际上访问的是同一个controller对象,

    我们可以推断出这里的  request 和response  也是同一个   what?  这不是乱套了吗? 不是说好的每个请求都会有request,response对象吗?

    其实 我们访问request,response的任何方法都是先通过代理找到真实的request,response

    对象,然后再执行对应的方法

     

     而最终 request,response 都是存储在ThreadLocal里面的

    而这种存储在threadLocal里面的实现方式对于   请求->单线程处理  的模型是没问题的,

    如果要另开子线程  还得通过参数传递这两个对象,所以我个人觉得还是第一种实现方式比较好

  • 相关阅读:
    (转)介绍一些.net开源项目
    (转).Net有哪些大型项目、大型网站的案例?
    Linux下的awk使用
    linux下的sed使用
    linux下的find、grep、cut使用
    CentOS7下的Zabbix4.4安装配置
    NetBackup linux客户端安装
    bat小脚本
    批量复制指定目录下的文件,并统计执行时间
    iptables
  • 原文地址:https://www.cnblogs.com/dint/p/13897307.html
Copyright © 2011-2022 走看看