对于这个简单的问题很抱歉,但我对如何运行java应用程序感到困惑。每当我问一些人时,每个人都会告诉他自己的工具继续进行,我已经了解了这一点。
所以我提供了简单的基本eclipse,没有插件,我已经下载了使用spring,hibernate,mysql的示例Web应用程序,
app的文件夹结构是
.setting
src--main,test
target
.classpath
.project
现在我想在浏览器中使用localhost运行它
我需要做什么。我将从我的知识中告诉你,你们可以纠正它 我不想在日食中使用STS或安装任何插件。
我不知道maven,appfuse是如何适应这里的。我可以在没有maven的情况下运行应用程序,如果是,那么maven真正做了什么,我的意思是它编译java文件或什么。如果我需要maven那么
对不起基本问题,但我对所有新的trminology感到困惑
答案 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
的文件夹中这是Web应用程序部署的基础知识。您的Web服务器将提取war文件并将lib文件夹中的所有jar加载到类路径中。然后,它将接收它收到的任何URL请求,并将它们发送到部署描述符中声明的相应Servlet实现。
正如您所看到的,这不是一个简单的过程。这就是Appfuse和Roo等工具存在的原因。他们试着给你一个起点,为你做所有这些基本的东西。如果您遇到麻烦,我建议您从头开始尝试使用Appfuse / Roo。当你开始掌握一些事情时,我也建议你学习更多关于Maven(或Ivy + Ant)来处理依赖关系。
答案 1 :(得分:1)
您应该下载Eclipse的Java EE版本 - 它包含使用企业应用程序所需的代码。
您还需要一个企业服务器(如JBoss或Glassfish)和相应的服务器适配器,这对初学者来说有点多。
最简单的入门方法是使用Glassfish下载Netbeans并使用它 - 至少现在 - 因为一切都配置正确并且开始非常快!当您更熟悉工作方式时,可以根据需要切换回Eclipse。