【问题标题】:index.jsp in war file under TomcatTomcat下war文件中的index.jsp
【发布时间】:2017-03-18 23:07:22
【问题描述】:

我正在尝试在我的本地 tomcat 上运行简单的 Web 应用程序 - 该应用程序基本上是您在 IntelliJ 中创建“Web 应用程序”时得到的,因此目录结构是“vanilla”。我实际上没有触及 index.jsp 或 web.xml。

我是在 Maven 下做的,所以这是我的 pom 文件:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.testapps</groupId>
    <artifactId>Test_App_1</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>war</packaging>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.6.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <configuration>
                    <webXml>web\WEB-INF\web.xml</webXml>
                </configuration>
            </plugin>
        </plugins>
    </build>


</project>

这就是我正在做的事情:

  1. 在 maven 下构建这个“项目”:mvn compile install
  2. 我正在将 app_name.war 文件从本地 repo 复制到 tomcat webapps 目录中
  3. 运行tomcat:catalina start
  4. 我可以看到我的应用程序在管理器中,但是当我尝试输入它时(或者当我只输入 http://localhost:8080/app_name 时)出现 404 错误。

我做错了什么?我是不理解一些基本概念还是缺少一些基本的东西?我应该以某种方式明确地将这个 index.jsp 包含到我的 .war 文件中吗?如果是这样,我该如何在 IntelliJ 下做到这一点?我实际上只是想运行这个“香草”应用程序,我的印象是,index.jsp 应该是这个 .war 文件的一部分,它应该“自动”显示。当我手动执行此操作时,我将在 webapps 文件夹中创建一些 TestDirectory,复制相同的 index.jsp 文件并将其放在该目录中,然后访问它http://localhost:8080/TestDirectory - 它会自动显示此 index.jsp 文件应该。

抱歉,这可能是个愚蠢的问题,我对此真的很陌生,我找不到解决方案。

【问题讨论】:

  • 我的印象是,index.jsp 应该是这个 .war 文件的一部分:你为什么不检查一下?
  • .war 文件是否包含 index.jsp?战争文件只是一个 zip 文件,您至少可以查看战争中是否缺少它(尽管可能没有)。

标签: java jsp tomcat intellij-idea


【解决方案1】:

删除 maven-war-plugin ,然后在服务器中构建并重新部署和测试

【讨论】:

  • 感谢您的回答 - 部分有帮助。正如你所看到的,我已经包含了 war 插件 conf 来提供 web.xml 的路径,因为 maven 无法自行找到它。原来 IntelliJ 在项目的根目录下创建了 web 目录(包含 WEB-INF/web.xml 和 index.jsp),而它应该放在 ...\src\main 和名称目录应该是“webapp”。因此,在更改项目结构(并删除 war 插件,因为此时它无关紧要)之后,一切正常。谢谢。
猜你喜欢
  • 2010-12-20
  • 2021-12-09
  • 2017-11-08
  • 2020-12-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-13
  • 2012-07-29
相关资源
最近更新 更多