您的位置:首页 > 编程语言 > Java开发

struts1.1的支持多模块处理

2008-01-26 17:20 323 查看
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多模块调整的
初步认识,可能随着认识的深入,会推翻当前的观点。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: