IDEA 部署Tomcat Web项目出现404错误的解决方式(保姆级别演示,绝对有效)

最近使用IDEA开发项目,Tomcat启动正常,没有报错,但是项目启动之后一直是404状态,由此推断可能是Project Structure配置有问题

IDEA 部署Tomcat Web项目出现404错误的解决方式(保姆级别演示,绝对有效)_第1张图片可以看出Tomcat是可以正常启动的:

/usr/local/ApacheTomcat/bin/catalina.sh run
[2020-09-16 03:34:19,684] Artifact 07_servlet: Waiting for server connection to start artifact deployment...
16-Sep-2020 15:34:20.499 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Server.服务器版本: Apache Tomcat/8.5.57
16-Sep-2020 15:34:20.501 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 服务器构建:        Jun 30 2020 21:49:10 UTC
16-Sep-2020 15:34:20.501 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 服务器版本号(:     8.5.57.0
16-Sep-2020 15:34:20.501 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 操作系统名称:      Mac OS X
16-Sep-2020 15:34:20.502 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log OS.版本:           10.15.5
16-Sep-2020 15:34:20.502 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 架构:              x86_64
16-Sep-2020 15:34:20.502 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Java 环境变量:     /Library/Java/JavaVirtualMachines/jdk1.8.0_261.jdk/Contents/Home/jre
16-Sep-2020 15:34:20.502 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Java虚拟机版本:    1.8.0_261-b12
16-Sep-2020 15:34:20.502 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log JVM.供应商:        Oracle Corporation
16-Sep-2020 15:34:20.502 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE:     /Users/Realtorine/Library/Caches/JetBrains/IntelliJIdea2020.2/tomcat/Unnamed_07_servlet_3
16-Sep-2020 15:34:20.502 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME:     /usr/local/ApacheTomcat
16-Sep-2020 15:34:20.503 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:-Djava.util.logging.config.file=/Users/Realtorine/Library/Caches/JetBrains/IntelliJIdea2020.2/tomcat/Unnamed_07_servlet_3/conf/logging.properties
16-Sep-2020 15:34:20.503 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
16-Sep-2020 15:34:20.503 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:-Dcom.sun.management.jmxremote=
16-Sep-2020 15:34:20.503 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:-Dcom.sun.management.jmxremote.port=1099
16-Sep-2020 15:34:20.503 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:-Dcom.sun.management.jmxremote.ssl=false
16-Sep-2020 15:34:20.503 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:-Dcom.sun.management.jmxremote.password.file=/Users/Realtorine/Library/Caches/JetBrains/IntelliJIdea2020.2/tomcat/Unnamed_07_servlet_3/jmxremote.password
16-Sep-2020 15:34:20.503 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:-Dcom.sun.management.jmxremote.access.file=/Users/Realtorine/Library/Caches/JetBrains/IntelliJIdea2020.2/tomcat/Unnamed_07_servlet_3/jmxremote.access
16-Sep-2020 15:34:20.503 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:-Djava.rmi.server.hostname=127.0.0.1
16-Sep-2020 15:34:20.503 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:-Djdk.tls.ephemeralDHKeySize=2048
16-Sep-2020 15:34:20.504 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:-Djava.protocol.handler.pkgs=org.apache.catalina.webresources
16-Sep-2020 15:34:20.504 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:-Dorg.apache.catalina.security.SecurityListener.UMASK=0027
16-Sep-2020 15:34:20.504 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:-Dignore.endorsed.dirs=
16-Sep-2020 15:34:20.504 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:-Dcatalina.base=/Users/Realtorine/Library/Caches/JetBrains/IntelliJIdea2020.2/tomcat/Unnamed_07_servlet_3
16-Sep-2020 15:34:20.504 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:-Dcatalina.home=/usr/local/ApacheTomcat
16-Sep-2020 15:34:20.504 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:-Djava.io.tmpdir=/usr/local/ApacheTomcat/temp
16-Sep-2020 15:34:20.504 信息 [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent 在java.library.path:[/Users/Realtorine/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:.]上找不到基于APR的Apache Tomcat本机库,该库允许在生产环境中获得最佳性能
16-Sep-2020 15:34:20.636 信息 [main] org.apache.coyote.AbstractProtocol.init 初始化协议处理器 ["http-nio-8080"]
16-Sep-2020 15:34:20.652 信息 [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read
16-Sep-2020 15:34:20.666 信息 [main] org.apache.catalina.startup.Catalina.load Initialization processed in 568 ms
16-Sep-2020 15:34:20.690 信息 [main] org.apache.catalina.core.StandardService.startInternal 正在启动服务[Catalina]
16-Sep-2020 15:34:20.690 信息 [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/8.5.57
16-Sep-2020 15:34:20.696 信息 [main] org.apache.coyote.AbstractProtocol.start 开始协议处理句柄["http-nio-8080"]
16-Sep-2020 15:34:20.705 信息 [main] org.apache.catalina.startup.Catalina.start Server startup in 38 ms
Connected to server
[2020-09-16 03:34:20,789] Artifact 07_servlet: Artifact is being deployed, please wait...
16-Sep-2020 15:34:21.711 信息 [RMI TCP Connection(2)-127.0.0.1] org.apache.jasper.servlet.TldScanner.scanJars 至少有一个JAR被扫描用于TLD但尚未包含TLD。 为此记录器启用调试日志记录,以获取已扫描但未在其中找到TLD的完整JAR列表。 在扫描期间跳过不需要的JAR可以缩短启动时间和JSP编译时间。
[2020-09-16 03:34:21,757] Artifact 07_servlet: Artifact is deployed successfully
[2020-09-16 03:34:21,757] Artifact 07_servlet: Deploy took 968 milliseconds
16-Sep-2020 15:34:30.704 信息 [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory 把web 应用程序部署到目录 [/usr/local/ApacheTomcat/webapps/manager]
16-Sep-2020 15:34:30.733 信息 [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Web应用程序目录[/usr/local/ApacheTomcat/webapps/manager]的部署已在[28]毫秒内完成

  1. 打开Project Structure

IDEA 部署Tomcat Web项目出现404错误的解决方式(保姆级别演示,绝对有效)_第2张图片

  1. 设置Module中的path

  1. 添加lib
  • a.在WEB-INF目录下新建一个lib,并将项目所有用到的jar包放入

    IDEA 部署Tomcat Web项目出现404错误的解决方式(保姆级别演示,绝对有效)_第3张图片

  • b.右键lib,选择add as library

    IDEA 部署Tomcat Web项目出现404错误的解决方式(保姆级别演示,绝对有效)_第4张图片

IDEA 部署Tomcat Web项目出现404错误的解决方式(保姆级别演示,绝对有效)_第5张图片

  1. 配置 facets (最关键一步)

此步很重要,配置 web resource directories ,路径配错,就会报 404 ,一定要定位到项目根目录,也就是下面有整个项目源码的地方
IDEA 部署Tomcat Web项目出现404错误的解决方式(保姆级别演示,绝对有效)_第6张图片IDEA 部署Tomcat Web项目出现404错误的解决方式(保姆级别演示,绝对有效)_第7张图片

本人就是因为没有配置Facets,导致一直404

  1. 配置Artifacts(保证能成功启动Tomcat的关键)
    IDEA 部署Tomcat Web项目出现404错误的解决方式(保姆级别演示,绝对有效)_第8张图片

IDEA 部署Tomcat Web项目出现404错误的解决方式(保姆级别演示,绝对有效)_第9张图片
6. 配置Tomcat
这里不再赘述,最关键的一步在于选择Artifact,之后选择你的项目IDEA 部署Tomcat Web项目出现404错误的解决方式(保姆级别演示,绝对有效)_第10张图片

重新启动,问题解决
IDEA 部署Tomcat Web项目出现404错误的解决方式(保姆级别演示,绝对有效)_第11张图片
(注:本人使用的是IDEA ultimate 2020.2版本

你可能感兴趣的:(Javaweb,tomcat,intellij,idea,java)