图解struts
让我们从MVC的角度观察struts框架
Struts应用有3个主要部件:一个是使用Servlet实现的中心控制器(Controller Servlet,由Struts提供的org.apache.action. ActionServlet类实现)及负责具体业务逻辑处理的Action(org.apache.action.Action的子类);一个是用于显示的JSP页面(viewer);另一个是用于封装系统状态的业务逻辑元件(Model)。Struts 的中心控制器接受所有来自客户端的请求,并根据系统的配置(struts-config.xml)路由HTTP请求到其它Action对象(开发者实现的org.apache.struts. action.Action的子类)。在这些Action对象中会完成所有的业务操作,比如插入一条订单、修改一条记录等。处理完毕,由Struts的Controller Servlet根据配置转向到适当的JSP页面,将处理结果显示给用户。从这里可以看出,在Struts中Controller Servlet担任了重要的角色,它控制所有的程序流转,使MVC三个相对独立的部分协调工作,从而使系统的功能更加完善。
核心:Struts的核心是ActionSevlet,ActionSevlet的核心是Struts-config.xml
介绍MVC模式
模型-视图-控制器(MVC)
1、模型(Model)
模型是应用程序的主体部分。模型表示业务数据,或者业务逻辑.
2、视图(View)
视图是应用程序中用户界面相关的部分,是用户看到并与之交互的界面。
3、控制器(controller)
控制器工作就是根据用户的输入,控制用户界面数据显示和更新model对象状态。
生活中有许多mvc的例子,可以帮助我们理解它。
基于struts的公司的开发流程详细介绍
所以按照这个流程,现在项目的开发小组一般可分为4种角色,分别完成以下4种功能xsl,action,tag,componet。
实现xsl功能的项目成员:负责完成项目的xsl部分,并完成jsp部分。
实现action功能的项目成员:完成整个项目的页面的转向,并进行参数处理。
实现tag功能的项目成员:负责获取项目的数据封装到标签体中,并完成tld配置文件。
实现componet功能的项目成员:根据业务逻辑完成项目的数据封装任务。
从信息角度来看,信息可分为4层:迹象,事实,知识,智慧。xsl来完成迹象这一层的,它完成的显示的效果,表示”数据是怎么样显示的”。Tag来完成事实这一层的,它完成的是显示的逻辑,表示”显示什么样的数据”。Action完成知识这一层的,表示”为什么会得到这样的数据”。Component则是完成智慧这一层,表示”怎么样得到的数据”。
那么为什么我们不直接采用jsp完成view的角色,而引入了Tag?
答:1.将显示的效果和显示的逻辑进一步分离
2.降低对View角色的要求
3.可方便的实现view这一层的复用(通过tld配置文件达到)
如果对struts了解还不透彻,可以去以下地址去看看,也可以自己找些资料来学习。
参考资料
1. http://tech.ccidnet.com/pub/article/c1077_a287245_p1.html 深入理解Struts 1.1及应用开发实例解析
2. http://www.knowsky.com/4143.html struts学习傻瓜是入门篇
3. http://www.matrix.org.cn/articleList.shtml?kid=23&sid=63 Matrix - 与 Java 共舞 - Struts(分类文章) 强烈建议这个网址
4. http://www.cn-java.com/target/news.php?news_id=2207 中文java技术网::Struts原理、开发及项目实施