java - 什么是 Java EE 中的 Web 组件?

标签 java jakarta-ee terminology

术语“Web 组件”在 Java EE 中是什么意思?给我一些来自不同 Java EE 技术(jsp、jsf、ejb..)的例子

UPD:我可以说jsp中的每个自定义标签都是一个web组件而jsf中的标签是web组件吗?或者只有 servlet 和整个 jsp 页面是 Web 组件?部署的 session bean 是 Web 组件吗?

最佳答案

Web 组件只不过是为传入的 HTTP 请求提供服务并提供某种(希望是有效的)响应的软件组件。

大多数(如果不是全部)Java Web 框架都构建在核心 Java servlet 技术之上。 servlet 是一段持久的代码,它接收 HTTP 请求的抽象并给出 HTTP 响应。我说“持久”是因为它通常在许多连接上长期存在(不像大约 10-15 年前梦想 servlet 的旧的基于 CGI 的 transient 进程)。

此外,servlet 规范还包括:

  • 用于创建和销毁 servlet 的 Hook ;
  • 自动 session 管理,包括在集群环境中;
  • 响应中的输出使用标准 Java I/O 库;
  • Servlet 对请求和响应有相当完整的抽象;
  • 支持应用程序级(持久性)配置;和
  • 可以用不同的方式(页面、请求、 session 和应用程序)限定数据的范围。

JSP 是一种特殊的标记,支持 JSP 的 Web 容器会将其“编译”为 servlet 代码。

Struts (1 & 2)、Spring MVC、JSF、Seam、Wicket、Tapestry 等都是建立在 servlet 规范之上的 Web 框架。字面上有几十种,而且它们各不相同。

关于java - 什么是 Java EE 中的 Web 组件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1667718/

相关文章:

java - 如何解决用户 LOGOUT 的 FILTER 查询

java - 如何为我的应用程序容器使用相同的凭证处理程序配置来生成新的密码哈希值?

java - 调试 osgi 类加载器问题

version-control - VCS 和 SCM 有什么区别?

java - org.apache.activemq.transport.InactivityIOException : Cannot send, channel 已经失败

java - 使用 Formatter Java 格式化字符串类型的日期

java - 读取大型 XLS 和 XLSX Excel 格式

java - 如何将包含 main 方法的 jar 部署到 glassfish?

language-agnostic - 进行系统调用,将 stdout 输出作为字符串返回

programming-languages - Vanilla 是什么意思?