25

我正在寻找 javabean 和 servlet 之间的区别。我发现

Servlet corresponds a Controller
JavaBean corresponds a Model

java bean是一个可重用的组件,而servlet是扩展服务器功能的java程序

现在,可重用在 javabean 中意味着什么。我们不能重用 servlet 吗?

如果有人能用几个例子来解释这一点,我将不胜感激。

4

5 回答 5

31

Servlet 和 JavaBean 是完全不同的概念。servlet API 提供服务于 Internet 请求,通常来自客户端浏览器,但不限于此。JavaBeans 是一种用于封装功能的组件架构。一个典型的用途是 servlet 使用 bean 来处理数据库查询,但是 bean 架构在很多地方都使用。

会话是用于存储与特定用户相关的对象的 servlet 机制,这些对象可能是也可能不是 bean。用于创建用户界面的 Bean(使用您聪明的 IDE)有更严格的要求。servlet 和 JSP 中使用的 Bean 通常更简单。

更直接地说,JavaBeans 之于 Java 就像 ActiveX 控件之于 Microsoft。Javabeans 可以在服务器端、客户端、applet 等中运行。

因此,除了 Java 之外,两者没有任何共同之处。

于 2012-12-08T18:00:50.967 回答
18

JavaBeans 和 Servlet 都是 1999/2000 年发布的 Java EE(Java 企业版)软件包的概念部分。

servlet 是 Java Web 应用程序中的 Java 类(用作控制器)。它的作用是管理 HTTP 请求并生成一个 HTTP 响应。例如,Servlet 使用 JavaBeans 从数据库中获取其信息。

JavaBean 是一个简单的 java 类,用于表示应用程序的模型。要被称为 JavaBean,该类必须为其所有属性具有公共 getter 和 setter,必须具有无参数构造函数,并且必须是可序列化的。

有趣的是,这个简单的 JavaBean 概念在 2000 年初迁移到了 Enterprise Java Bean (EJB)。但是经验证明,在 Java EE 环境中管理 EJB 相当复杂。因此,Enterprise JavaBeans 大部分被 IOC 容器(如 2003 年的 Spring)所普及的“Pojos”(普通旧 Java 对象)所取代。IOC 将 Javabean 撤回到其以前的概念。IOC 将整个 EJB-J2EE 模板模式、服务定位器、业务委托模式替换为简单的依赖注入 (DI)。

于 2012-12-06T21:11:16.477 回答
8

它们是两种完全不同的东西。

servlet 用于处理 Web 应用程序中的请求,所以是的,它类似于控制器。

Java bean 是遵循一组规则的任何 java 类,请参阅:什么是“Java Bean”?

我想你正在阅读的任何内容都在告诉你每个人如何适应 MVC 模式

于 2012-12-06T15:39:15.637 回答
1
  • Servlet 的生命周期由 Web 容器管理,如果是 Java Bean,您将初始化或启动您的 Java Bean。

  • 有两种类型的 Servlet,Generic Servlet 支持不同类型的协议请求,而 HTTPServlet 支持 HTTP 协议。

  • 在大多数像struts/Spring这样的框架中,他们使用servlet作为控制器来接受请求调用,并且依赖于配置,它将调用转移到不同的Action Class/Action Controller

于 2012-12-12T08:59:57.207 回答
0

Java bean 是用于与数据库交互的数据访问对象。Java bean 是 POJO(Plain Old Java Object)。servlet 与 JSP 一起使用,就像 JSP 的接口一样。java bean 和 Servlet 都是 MVC 的一部分。

于 2016-05-04T13:21:24.973 回答