I have seen a lot of similar questions but none of them were helpful.
I have made a Spring Boot application
and I am trying to run it on tomcat v8.5
. The application is running when I chose embedded tomcat
. When I run external tomcat
, I get following lines on console in red color
:
Dec 26, 2022 6:03:36 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server version name: Apache Tomcat/8.5.84
Dec 26, 2022 6:03:36 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server built: Nov 16 2022 13:34:24 UTC
Dec 26, 2022 6:03:36 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server version number: 8.5.84.0
Dec 26, 2022 6:03:36 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: OS Name: Windows 10
Dec 26, 2022 6:03:36 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: OS Version: 10.0
Dec 26, 2022 6:03:36 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Architecture: amd64
Dec 26, 2022 6:03:36 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Java Home: C:\Program Files\Java\jdk1.8.0_301\jre
Dec 26, 2022 6:03:36 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: JVM Version: 1.8.0_301-b09
Dec 26, 2022 6:03:36 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: JVM Vendor: Oracle Corporation
Dec 26, 2022 6:03:36 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: CATALINA_BASE: E:\DevHub\.metadata\.plugins\org.eclipse.wst.server.core\tmp2
Dec 26, 2022 6:03:36 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: CATALINA_HOME: E:\apache-tomcat-8.5.84
Dec 26, 2022 6:03:36 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dcatalina.base=E:\DevHub\.metadata\.plugins\org.eclipse.wst.server.core\tmp2
Dec 26, 2022 6:03:36 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dcatalina.home=E:\apache-tomcat-8.5.84
Dec 26, 2022 6:03:36 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dwtp.deploy=E:\DevHub\.metadata\.plugins\org.eclipse.wst.server.core\tmp2\wtpwebapps
Dec 26, 2022 6:03:36 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Djava.endorsed.dirs=E:\apache-tomcat-8.5.84\endorsed
Dec 26, 2022 6:03:36 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dfile.encoding=Cp1252
Dec 26, 2022 6:03:36 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
INFO: The Apache Tomcat Native library which allows using OpenSSL was not found on the java.library.path: [C:\Program Files\Java\jdk1.8.0_301\bin;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;D:/Softwares/sts-4.13.0.RELEASE//plugins/org.eclipse.justj.openjdk.hotspot.jre.full.win32.x86_64_17.0.1.v20211116-1657/jre/bin/server;D:/Softwares/sts-4.13.0.RELEASE//plugins/org.eclipse.justj.openjdk.hotspot.jre.full.win32.x86_64_17.0.1.v20211116-1657/jre/bin;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\apache-maven-3.8.2\bin;C:\Program Files\nodejs\;C:\Program Files\Git\cmd;C:\Program Files\Docker\Docker\resources\bin;C:\ProgramData\DockerDesktop\version-bin;C:\Program Files\MySQL\MySQL Shell 8.0\bin\;C:\Users\Geo Information\AppData\Local\Microsoft\WindowsApps;C:\Users\Geo Information\AppData\Roaming\npm;C:\Users\Geo Information\AppData\Local\Programs\Microsoft VS Code\bin;C:\Program Files\Java\jdk1.8.0_301\bin;C:\Program Files\MySQL\MySQL Server 5.7\bin;;D:\Softwares\sts-4.13.0.RELEASE;;.]
Dec 26, 2022 6:03:36 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-nio-9090"]
Dec 26, 2022 6:03:36 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 1121 ms
Dec 26, 2022 6:03:36 PM org.apache.catalina.core.StandardService startInternal
INFO: Starting service [Catalina]
Dec 26, 2022 6:03:36 PM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet engine: [Apache Tomcat/8.5.84]
Dec 26, 2022 6:03:38 PM org.apache.catalina.util.SessionIdGeneratorBase createSecureRandom
WARNING: Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [1,011] milliseconds.
Dec 26, 2022 6:03:38 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-nio-9090"]
Dec 26, 2022 6:03:38 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 1689 ms
My Controller
is:
package com.devhub.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.servlet.ModelAndView;
@Controller
public class HomeController {
@GetMapping({"/home", "/"})
public ModelAndView home() {
System.out.println("Hello");
return new ModelAndView("components/home");
}
}
But it gives me 404 page not found
on the frontend.
Following is my pom.xml
file
<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.0.1</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
<groupId>com.devhub</groupId>
<artifactId>devhub</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>devhub</name>
<description>DevHub Project in Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>javax.servlet.jsp-api</artifactId>
<scope>provided</scope>
<version>2.3.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/jstl/jstl -->
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
I have tried solution https://stackoverflow.com/a/25151930/16437679 . By following this, on localhost:8080
I am getting the tomcat configuration
screen. But on entering my url which is http://localhost:8080/devhub/home
, I get 404
. I also tried changing URL to http://localhost:8080/home
but still getting 404.