【问题标题】:Servlet vs BeansServlet 与 Bean
【发布时间】:2012-06-03 17:07:37
【问题描述】:

我是 java 新手(学习 JSF 和其他 JAVA EE 组件)并且有一个非常基本的问题。

当很多事情都可以用 Bean 完成时,为什么我们还需要一个 Servlet。 servlet 中有哪些无法通过 Bean 完成,或者如何在基于 Web 的应用程序中使用 Servlet 比 Beans 更好。

【问题讨论】:

    标签: servlets managed-bean


    【解决方案1】:

    使用 JSF,您基本上已经在使用一个 servlet,即 FacesServlet,您很可能已经在 web.xml 中注册了它,以便让 JSF 运行。正是这个 servlet 消除了编写一堆 servlet 来执行重复任务的需要,例如收集请求参数、转换/验证它们、更新 javabean 属性、调用动作和导航到正确的视图。

    在 JSF 中,您不需要创建额外的 servlet 来执行这些任务。您只需创建一个托管 bean 并将其声明为控制器,该控制器又将一个简单的 javabean 类作为模型绑定到视图中的 UI 组件。

    但有时 JSF 过于矫枉过正或太难了,因为以前从未学过 JSF 并且只想要两个、三个或四个只有一个联系表的网页。 JSF 的学习曲线相对陡峭,这也需要对 HTTP servlet 有深入的了解。有了“plain vanilla” servlet 和 JSP,就更容易开发了。但是,每当站点超出其边界并且您开始复制粘贴/重构常见任务时,如果您事先选择了 MVC 框架,您会很高兴。

    【讨论】:

      【解决方案2】:

      Bean 用于表示您的数据。 应该使用 Servlet 来控制您的进程。

      在 MVC(模型、视图、控制器)模式中,Bean 将是您的模型,它以数据为中心并代表您的数据,充当域对象或简单的数据结构。

      Servlet 是调用正确模型并按正确顺序分派它们的控制器。它们可用于获取用户请求并将其转换为模型进行操作的正确输入。

      我知道答案非常高级,但是尝试阅读 MVC 模式,你会更好地理解这个想法。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-09-27
        • 1970-01-01
        • 2012-04-10
        • 2011-01-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多