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