术语“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/