首页 > 范文大全 > 正文

浅谈JavaBean在MVC模式中的应用

开篇:润墨网以专业的文秘视角,为您筛选了一篇浅谈JavaBean在MVC模式中的应用范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

【摘 要】本文在介绍MVC模式的基础上,分析了基于JSP的MVC模式的实现方案。重点阐述了该方案中javabean的使用方式。

【关键词】mvc;JavaBean;JSP;Servlet

Abstract:The paper introduces the MVC mode,and analyzes the implementation of JSP based on MVC mode.Then the theme focuses on how to use JavaBean in the scheme.

Keywords:MVC;JavaBean;JSP;Servlet

1.MVC模式

利用Java技术构建Web应用存在ModelI和ModelII两种模式。其中,ModelI模式是采用JSP或JSP+JavaBean模式,ModelII模式是采用MVC模式。使用JSP模式开发Web应用,优点是简单易学,便于快速开发小型网站,但是代码可读性较差,较难维护。使用JSP结合JavaBean开发Web应用,未能实现视图和业务逻辑完全分离,尽管十分简单但不适合开发大型应用程序,给网页设计和维护仍然带来很多麻烦。

MVC是一种先进的软件开发的设计模式,它把应用程序分成三个核心模块:模型(Model)、视图(View)、控制器(Controller),它们各自处理自己的任务,相互协作,实现Web系统的职能分工。模型、视图、控制器三者在功能上构成了一个控制回路,如图1所示。

图1 模型、视图、控制器关系图

(1)模型层:模型层又称业务逻辑层,它完成系统的核心功能,负责处理用户的数据,实现核心业务逻辑。同时,模型还为视图的显示提供数据,并可被多个视图所共享。

(2)视图层:视图层的主要任务是与用户进行交互,收集用户的数据并显示模型层提供的数据。

(3)控制器:控制器简单来说就是一个分发器,主要负责接收用户的请求,然后做出判断,根据判断结果将请求交给具体的模型进行处理,最后调用视图来显示模型返回的数据。

MVC模式通过模型层将人机交互从核心功能中分离出来,而模型对用户来说是透明的,用户只需要观察视图即可,用户与模型的交互通过控制器提供的安全方法来实现。

2.JSP中的MVC模式

基于JSP的MVC模式中,模型、视图、控制器三个角色分别由JavaBean、JSP、Servlet承担。即控制器servlet负责接受请求,然后根据请求创建相应的JavaBean,由JavaBean处理数据,servlet把处理结果再存储到JavaBean中;JSP页面获取JavaBean的数据进行显示。这种设计模式由于开发流程明确,层与层之间的分工和技术要求清晰,非常有利于大系统的开发。

3.JavaBean

JavaBean是通过封装具有某种功能或者处理某个业务的可重复使用的软件组件。由于JavaBean是基于Java语言的,因此JavaBean不依赖平台,可以在任何安装了Java运行环境的平台上的使用,而不需要重新编译。但是,JavaBean需要遵循一定的语法规则:

(1)类中必须提供一个无参的public的构造方法。

(2)类的属性是private的,访问属性的方法必须是public的。

(3)如果类的属性名称是xxx,类中必须提供两个方法:getXxx()和setXxx(),分别用来获取属性xxx的值和修改属性xxx的值。即方法的名字用get或set为前缀,后缀是将属性名称的首字母大写的字符序列。对于boolean类型的属性,允许使用“is”代替上面的“get”和“set”。

4.模型JavaBean的应用

基于JSP的MVC模式中,将servlet中创建的bean存储到内置对象,进而转发给JSP。由于JavaBean的生命周期不同,在servlet中创建的bean与JSP中所指定的bean的衔接方式也不同,使用方式也有所不同。

(1)在servlet端创建Javabean:User u=new User()。

(2)根据具体系统要求选择将bean存储到内置对象request,session,application中:request.setAttribute(“key”,u);request.getSession(true).setAttribute(“key”,u);getServletContext().setAttribute(“key”,u)。

(3)在servlet端将存储到内置对象的bean传递到JSP页面,使它在更新视图中有效,从而通过bean方法得到目的数据:

方法1(转发请求):

request.getRequestDispatcher(“show.jsp”).

forward(request,response;

方法2(重定向):

response.sendRedirect(“show.jsp”);

其中,若将bean存储到request中,传递数据时只能采用方法1;若将bean存储到session或application中,两种方法均可用。

(4)在JSP端更新视图:

方法1:使用获取bean,其中scope属性中指明bean被存放的内置对象。若从request中获取对象:

方法2:内置对象通过getAttribute()方法直接获取bean,将其强制转换为相应类型。

若从session中获取对象:

out.print((User)session.getAttribute(“key”).

getXXX())。

5.总结

MVC是一种先进的软件开发的设计模式,它把应用程序分成三个核心模块:模型(Model)、视图(View)、控制器(Controller),实现了Web系统的职能分工。而模型负责处理用户的数据,实现业务逻辑,为视图的显示提供数据。JavaBean不依赖平台,实现了代码复用,易编写、易维护、易使用。所以JSP+JavaBean+Servlet的使用是MVC模式的一中简单而又行之有效的方案。

参考文献:

[1]Sun公司.Servlet技术文档[DB/OL].http:///products/servlet/index.jsp,2006-01-01.

[2]耿祥义.JSP实用教程(第二版)[M].北京:清华大学出版社,2007.

[3]贺建英.JSP中基于JavaBean技术的数据库访问研究[J].科技信息,2008,23(1):18-21.

[4]李安,刘晓东.一种流行的WEB开发模式――JSP+JavaBea[J].微机发展,2002,11(6):41-43.

[5]顾会珍,刘暾东.MVC架构在JSP+JavaBean开发模式中的应用[J]计算机与现代化,2007,11(5):11-13.

作者简介:朱亚玲(1983―),女,甘肃定西人,兰州工业学院讲师,主要研究方向:web开发,图形图像与视频处理。