zoukankan      html  css  js  c++  java
  • SSH之小问题解惑

    (注:以下版本指的是spring3+hibernate3+struts2)

    1,web开发中,servlet对象是否线程安全?

      当一个http请求到来时,web容器的调度线程(Dispach Thread)会从已经初始化的线程池中分配一个工作线程(Worker Thread)来负责处理该请求,该工作线程会调用对应的servlet对象的service方法;如果又一个请求到来,web容器会从线程池中选择另一个线程来服务新的请求。web容器不关心请求的是否是同一个servlet实例。所以,多个请求可能调用同一个Servlet对象,servlet的service方法会在多线程环境中并发执行,若servlet中有内部实例变量,则会产生线程安全问题。

    2,为什么声明struts的action时,除了@Controller还要@Scope("prototype")?

      为了线程安全。spring管理的bean在不指定scope情况下,默认为single,也就是单例,众所周知,web服务器中servlet就是以单实例多线程的方式运行,这样会有线程安全隐患;若指定为prototype,每次请求到来,spring都会创建一个新的action交给struts来使用,避免了线程安全问题。

          可以结合StackOverflow上的一个问题思考下:http://stackoverflow.com/questions/7621920/scopeprototype-bean-scope-not-creating-new-bean

    还有这篇文章,理解有状态和无状态:http://peterwei.iteye.com/blog/960532

    3,(将持续更新)

  • 相关阅读:
    比SRCNN效果好的传统超分辨率算法汇总
    CSS3 2D转换
    CSS3 文本效果
    CSS3 Gradients(渐变)
    CSS3 背景
    CSS3 圆角
    CSS3 边框
    CSS3 简介
    CSS 属性选择器
    CSS 媒体类型
  • 原文地址:https://www.cnblogs.com/jianzhi/p/3471291.html
Copyright © 2011-2022 走看看