运行java企业应用程序的步骤是什么?

时间:2011-02-05 11:53:52

标签: java eclipse spring java-ee maven

对于这个简单的问题很抱歉,但我对如何运行java应用程序感到困惑。每当我问一些人时,每个人都会告诉他自己的工具继续进行,我已经了解了这一点。

所以我提供了简单的基本eclipse,没有插件,我已经下载了使用spring,hibernate,mysql的示例Web应用程序,

app的文件夹结构是

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

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

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

  1. 我从eclipse导入了这个项目 菜单,我出现在左窗口
  2. 因为它使用弹簧我必须添加 构建路径中的spring jar文件 春天或其他任何东西
  3. hibernate jar文件相同
  4. 我以前的Fior简单java应用程序 编译包含的类 无效的主要功能,但我没有 想要编译运行哪个文件 这个应用程序
  5. 我在构建中添加了mysql连接器 简单地用mysql连接的路径 java app。同样的事情在这里工作吗?
  6. 我知道我们需要Web服务器。 所以,如果我想安装玻璃鱼 服务器然后我将如何将其连接到eclispe或该应用程序。将是tomcat 好比玻璃鱼???我知道 是嵌入式玻璃的eclispe ide 鱼,但我想整合evrything 自己
  7. 在浏览器中我需要使用哪个网址 看到那个应用程序
  8. 我不知道maven,appfuse是如何适应这里的。我可以在没有maven的情况下运行应用程序,如果是,那么maven真正做了什么,我的意思是它编译java文件或什么。如果我需要maven那么

    1. 我需要单独安装吗? 意味着exe文件或jar文件
    2. 如何与eclipse联系
    3. 我读过有关建筑的内容 maven,之后会怎么样啊 建筑我的意思是结果是什么 建设,我会看到浏览器 建筑后或建筑后 还有一些步骤。做 maven需要与Web服务器链接 安装
    4. 对不起基本问题,但我对所有新的trminology感到困惑

2 个答案:

答案 0 :(得分:6)

构建webapp很复杂。我会尝试解决您的具体问题。

很高兴你不需要Maven或Appfuse,两者都非常有帮助。

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

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

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

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. 的文件夹中
  3. 将所有jar文件(外部库)放在名为$ BUILD / WEB-INF / lib
  4. 的文件夹中
  5. 创建一个deployment descriptor,这是一个告诉您的Web服务器如何部署代码的文件。此文件中最重要的是从URL到实现Servlet的Java类的映射。它应该命名为web.xml并放在$ BUILD / WEB-INF
  6. 将jar的根目录放在$ BUILD中,所有这些代码都是jar。您可以将此代码称为application.jar
  7. 将jar文件扩展名重命名为war。 war文件只是一个jar文件,里面有所需的WEB-INF目录。
  8. 将此war文件部署到您的Web服务器(Tomcat / JBoss / Jetty / Glassfish /等),每个Web服务器执行此操作的过程不同
  9. 这是Web应用程序部署的基础知识。您的Web服务器将提取war文件并将lib文件夹中的所有jar加载到类路径中。然后,它将接收它收到的任何URL请求,并将它们发送到部署描述符中声明的相应Servlet实现。

    正如您所看到的,这不是一个简单的过程。这就是Appfuse和Roo等工具存在的原因。他们试着给你一个起点,为你做所有这些基本的东西。如果您遇到麻烦,我建议您从头开始尝试使用Appfuse / Roo。当你开始掌握一些事情时,我也建议你学习更多关于Maven(或Ivy + Ant)来处理依赖关系。

答案 1 :(得分:1)

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

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

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