繁体   English   中英

为了运行Java企业应用程序需要执行哪些步骤

[英]what are the steps in order to run java enterprise application

对不起这个简单的问题,但是我对如何运行Java应用程序感到困惑。 每当我问一些人时,每个人都会告诉他自己的工具以继续进行,而我已经学到了这一点。

因此,只要我有一个简单的基本日食,没有插件,并且我下载了使用spring,hibernate,mysql,

该应用的文件夹结构为

.setting
src--main,test
target
.classpath
.project

现在我想在浏览器中使用localhost运行它

我需要做什么。 我会根据我的知识告诉我,你们可以纠正它,我不想使用STS或在Eclipse中安装任何插件。

  1. 我从eclipse菜单导入了项目,并出现在左侧窗口中
  2. 因为它使用spring,所以我必须在spring的构建路径中添加spring jar文件。 或其他任何东西
  3. 与休眠jar文件相同
  4. 我使用过的简单Java应用程序来编译包含void main函数的类,但是我不知道要编译哪个文件来运行此应用程序
  5. 我在构建路径中添加了mysql连接器,以在简单的Java应用程序中与mysql连接。 同样的东西在这里可以工作吗?
  6. 我知道我们需要Web服务器。 因此,如果我想安装Glass Fish服务器,那我将如何将其连接到eclispe或该应用程序。 tomcat比玻璃鱼还好吗??? 我知道这里有嵌入玻璃鱼的eclispe ide,但我想自己整合
  7. 在浏览器中,我需要使用哪个网址才能看到该应用

我不知道maven,appfuse如何适合这里。 如果可以的话,我可以在没有maven的情况下运行应用程序吗,那么maven到底可以做什么,我的意思是它可以编译java文件还是什么。 如果我需要Maven,那么

  1. 我需要单独安装它是指exe文件还是jar文件
  2. 如何与蚀链接
  3. 我已经读过有关使用maven进行构建的信息,构建后将显示什么内容,意思是构建的结果,构建之后或构建之后,我会看到浏览器吗? Maven是否需要链接到已安装的Web服务器

对基本问题感到抱歉,但我对所有新的术语感到困惑

构建Web应用程序很复杂。 我将尝试解决您的特定问题。

显然,您不需要Maven或Appfuse,两者都非常有用。

Maven是一个构建工具。 Maven和Eclipse执行一些类似的任务。 两者都可以编译您的代码并管理类路径。 Maven开箱即用地处理很多默认情况下Eclipse无法完成的事情。 Maven可以管理依赖项(即为您下载spring jar)并创建复杂的构建过程。

如果您不熟悉Maven并从头开始创建构建文件,则可能不会有太大帮助。 如果您在其他地方有pom.xml(Maven构建文件),那么Maven可能会大有帮助。 Maven的结果取决于构建文件的结构。 结果通常是.war文件(在下面的步骤5中描述),或者应用程序直接部署到Web服务器(在下面的步骤6中描述)。

压贴也不是强制性的,但可能有用。 Appfuse将为您创建一个骨架项目。 这样做时,它将创建一个pom.xml(Maven构建文件)以自动构建您的项目。 除了帮助启动项目之外,Appfuse本身不做任何其他事情。 大多数人不再从头开始构建Web应用程序,因为正确设置目录结构和创建构建文件可能需要很多工作,而且很容易出错。 Spring Roo是类似于Appfuse的工具。

Tomcat,Glassfish,Jetty和JBoss是Web服务器。 它们通常也称为Servlet容器,它只是以某种方式托管servlet的Web服务器的另一个名称。 它们中的任何一个都可以为您的项目工作,它们都有不同的学习曲线。 将它们集成到Eclipse中可能对您有用,当我开始使用时,我发现将它们分开很容易(尽管会慢一些)。

在JDK中,有一个名为javax.servlet.Servlet的接口。 这是Web应用程序的入口类必须实现的接口。 特别是,每次有URL请求时都会调用方法service(ServletRequest req, ServletResponse res) 如果您希望Web应用程序响应HTTP,则扩展抽象类HttpServlet (实现Servlet)可能会更简单。 大多数库(即Spring Web框架)都有自己的Servlet实现,它们是该库的入口。

现在,我将描述构建Web应用程序的基本过程。 这是一个复杂的过程,大多数人最终都使用Maven将其自动化。 我不建议您自己尝试手动完成该过程,这可能会非常复杂,但是您可以根据需要进行操作。 我将假设您将所有已构建文件放置在名为$ BUILD的文件夹中

  1. 编译您的源代码。 编译后的类需要放在一个名为$ BUILD / WEB-INF / classes的文件夹中
  2. 将所有jar文件(外部库)放在名为$ BUILD / WEB-INF / lib的文件夹中
  3. 创建一个部署描述符 ,这是一个告诉Web服务器如何部署代码的文件。 该文件中最重要的是从URL到实现Servlet的Java类的映射。 它应该命名为web.xml并放在$ BUILD / WEB-INF中
  4. 用jar的根目录为$ BUILD打包所有这些代码。 您可以将此代码称为application.jar
  5. 将jar文件扩展名重命名为war。 战争文件只是一个jar文件,其中包含必需的WEB-INF目录。
  6. 将该战争文件部署到您的Web服务器(Tomcat / JBoss / Jetty / Glassfish / etc),每个Web服务器的执行过程不同

这是Web应用程序部署的基础。 您的Web服务器将提取war文件并将lib文件夹中的所有jar加载到类路径中。 然后,它将获取接收到的所有URL请求,并将其发送到部署描述符中声明的相应Servlet实现。

如您所见,这不是一个简单的过程。 这就是Appfuse和Roo之类的工具存在的原因。 他们尝试为您提供一个起点,为您完成所有这些基本工作。 如果您遇到问题,建议您使用Appfuse / Roo从头开始尝试。 随着您开始掌握各种技巧,我还建议您进一步了解Maven(或Ivy + Ant)以为您处理依赖项。

您应该下载Eclipse的Java EE版本-它包含使用企业应用程序所需的代码。

您还将需要一个企业服务器(如JBoss或Glassfish)和相应的服务器适配器,这对于初学者来说有点过多。

最简单的入门方法是使用Glassfish下载Netbeans,并至少在当前使用它,因为一切都已正确配置,并且入门非常快! 当您对工作方式更加熟悉时,可以根据需要切换回Eclipse。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM