MVC框架所感
第一感:
虽然不是第一次接触mvc,相比于以前的浅尝辄止,这次对于mvc框架的理解不能说更加深了层次,但起码有了另外的一个了解;以前对于mvc框架的实现,只是机械的对代码进行编写,或者最简单的ctrl+c和ctrl+v,并没有要求自己去理解,而在这次学习之前,加上对于servlet,jsp等的了解,对于理解mvc这种设计模式的思路就更为清晰。
Mvc,即为model-view-control(模型-视图-控制器)结构,以sampleBBS为例,模型层中有DAO类,pojo类;视图层中有html,jsp,javascript,css等;控制层中有主控servlet和各种实现相应功能的action类。
为什么要用mvc?这是我们初学者很不理解的一个方面,因为按照以前的模式去写代码,自己看的懂,写起来也是非常的快!并且形势非常灵活,但是在mvc模式下,我们的web项目被强制将数据对象、业务逻辑、用户界面这3者分离,对于以前写的代码,我们只考虑到了其优点,而没有想到它一个致命的缺点,就是代码的维护,如果是本人维护效果可能会好一些,如果是另外的一些人来维护,则必须对整个项目重新分析一遍,很有可能代码已经写得无法去修改了,这是很严重的后果;但在用到mvc之后,代码的编写被规范化,各种类的分块也更加的明显,虽然暂时我们无法体会出mvc框架的优势,但规范化总是好的。
Mvc框架是本人第一次系统性的接触框架方面的知识,就当是为后面的框架的学习开了一个好头吧!
有关于实现mvc的详细代码,本人就不再一一说明,Google或者百度之,或者是自己去设计一个mvc框架,都是比较好的方法!因为自己的尝试才会有收获嘛!
第二感:花了一点时间把自己的简单BBS项目换成了MVC框架结构,真正做完之后,感觉也没有那么难!可能是刚开始想的复杂了一些,具体的action类和以前的servlet处理类差不多,只是由于action接口中写的是一个有返回值的方法,所以就必须将servlet中的请求转发的页面换成具体action类的所返回的字符串,再交由主控sevlet类去处理,只管来说,以前所有的servlet处于同一等级,每个servlet负责处理不同的请求,但是对于这种MVC框架来说,每个具体的action类也负责处理不同的请求,那个主控servlet相当于中央处理器,具体的action处理完请求之后,再交给主控servlet将请求结果返回给浏览器,就好比一个房间,原来是开了许多门,随便每个门都可以进(浏览器请求)出(servlet转发),在MVC模式下,每个门都可以进来,但是只有一个门可以出去,这应该算作一种加强管理的方式吧!
其实在把项目换成MVC时,在xml里面也注意到了关于<url-pattren>的配置,由于tomcat支持模糊配置,则可以配成<url-pattren>*.???</url-pattren>,前面的“*”为通配符,后面的”???”则可以填入任意字母,比如”*.jsp”、“*.asp”、“*.abc”,不明就里的人还以为你设计了一个混搭风格的网站。
好了!关于MVC的这篇小结,暂时告一段落,静待以后的完善!