Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在eclipse之外将SpringMVC应用程序部署到tomcat的幕后会发生什么?_Java_Spring_Spring Mvc_Spring Security_Java Ee 6 - Fatal编程技术网

Java 在eclipse之外将SpringMVC应用程序部署到tomcat的幕后会发生什么?

Java 在eclipse之外将SpringMVC应用程序部署到tomcat的幕后会发生什么?,java,spring,spring-mvc,spring-security,java-ee-6,Java,Spring,Spring Mvc,Spring Security,Java Ee 6,我想使用像eclipse这样令人敬畏的IDE的一个缺点是,您忽略了应用程序幕后发生的事情。我是ruby开发人员,所以不是java老手。因此,我一直在用java编写一个项目,并使用spring框架实现IOC和MVC。有人能解释一下当我在eclipse中选择RunonServer时发生了什么吗?因为最终我将把这个应用程序的杰作部署到Linux服务器上。这是我的设置。我正在eclipse中使用SpringMVC3和maven插件。在pom.xml文件中,我有最新的spring发行版、log4j、Spr

我想使用像eclipse这样令人敬畏的IDE的一个缺点是,您忽略了应用程序幕后发生的事情。我是ruby开发人员,所以不是java老手。因此,我一直在用java编写一个项目,并使用spring框架实现IOC和MVC。有人能解释一下当我在eclipse中选择RunonServer时发生了什么吗?因为最终我将把这个应用程序的杰作部署到Linux服务器上。这是我的设置。我正在eclipse中使用SpringMVC3和maven插件。在pom.xml文件中,我有最新的spring发行版、log4j、SpringMVC、SpringContext等内容


我一直在使用EclipseIDE中方便的RunonServer选项在本地主机上测试我的应用程序。eclipse中的服务器配置指向我安装tomcat 7的tomcat目录位置。如果我想在生产服务器上部署此应用程序,请澄清幕后发生的事情以及我需要做的事情。细节越多越好。非常感谢。

将web应用程序部署到Tomcat就这么简单(假设安装了Tomcat)

  • 将您的应用程序捆绑在一个
    .war
  • 将生成的
    .war
    文件移动到Tomcat安装文件夹的
    /webapps
    目录
  • 在Tomcat安装文件夹中运行
    /bin/startup.[sh|bat]
    脚本
  • 请注意,您可以执行一些中间步骤来配置部署,例如更改上下文路径

    在步骤3中,Tomcat将把
    .war
    内容提取到
    /webapps
    文件夹中与
    .war
    文件同名的目录中。它将使用它作为上下文路径。脚本本身通过将
    WEB-INF/[class | lib |…]
    与一些Tomcat库一起放在类路径上启动
    java
    过程


    因此Eclipse基本上为您完成了上述所有步骤

    最终,您将部署一个web应用程序,这意味着您将向服务器部署一个war文件。不管使用像spring、struts之类的框架,什么都可以

    因此,web应用程序请求从web.xml文件开始。所以对于SpringMVC应用程序,您要将来自浏览器的所有请求映射到DispatcherServlet,然后这个人负责管理应用程序的整个生命周期。 有关MVC工作原理的更多详细信息,请参阅

    所以,为了在服务器上部署应用程序(war),首先必须从源代码创建war。您可以使用传统的方法来使用java给定的实用程序,比如从命令提示符使用jar,或者您可以使用ANT、GRADLE、MAVEN等构建工具,以自动化的方式为您创建war。 春天不会为你做任何额外的事情。我相信您需要对这些工具的工作原理进行更多的研究。 一旦战争为您准备好了,您只需转到TomcatUI,就可以在那里找到部署战争的选项


    我希望它能帮助你。

    所有的重大事件都发生在两个地方

    第一个是Eclipse包资源管理器根目录中的“服务器”目录。这些是Eclipse在创建新服务器实例时(主要)将使用的服务器配置文件

    第二个在eclipse工作区的./metadata/.plugins/org.eclipse.wst.server.core/文件系统目录中。这就是eclipse实际部署tomcat应用程序的地方



    事实上,它非常好,有助于解释如何进行部署。仅供参考,我不知道有多少人会使用,根据我的经验,大多数人都是手工部署应用程序。

    这一定是一场战争吗?@ImtiazAhmad
    war
    代表“Web存档”,简而言之,是的;确实如此。@ImtiazAhmad Tomcat将提取war并在其
    server.xml
    文件中创建一个条目。如果需要,可以手动执行。@SotiriosDelimanolis不在其
    server.xml
    methinks中。它在
    conf/Catalina/.xml
    @boris中创建了一个文件,它可能会将内容放在许多地方。
    server.xml
    条目只描述了上下文
    docBase
    path
    。安全的方法是让Tomcat来做。你指的是什么Tomcat web UI?我指的是Tomcat管理控制台。