struts1.1的支持多模块处理

 struts1.1的支持多模块的应用。其中,初学者经常遇到的一个问题就是到底struts是如何处理多模块的,怎么知道一个请求是属于哪个模块的。经过对源码进行探究,
 得知,struts中有一个config的对象,存放于session中。每次,当一个请求到来的时候,struts引擎会对请求的url举行分析,提取路径。
 例如,一个应用有2个模块,分别是 /compoment, /product/patrol,当我们的请求url是 /web/product/patrol/readWorkAction.do 时,struts引擎,对该引擎进行分析,提取出前缀
 '/product/patrol',然后与配置文件web.xml中定义的各个模块进行匹配。当发现有匹配的模块时,就把该模块设置为当前模块(即对前文提到的config对象进行操作)。当forward到
 另一个action时,会把当然模块加上请求action的名字作为一个完整的url重新提交给struts引擎处理。同样,当forwar到一个jsp页面时,会对页面上的struts标签进行处理。
 会把页面form中指明的action填充完整,成为一个完整的路径。至此,当再提交form时,提交的都是完整的路径。struts引擎又会对该url重新解释匹配。这是我对struts多模块调整的
 初步认识,可能随着认识的深入,会推翻当前的观点。

你可能感兴趣的:(struts,引擎,action,url,session,jsp)