`
robinsoncrusoe
  • 浏览: 746971 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
社区版块
存档分类
最新评论

javabean和Servlet的区别

    博客分类:
  • JAVA
阅读更多
首先,JavaBean和Servlet虽都是Java程序,但是是完全不同的两个概念。
    引用mz3226960提出的MVC的概念,即M-model-模型:JavaBean;V-view-表现:JSP页面;C-control-控制和处理:Servlet。
    其实所有的程序都可以写在jsp页面里,但是存在以下问题:
1、执行效率低下;
2、不安全,所有的程序都在jsp文件中可见,毫无知识保护可言;
3、逻辑混乱。这样让JSP文件的逻辑很难懂。
    于是提出了MVC模式,即将一些处理用的程序从JSP中分离出来,让JSP页面只负责显示,几乎是html,只不过可以动态的读取数据和进行少量的逻辑处理,比如循环、判断等。
    可能不举例说你还是不懂,我就举个最简单的例子——留言板。
    JSP的职责:从数据库取出数据,显示所有的留言信息(当中要用少量的,简单的逻辑处理:循环)、显示签写留言的页面(几乎全部都是html)。
    Servlet的职责:接受签写留言页面提交过来的标单数据,进行数据检验,如果正确,则存入数据库并返回留言的显示页面;如果数据有误,给出错误提示后返回签写留言的页面。可以看到,这个就叫做逻辑处理。这些你也完全可以放在JSP中实现,但是用Servlet,其效率和安全性高多了,也让JSP页面变得很简洁明了。
    JavaBean的职责:其实一般的留言板是不需要用到JavaBean的,但在这里,为了让你明白,还是牵强的把JavaBean用进来。所谓JavaBean,就是一个很简单的Java类,比如说,网上商城的所有商品是一个商品类,论坛中所有的帖子是一个帖子类,这里,留言板的所有留言是一个留言类,叫做Message类。每个类有着它特定的属性和方法。对于Message类,其属性有主题、内容、日期、留言者等,其方法可以有添加留言、删除留言、修改留言等。使用JavaBean,主要是为了让JSP编程能够适应Java程序员的习惯,直接对类和实例进行操作,而不是直接去操作数据库。

jsp+javabean被称为model1

jsp+javabean+servlet被称为model2

model2是标准的MVC编程模式

知道什么是高内聚低偶合吗?虽然jsp+javabean也能实现jsp+javabean+servlet
的功能,但jsp里面会出现过多的逻辑程序;
如果我让你升级你的程序,或者让你在原来的基础进行大量功能的扩充,你就会发现jsp+javabean改起来特麻烦,等于重新开发.
上面讲的比较白,你应该能理解.



JSP和SERVLET到底在应用上有什么区别,很多人搞不清楚。我来胡扯几句吧。简单的说,SUN首先发展出SERVLET,其功能比较强劲,体系设计也很先进,只是,它输出HTML 语句还是采用了老的CGI方式,是一句一句输出,所以,编写和修改HTML非常不方便。 后来SUN推出了类似于ASP的镶嵌型的JSP,把JSP TAG镶嵌到HTML语句中,这样,就大大简化和方便了网页的设计和修改。新型的网络语言如ASP,PHP,JSP都是镶嵌型的SCRIPT语言。 从网络三层结构的角度看,一个网络项目最少分三层:data layer,business layer, presentation layer。当然也可以更复杂。SERVLET用来写business layer是很强大的,但是对于写presentation layer就很不方便。JSP则主要是为了方便写presentation layer而设计的。当然也可以写business layer。写惯了ASP,PHP,CGI的朋友,经常会不自觉的把presentation layer和business layer混在一起。就象前面那个朋友,把数据库处理信息放到JSP中,其实,它应该放在business layer中。根据SUN自己的推荐,JSP中应该仅仅存放与presentation layer有关的东东,也就是说,只放输出HTML网页的部份。而所有的数据计算,数据分析,数据库联结处理,统统是属于business layer,应该放在JAVA BEANS中。通过JSP调用JAVA BEANS,实现两层的整合。实际上,微软前不久推出的DNA技术,简单说,就是ASP+COM/DCOM技术。与JSP+BEANS完全类似,所有的 presentation layer由ASP完成,所有的business layer由COM/DCOM完成。通过调用,实现整合。为什么要采用这些组件技术呢?因为单纯的ASP/JSP语言是非常低效率执行的,如果出现大量用户点击,纯SCRIPT语言很快就到达了他的功能上限,而组件技术就能大幅度提高功能上限,加快执行速度。

  另外一方面,纯SCRIPT语言将presentation layer和business layer混在一起,造成修改不方便,并且代码不能重复利用。如果想修改一个地方,经常会牵涉到十几页CODE,采用组件技术就只改组件就可以了。

  综上所述,SERVLET是一个早期的不完善的产品,写business layer很好,写presentation layer就很臭,并且两层混杂。

  所以,推出JSP+BAEN,用JSP写presentation layer,用BAEN写business layer。SUN自己的意思也是将来用JSP替代SERVLET。

  可是,这不是说,学了SERVLET没用,实际上,你还是应该从SERVLET入门,再上JSP,再上JSP+BEAN。

  强调的是:学了JSP,不会用JAVA BEAN并进行整合,等于没学。大家多花点力气在JSP+BEAN上。

在补充几句:

  我们可以看到,当ASP+COM和JSP+BEAN都采用组件技术后,所有的组件都是先进行编译,并驻留内存,然后快速执行。所以,大家经常吹的SERVLET/JSP先编译驻内存后执行的速度优势就没有了。

  反之,ASP+COM+IIS+NT紧密整合,应该会有较大的速度优势呈现。而且,ASP+COM+IIS+NT开发效率非常高,虽然BUG很多。

  那么,为什么还用JSP+BEAN?因为JAVA实在前途远大。微软分拆后,操作系统将群雄并起,应用软件的开发商必定要找一个通用开发语言进行开发,JAVA一统天下的时机就到了。如果微软分拆顺利,从中分出的应用软件公司将成为JAVA的新领导者。目前的JAVA大头SUN和IBM都死气沉沉,令人失望。希望新公司能注入新活力。不过,新公司很有可能和旧SUN展开JAVA标准大战,双方各自制定标准,影响JAVA夸平台。

  另外,现在的机器速度越来越快,JAVA的速度劣势很快就可以被克服。
分享到:
评论

相关推荐

    实验四 JavaBean及Servlet使用

    实验四的目的是让学生深入理解JavaBean和Servlet的开发流程,这二者是Java Web开发中的重要组成部分。JavaBean是一种符合特定规范的Java类,通常用于封装业务逻辑和数据,而Servlet则是在服务器端运行的Java程序,...

    使用JSP、JavaBean和Servlet实现一个简单的留言板设计.zip

    在本项目中,我们主要探讨如何使用JSP(JavaServer Pages)、JavaBean和Servlet技术来构建一个简单的在线留言板系统。这个系统将允许用户提交留言,并将这些数据持久化存储,以便其他用户可以查看和交互。以下是对每...

    JSP+JavaBean+Servlet网上书店

    本文将深入探讨一个基于JSP、JavaBean和Servlet技术构建的网上书店应用程序。这个系统充分利用了这些技术的优势,为用户提供了一种便捷的在线购书体验,包括浏览书籍、添加到购物车、修改和删除订单,以及用户管理等...

    JSP+JavaBean+Servlet技术实现某网站用户注册和登录功能( 源码打包)

    在IT行业中,Web开发是一项核心技能,而JSP(JavaServer Pages)、JavaBean和Servlet是构建动态网站的重要技术。这个项目“JSP+JavaBean+Servlet技术实现某网站用户注册和登录功能”提供了完整的源码,帮助我们深入...

    基于JavaBean+servlet的OA办公管理系统.zip

    基于JavaBean+servlet的OA办公管理系统基于JavaBean+servlet的OA办公管理系统 基于JavaBean+servlet的OA办公管理系统基于JavaBean+servlet的OA办公管理系统 基于JavaBean+servlet的OA办公管理系统基于JavaBean+...

    Jsp+JavaBean+Servlet(MVC设计模式)的寝室管理系统

    Jsp+JavaBean+Servlet(MVC设计模式)的寝室管理系统 Jsp+JavaBean+Servlet(MVC设计模式)的寝室管理系统 Jsp+JavaBean+Servlet(MVC设计模式)的寝室管理系统

    JSP+JavaBean+Servlet技术(MVC模型)

    JSP+JavaBean+Servlet技术(MVC模型) JSP+JavaBean+Servlet技术(MVC模型) JSP+JavaBean+Servlet技术(MVC模型) JSP+JavaBean+Servlet技术(MVC模型) JSP+JavaBean+Servlet技术(MVC模型) JSP+JavaBean+Servlet...

    网上购物系统(JavaBean+Servlet+jsp)

    网上购物系统(JavaBean+Servlet+jsp)网上购物系统(JavaBean+Servlet+jsp)网上购物系统(JavaBean+Servlet+jsp)网上购物系统(JavaBean+Servlet+jsp)网上购物系统(JavaBean+Servlet+jsp)网上购物系统(JavaBean+Servlet+...

    javabean+servlet+jsp实现课后习题注册

    JavaBean、Servlet和JSP是Java Web开发中的基础技术,它们在构建动态Web应用程序时扮演着重要角色。在这个“javabean+servlet+jsp实现课后习题注册”项目中,我们将探讨如何利用这些技术来创建一个用户注册系统。 ...

    jsp+JavaBean+Servlet+MySQL宿舍管理系统(初学者)

    【标题】"jsp+JavaBean+Servlet+MySQL宿舍管理系统(初学者)"是一个针对初学者设计的项目,旨在帮助他们理解并...通过实际操作这个系统,学习者可以更好地理解JSP、JavaBean、Servlet和MySQL在Web开发中的协同工作方式。

    网上购物系统(JavaBean+Servlet+jsp).zip

    网上购物系统(JavaBean+Servlet+jsp)网上购物系统(JavaBean+Servlet+jsp)网上购物系统(JavaBean+Servlet+jsp)网上购物系统(JavaBean+Servlet+jsp)网上购物系统(JavaBean+Servlet+jsp)网上购物系统(JavaBean+Servlet+...

    javabean+servlet+jsp实现圆的面积和周长计算,还有注册信息然后输出

    在Java Web开发中,`javabean`、`servlet`和`jsp`是三个核心组件,它们共同构建了服务器端的应用逻辑。本项目利用这三个技术实现了一个简单的功能:计算圆的面积和周长,以及用户注册信息的处理与显示。 首先,让...

    JSP+JavaBean+Servlet工作原理

    **MVC(Model-View-Controller)模式**是JSP、JavaBean和Servlet协作的基础框架。在这里,JSP作为View负责展示,JavaBean作为Model处理数据,Servlet作为Controller负责协调和控制。 总结起来,JSP+JavaBean+...

    编写JSP+JavaBean+Servlet(MVC)的程序

    在IT行业中,构建Web应用程序是常见的任务之一,而JSP(JavaServer Pages)、JavaBean和Servlet组成的MVC(Model-View-Controller)架构是实现这一目标的重要技术。本实验将详细探讨如何使用这些技术来创建一个功能...

    基于JSP+JavaBean+Servlet模式的图书管理系统的研究和实现

    在源程序中,除了JSP、JavaBean和Servlet之外,还可能包括配置文件(如web.xml),该文件定义了Servlet的映射路径、初始化参数等,是整个Web应用的部署描述符。此外,可能还有MVC(Model-View-Controller)设计模式...

    一个基于JSP+JavaBean+Servlet的简单项目

    让我们深入探讨一下JSP、JavaBean和Servlet在Web应用程序中的角色和它们之间的交互。 1. **JavaServer Pages (JSP)**:JSP是一种动态网页技术,允许开发者在HTML页面中嵌入Java代码,从而实现动态内容的生成。在本...

Global site tag (gtag.js) - Google Analytics