Java EE中的Web组件是什么?

8
在Java EE中,“web component”是什么意思?请给我一些不同Java EE技术(jsp、jsf、ejb等)的示例。
更新:我可以说每个JSP中的自定义标签都是Web组件,JSF中的标签也是Web组件吗?还是只有Servlet和整个JSP页面才是Web组件?已部署的会话Bean是否是Web组件?
1个回答

16

Web组件就是一个软件组件,它提供服务于传入的HTTP请求,并提供某种类型的(希望是有效的)响应。

大多数(如果不是全部)Java Web框架都建立在核心Java servlet技术之上。Servlet是一段持久性代码,它接收HTTP请求的抽象并给出HTTP响应。我说“持久性”,因为它通常在许多连接上长时间运行(与10-15年前出现的基于旧版CGI瞬态进程的情况不同,当时servlet被设计出来)。

此外,servlet规范还包括:

  • 用于创建和销毁servlet的挂钩;
  • 自动会话管理,包括集群环境;
  • 响应输出使用标准Java IO库;
  • servlet对请求和响应有相当完整的抽象;
  • 支持应用程序级别(持久)配置;
  • 数据可以以不同的方式进行作用域限定(页面、请求、会话和应用程序)。

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

Struts(1&2)、Spring MVC、JSF、Seam、Wicket、Tapestry等都是建立在servlet规范之上的Web框架。几乎有数十种这样的框架,它们都不同。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接