基于JAVA WEB中MVC模式的研究与应用(2)
采用Model2模式开发项目时,在业务层中主要封装了实体Bean和业务Bean,实体Bean主要用来封装实体对象,而业务Bean主要是一些关于对数据库的操作。此时在业务Bean就会涉及到数据库的连接和关闭,当在使用的过程中,如果频繁的打开和关闭数据库是非常耗时和浪费系统资源的,此时我们可以在业务层中加入一个数据库连接池,避免了数据库频繁的打开和关闭,提高了系统性能。当一个项目的业务比较复杂时,此时在Servlet中不仅有一些流程控制代码和业务代码,还有大量的数据处理代码,此时应该尽量减少在Servlet中的代码,只让Servlet做接收数据,转发数据功能,其它的事情放到外面去做,为了实现该功能,将在Servlet中对数据的一些处理操作代码单独封装到Service层中,Servlet接收到用户请求后,根据请求的目标,直接跳转到对应的Service中,在Service中负责对数据的处理和调用相应的业务层。其实现流程图如图4所示。
4 基于MVC模式登陆模块的实现
现在结合登陆模块的开发,介绍MVC的在Java Web中的具体实现步骤,从而加深对MVC设计的理解。用户填写登陆信息的界面和通过验证并返回信息的界面都为视图(View);当用户填写的信息通过Form表单提交后,此时需要根据action跳转到指定的控制器(Controller),而此控制器主要是通过Servlet完成,Servlet需要在web.xml中进行配置;通过控制器调用模型层(Model),连接数据库,验证输入信息是否在数据库中存在。在此整个模块所涉及到的程序清单如下表一各模块的表述:
在数据库连接时,通常采用JDBC技术,此技术作为一种数据库访问技术,具有简单易用的优点。但使用这种模式进行Web应用程序开发,存在很多问题:首先,每一次Web请求都要建立一次数据库连接,而建立连接是一个费时并且耗费内存资源;其次,对于每一次数据库连接,使用完后都得断开,否则,如果程序出现异常而未能关闭,将会导致数据库系统中的内存泄漏,最终将不得不重启数据库。因此,这种开发不能控制被创建的连接对象数,系统资源会被毫无顾及的分配出去,如连接过多,也可能导致内存泄漏,服务器崩溃。此时我们采用数据库连接池进行数据库的打开和关闭。数据库连接池的基本思想就是为数据库连接建立一个“缓冲池”,预先在缓冲池中放入一定数量的连接,当需要建立数据库连接时,只需从“缓冲池”中取出一个,使用完毕之后再放回去。在配置数据库连接池时需要修改Tomcat中的server.xml和项目中WEB-INF下的web.xml文件,再在程序中获得已有连接。
在整个MVC设计中Model是其核心部分, 对于用户登陆模块,需要将输入的数据或从数据库中读取的数据封装到User类,从而各个模块都能方便的使用该JavaBean对象了,而JavaBean在封装的时候只需要书写它的getXxx和setXxx方法就可以了,作为Model最重要的就是如何设计一个好的DAO模式来对数据库进行操作,为了以后能够更好的进行功能的扩充,在DAO组件中先定义一个UserDAO接口,然后定义接口的UserDAOImpl实现类,在接口的实现类中定义的各种方法来实现对数据的操作,但不负责数据库的连接和关闭操作,而要完成这一操作主要是通过代理来完成,并调用真实主题,通过一个DAOFactory工厂实现DAO的实例。部分代码如下:
接口的实现类:
陆流程图
5 结束语
采用MVC模式清晰将表达和内容进行了分离,开发人员负责Servlet和JavaBean,网页设计人员负责JSP页面的开发,分工明确,非常适合大项目的开发,同时采用该模式开发设计清晰,独立性强,易扩充,易维护等优点,使各类人员都可以更加专注完成自己的工作,在Web开发中有显著的优势。
参考文献:
[1] 雷钧.MVC 设计模式在J2EE平台上的应用[J]. 微计算机信息,2006,22(7):45-48.
[2] 万健,刘建华.基于MVC模式的JSP技术开发WebGIS[J].工程地球物理学报,2009,6(2):241-243.
[3] 范芸,范慧霞. JSP动态网站开发基础与上机指导[M].北京:清华大学出版社, 2010:245.
期刊库(http://www.zgqkk.com),是一个专门从事期刊推广、投稿辅导的网站。
本站提供如何投稿辅导,寻求投稿辅导合作,快速投稿辅导,投稿辅导格式指导等解决方案:省级投稿辅导/国家级投稿辅导/核心期刊投稿辅导//职称投稿辅导。
【免责声明】本文仅代表作者本人观点,与投稿辅导_期刊发表_中国期刊库专业期刊网站无关。投稿辅导_期刊发表_中国期刊库专业期刊网站站对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。请读者仅作参考,并请自行承担全部责任。
投稿辅导服务咨询与期刊合作加盟
陆老师联系QQ: 913775405(普刊)
蒋老师联系QQ: 867306987(核心)
刘老师联系QQ: 271374912(核心)
联系电话:18015016272
17327192284
投稿辅导投稿邮箱:zgqkk365@126.com
期刊推荐
- 《课程教育研究》 旬刊 国家级
- 《网络空间安全》(信息安全与技术)月刊 国
- 《价值工程》旬刊 国家级 科技统计源期刊
- 《高教论坛》 月刊 省级
- 《法制与社会》旬刊 省级
- 《中国教育学刊》月刊 14版北大核心
- 《语文建设》 旬刊 14版北大核心
- 《中国绿色画报》 月刊 国家级
- 《社科纵横》季刊 社科类优秀期刊
- 《求索》月刊 14版北大核心期刊
- 《财会月刊》旬刊 14版北大核心
- 《艺术品鉴》 月刊 省级
- 《中华建设》月刊 国家级 建设类优秀期刊
- 《教学与管理》旬刊 北大核心
- 《当代经济》 旬刊 省级
- 《新课程研究》旬刊 省级 教育类优秀学术期
- 《文教资料》 旬刊 省级
- 《学术界》 月刊 双核心
- 《吉林教育》旬刊 省级 教育类学术期刊
- 《中国农业资源与区划》 月刊 14版北大核心
- 《继续教育研究》月刊 北大核心期刊
- 《财经界(学术版)》半月刊 国家级
- 《电影评介》半月刊 14版北大核心
- 《公路交通科技》 月刊 北大核心
- 《新闻传播》月刊 省级 新闻类优秀期刊