了解MVC
MVC是Model,View,Controller的缩写,MVC是Application开发的设计模式,也就是大家所知道的Model2.在MVC的设计模式中,要求在Application开发中你把商业逻辑,界面显示,数据分离。也就是分别在Model,View,Controller实现:数据,控制(商业逻辑),显示(页面显示).
在以前或者说传统的Web Application开发方式当中,如Asp,Php,Jsp(Model 1)开发当中,我们在Asp(Php,Jsp)中实现一切,如:从数据库中取到我们需要的数据,并根据数据之间的关联和实际的需要按照某种方式把他显示在页面中以及从页面提交的表单中提取数据,根据商业逻辑从数据库查询相关数据,或者把数据写入数据库。也就是说我们在Asp(Php,Jsp)实现一切包括:界面显示,商业逻辑,数据存取。这样带来的后果就是你所写的Asp(Php,Jsp)没有层次,并且Html和Script(JavaScript、JScript,Asp、Php、Jsp源代码)相互嵌套.可维护性差,最要命的是在Web Application通常显示一块是由美工完成的,很多时候也是你先写好Asp、Php、Jsp然后美工进行美化,很有可能你发现经过美工处理完以后你的代码已经面目全非了。你不得不把你的代码重新组织。
在MVC模式中这个问题的解决办法是:View中负责显示,View一般从Controller得到已经处理过的数据,然后显示在页面当中,应该说这样在Html中嵌套很少的Script.基本上美工的修改不大会废掉你的劳动成果。
在使用Java开发Web Application有几种符合MVC设计模式的开发方式让你选择。
1:Jsp+Servlet+JavaBean(EJB)
2:Jsp+JavaBean(Controller)+JavaBean(EJB)(Model)
3:TDK(Turbine,Velocity...)
4:Xsp
5:Jsp+Struts+JavaBean(EJB)
我个人认为后面两种比较好,其他几种都有可取的地方特别是使用TDK因为有一个比较好的工具可以自动生成很多代码,至于它的缺点在后面几种开发方式的比较当中我会介绍。
Struts1.1的新功能
Struts1.1与1.0相比加了一些很不错的功能。最主要是表单验证上功能增强。在Struts1.1数据的验证不象以前在Action中在validator具体实现,而是在validation.xml通过配置实现这样做的好处就是重用性加强了很多。
Struts1.1实现的主要组成
主要包括:Action,ActionForm,ActionMapping,ActionForward,开发当中最主要写的是Action,ActionForm根据需要可以写或不写。下面我就一一具体介绍。