【发布时间】:2011-04-12 13:04:43
【问题描述】:
我想问一个关于 java web 应用程序的问题。当我开始学习 JSP 时,我总是听说 Java EE Web 应用程序。但我不知道这个词的真正含义。谁能给我解释一下这个词?谢谢。
【问题讨论】:
标签: jakarta-ee
我想问一个关于 java web 应用程序的问题。当我开始学习 JSP 时,我总是听说 Java EE Web 应用程序。但我不知道这个词的真正含义。谁能给我解释一下这个词?谢谢。
【问题讨论】:
标签: jakarta-ee
Web 应用程序与桌面应用程序(例如 Photoshop)等其他类型的应用程序的不同之处在于,大部分计算都是在远程计算机上完成的,并且只有显示数据被发送到用户的机器上。通常,用户界面将使用某种“网络”技术编写——HTML/JavaScript/flash 等,并使用网络浏览器查看,因此得名。
为了让它工作,远程机器(服务器)必须运行一个应用程序来监听客户端请求,进行一些计算并将回复返回给用户。例如,当您从亚马逊购买书籍时,购买按钮会向远程应用程序发送请求以处理您的订单并返回确认消息。
这个过程涉及很多细节——应用程序必须监听请求,它必须处理故障,可能连接到数据库等等。因为大部分工作在任何网络应用程序中都是相似的,所以通常的做法是使用称为应用程序服务器的东西来为您完成这项工作。
应用程序服务器是一个知道如何运行其他应用程序并为它们完成一些工作的应用程序。所以现在,当用户向 Web 应用程序发送请求时,应用程序服务器会获取它,可能会从中提取一些数据并对其进行验证,然后告诉您的应用程序处理业务逻辑。这样,您在编写 Web 应用程序时就不必担心诸如通信之类的事情。
有各种技术的网络服务器。例如 - IIS 是 .Net Web 应用程序的 Web 服务器。
Java EE 实际上是一组规范(这是一组接口和命令如何实现它们的花哨词),它定义了您应该如何编写 Java 应用程序以及供应商应该如何实现他的应用程序服务器,以便他们可以一起工作。之前有人提到的“容器”是供应商应用服务器的 Java EE 名称。
您说您正在学习如何编写 JSP。当您编写 JSP 时,您实际上实现了一个规范,该规范定义了如何编写 Java EE 显示组件,该组件可以被翻译成 HTML。您的应用程序服务器(Tomcat/JBoss/BEA 等)知道如何处理您的 JSP 以生成所需的 HTML,然后将其发送给用户。
【讨论】:
Java 发行版有一个层次结构。
从 Java ME 开始——用于在手机等小型机器上嵌入应用程序的微型版本。
转向 JavaSE,这是大多数程序员都熟悉的标准版本。
然后升级到 J2EE -- 企业版。除了 SE,J2EE 发行版还必须支持 javax.... 系列接口中的多个企业级库和 API。其中最重要的是“事务容器”、EJB 和 WS* Web 服务 API。
这些接口由第三方实现,例如 GlassFish 和 JBOSS 等一些开源产品,但主要由 WebLogic 或 WebSphere 等专有(最终昂贵)产品实现。
【讨论】:
Web 应用程序是指一种特定类型的“模块”,可以部署到 Tomcat、WebLogic 或 GlassFish 等 EE 容器上。它是 JSP、JSF 和其他类的集合。
与常规 Java 应用程序不同,EE Web 应用程序不能仅仅通过键入“java”来“运行”。它必须部署到您的网络服务器。服务器运行后,您可以利用许多内置功能,这些功能虽然有用,但很像从首字母缩略词 firehose 喝水。
不幸的是,没有简单的方法可以进入它。据我所知,最好的方法是从 Sun 教程开始。那里也有很多书。要获得的最重要的概念是运行 EE 应用程序的“容器”的概念。这就像在虚拟机中拥有一个虚拟机。这是一个奇怪的概念。
狩猎愉快! 杰夫
【讨论】: