日期:2014-05-19  浏览次数:20739 次

问个struct1的问题
前台调用,jQuery.post("${context}/sthAction.do",{method:"getReady"});然后根据struts-config.xml,sthAction.do对应的type是com.SthAction,然后调用类SthAction里面的getReady方法。

我的问题是,1·struct只会实例化一个SthAction对象?
2·如果问题1是真的,那么 多个请求的时候,都是调用SthAction的getReady方法,那么是不是为每个请求申请一个线程来处理该请求(这里假设getReady方法是一个长达10分钟的过程)

3·如果问题1是假的,struct对每个客户端的请求是如何处理的呢?

PS:我是小白

------解决方案--------------------
struts1 会对每个Action类创建一个实例
------解决方案--------------------
SthAction对象只有一个,但里面的getReady()方法可以被调用多次呀。
简单的说:
请求到达服务器(比如tomcat),tomcat创建一个SthAction实例,然后由tomcat帮你去调用该实例的getReady()方法。
第二个请求到来,则不用创建SthAction实例了,由tomcat直接去调用getReady()方法。
当然每来一个新的请求,服务器都会开一个新线程对其进行处理