gpt4 book ai didi

java - Java EE Servlets实际上是直接使用的吗?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:05:57 27 4
gpt4 key购买 nike

我只是想开始学习 Java EE 和相关概念。但是,我在理解某些技术与它们所扮演的角色之间的关系时遇到了一些困难。

据我所知,Java EE Servlet 是一个在服务器内部运行并生成请求响应的 Java 类(通常是对 HTTP 请求的 HTML 响应,尽管 Servlet 理论上可以服务于任何协议(protocol))。

我的问题:

  • 据我所知,我可以直接编写一个 Servlet 类,或者我可以使用一些技术,如 JSP 或 JSF,然后为我生成/提供一个 Servlet。无论如何,我最终运行我的应用程序的 Java EE Web 容器(例如 Apache Tomcat)只会看到 Servlet,并且不会关心它们是如何创建的(因此 Servlet 是一种低级管道)。这是真的吗?
  • 如果 Servlet 有点低级,是否有任何理由直接使用 Servlet?我看过许多解释如何编写 Servlet 的教程,但这似乎很不切实际。是否存在直接编写 Servlet 比使用 JSP 或类似工具更好/更可取的情况?
  • 最后,Servlet 需要一个服务器来运行(例如 Apache Tomcat)。在阅读有关该上下文中的服务器时,我看到了各种名称,例如 (Java EE) Web 容器servlet 容器JSP 容器,或者只是 Java EE 服务器。这些术语的意思是一样的,还是有区别?

感谢您帮助我开始!

最佳答案

当不使用像 JSF、Spring MVC、Struts 等 MVC 框架时,您仍然需要一个 servlet 来完成基本的请求/响应控制工作。 JSP - 虽然在幕后确实被编译成 servlets - 应该只用作 View ,而不是 Controller 。

我认为您的困惑是由相对大量的关于 servlet 的低质量教程引起的,在这些教程中,servlet 被用于通过 out.print() 语句打印纯 HTML。这在 MVC 观点下是完全错误的。我建议从我们的维基页面开始:https://stackoverflow.com/tags/servlets/info

关于java - Java EE Servlets实际上是直接使用的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5985816/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com