资源描述:
《struts与jsp+javabean区别1》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、采用Struts框架技术和直接使用jsp+javabean技术开发各有什么优势?各自的缺点又是什么?在javaweb开发领域存在2种开发模式,模式一,jsp+javabean模式二,jsp+javabean+servlet,即所谓的MVC设计,struts只不过是遵循MVC的一个开源框架.在模式一中(jsp+javabean),这种设计模式适合,小规模web开发,体现在轻巧兴,也就是更轻量级一些(内存加载的类少,相对struts而言),但是jsp中会嵌入大量的html和java脚本,规模小还好,如果大型
2、企业web,随着规模的加大,太多的html和java脚本交织在一起,可读性差,而且修改一个jsp可能会牵连到其他的页面.现在大规模的企业开发都选择struts,因为他成功的吧web分为三层,即模型,视图,控制器,在开发团队中更容易分工,而且逻辑部分和显示部分被分离到,module和jsp中去了,可读性也好了,但是struts在启动的时候要加载一些额外的类(struts的类),这对于小型企业用的低端服务器来说,会站内存,降低速度.所以,本人在开发中得到的总结是小规模开发用jsp+javabean,大规模的
3、用struts一.JSP和JavaBean模型模型的结构如下图所示,称之为JSP和JavaBean模型。其工作原理是:当浏览器发出请求时,JSP接收请求并访问JavaBean。若需要访问数据库或后台服务器,则通过JavaBean连接数据库或后台服务器,执行相应的处理。JavaBean将处理的结果数据交给JSP。JSP提取结果并重新组织后,动态生成HTML页面,返回给浏览器。用户从浏览器显示的页面中得到交互的结果。JSP和JavaBean模型充分利用了JSP技术易于开发动态网页的特点,页面显示层的任务由J
4、SP(但它也含事物逻辑层的内容)承担,JavaBean主要负责事务逻辑层和数据层的工作。JSP和JavaBean模型依靠几个JavaBean组件实现具体的应用功能,生成动态内容,起最大的特点就是简单。二.JSP和JavaBean+Servlet模型JSP和JavaBean+Servlet模型的体系结构如下图所示,称之为JSP和JavaBean和Servlet模型。它是一种采用基于模型视图控制器(Model和View和Controller)的设计模型,即MVC模型。该模型将JSP程序的功能分为3个层次:M
5、odel(模型)层、View(视图)层、Controller(控制器层)。Model层实现业务逻辑,包括了Web应用程序功能的核心,负责存储与应用程序相关的数据;View层用于用户界面的显示,它可以访问Model层的数据,但不能更改这些数据;Controller层主要负责Model和View层之间的控制关系。具体实现时,JavaBean作为模型层,Servlet作为控制层,JSP作为视图层。每层的作用如下:1.JavaBean作为Model层,实现各个具体的应用逻辑和功能。2.Servlet作为Cont
6、roller层,负责处理HTTP请求,包括:◆对输入数据的检查和转换。◆通过JavaBean访问数据库。◆初始化JSP页面中要用到的JavaBean或对象。◆根据处理中不同的分支和结果,决定转向那个JSP等。3.JSP作为View层,负责生成交互后返回的界面。它主要通过信息共享,获取Servlet生成的对象或JavaBean,从中取出数据,插入到HTML页面中。该模型的工作原理是:所有的请求都被发送给作为控制器的Servlet。Servlet接收请求,并根据请求信息将它们分发给相应的JSP页面来响应;同
7、时Servlet还根据JSP的需求生成相应的JavaBean对象并传输给JSP。JSP通过直接调用方法或利用UseBean的自定义标签,得到JavaBean中的数据。这种设计模式通过Servlet和JavaBean的合作来实现交互处理,很好的实现了表示层、事务逻辑层和数据的分离。三.两种模型的比较从以上对两种模型的说明来看,JSP和JavaBean模型和JSP和JavaBean+Servlet模型的整体结构都比较清晰,易于实现。它们的基本思想都是实现表示层、事务逻辑层和数据层的分离。这样的分层设计便于系
8、统的维护和修改。两种模型的主要区别表现在:1.处理流程的主控部分不同。JSP和JavaBean模型利用JSP作为主控部分,将用户的请求、JavaBean和响应有效的链接起来。JSP和JavaBean+Servlet模型利用Servlet作为主控部分,将用户的请求、JavaBean和响应有效的链接起来。2.实现表示层、事务逻辑层和数据层的分离程度不同。JSP和JavaBean+Servlet模型比JSP和JavaBean模型有更好的分离效果。