所有关于Struts的帖子,总是将MVC Model2描叙的特别神乎,俨然是新一代的设计模式。本人新学,翻了几篇帖子,还是没能弄明白什么是Model2,于是下载Struts源码,原来是在原有视图( html )和Control(jsp/servlet)之间,添加了一个ActionSerlvet作为新的Control,所有其它动作,都要经过ActionServlet来分发。
一个具体的图划出来,什么都清楚了,
Request
http-------------->ActionServlet----------------> Action----------------------->Model.
也可以通过web.xml看出来,比如我用JBuilder生成的Struts 工程下web.xml那如如下:
<servlet>
<servlet-name>action</servlet-name> //action--->ActionSerlvet
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>...
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>//action.do--->action
<url-pattern>*.do</url-pattern>
</servlet-mapping>
可见,所有Action1.do,Action2.do,Action3.do都映射会到ActionServlet上,而ActionServlet内部维护着一个ActionMap,可以识别不同的Action,调用相应的Action的execute方法。
所以,Struts真正改变Web结构的地方就在于,使用一个总控的ActionServlet管理所有的行为,由它决定哪个Action被真正调用。至于其优势,我的理解就是,由以前编写大量的Servlet改成了编写大量Action,由于Servlet在html中必须写死,而Action可以通过配置文件来管理,在一定程度上增加了整体结构的灵活性。
developerWorks上的struts好文章:
http://www-900.ibm.com/developerWorks/cn/java/j-strutscol/。
分享到:
相关推荐
java解惑java解惑java解惑java解惑java解惑java解惑
Java解惑Java解惑Java解惑Java解惑Java解惑Java解惑Java解惑Java解惑Java解惑Java解惑Java解惑Java解惑
【名师解惑】传智播客.net培训-名师解惑:学.net还是学java?.pdf
Java解惑.pdf Java解惑.pdf Java解惑.pdf Java解惑.pdf
Java解惑中文版 Java解惑 java健壮程序
JAVA解惑.pdf JAVA解惑.pdf JAVA解惑.pdf
与java相关的的学习,适合初学者,可以看看
Java PUZZLE Java 解惑 Java PUZZLE Java 解惑 Java PUZZLE Java 解惑Java PUZZLE Java 解惑 Java PUZZLE Java 解惑 Java PUZZLE Java 解惑
《Java解惑》 布洛克 著;陈昊鹏 译 扫描清晰带目录,仅供参阅,请支持正版
JAVA解惑,你面包括一些java经典的问题。
《Java解惑》《Java解惑》《Java解惑》《Java解惑》《Java解惑》《Java解惑》
传智播客.net培训-名师解惑,关于.Net
Java四大名著之一:4,JAVA解惑 高清PDF 下载
"java解惑" PDF版本
讲述如何在程序中避免程序缺陷和程序陷阱的,解惑的过程中,介绍了一些Java编程语言中许多不易被掌握的知识点,其阅读价值非常高,适合具有Java知识的学习者和有编程经验的Java程序员阅读。
Java解惑(中文).pdf 给大家介绍java中容易迷惑用错的实例
Java解惑,是一本以大量java实例,讲述如何在程序中避免程序缺陷和程序陷阱的,解惑的过程中,介绍了一些Java编程语言中许多不易被掌握的知识点,其阅读价值非常高,适合具有Java知识的学习者和有编程经验的Java...
该书特写了95个有关Java或其类库的陷阱和缺陷的谜题,其中大多数谜题都采用了短程序的方式,这些程序的行为与其看似的大相径庭。在每个谜题之后都给出了详细的解惑方案,这些解惑方案超越了对程序行为的简单解释,向...
。。。。。 Java解惑(中文) 是一本对 Java一些问题的解答 。。。。。。。。。。