Getting 404 when running jersey-quickstart-webapp on tomcat 9 in eclipse - java

In eclipse I am creating a new maven project using the archetype "jersey-quickstart-webapp" of org.glassfish
pom.xml (note that source and target versions were 1.7 at the beginning and I changed them to 1.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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.valak</groupId>
<artifactId>mydemo</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>mydemo</name>
<build>
<finalName>mydemo</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.5.1</version>
<inherited>true</inherited>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.glassfish.jersey</groupId>
<artifactId>jersey-bom</artifactId>
<version>${jersey.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet-core</artifactId>
<!-- use the following artifactId if you don't need servlet 2.x compatibility -->
<!-- artifactId>jersey-container-servlet</artifactId -->
</dependency>
<dependency>
<groupId>org.glassfish.jersey.inject</groupId>
<artifactId>jersey-hk2</artifactId>
</dependency>
<!-- uncomment this to get JSON support
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-json-binding</artifactId>
</dependency>
-->
</dependencies>
<properties>
<jersey.version>2.30</jersey.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
</project>
web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!-- This web.xml file is not required when using Servlet 3.0 container,
see implementation details http://jersey.java.net/nonav/documentation/latest/jax-rs.html -->
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet>
<servlet-name>Jersey Web Application</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>jersey.config.server.provider.packages</param-name>
<param-value>com.valak.mydemo</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Jersey Web Application</servlet-name>
<url-pattern>/webapi/*</url-pattern>
</servlet-mapping>
</web-app>
MyResource.java (in the package com.valak.mydemo):
package com.valak.mydemo;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
/**
* Root resource (exposed at "myresource" path)
*/
#Path("myresource")
public class MyResource {
/**
* Method handling HTTP GET requests. The returned object will be sent
* to the client as "text/plain" media type.
*
* #return String that will be returned as a text/plain response.
*/
#GET
#Produces(MediaType.TEXT_PLAIN)
public String getIt() {
return "Got it!";
}
}
Then I right click the project, "run as" > "run configurations" > "apache tomcat 9". I go to http://localhost:8080/mydemo/webapi/myresource from my browser and get a 404, just in case I tried http://localhost:8080/webapi/myresource and still get the 404.
This is what appears in the "console" tab of eclipse, I'm not seeing any error:
Feb 07, 2020 11:55:22 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server version name: Apache Tomcat/9.0.30
Feb 07, 2020 11:55:22 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server built: Dec 7 2019 16:42:04 UTC
Feb 07, 2020 11:55:22 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server version number: 9.0.30.0
Feb 07, 2020 11:55:22 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: OS Name: Windows 10
Feb 07, 2020 11:55:22 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: OS Version: 10.0
Feb 07, 2020 11:55:22 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Architecture: amd64
Feb 07, 2020 11:55:22 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Java Home: C:\Program Files\Java\jdk1.8.0_231\jre
Feb 07, 2020 11:55:22 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: JVM Version: 1.8.0_231-b11
Feb 07, 2020 11:55:22 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: JVM Vendor: Oracle Corporation
Feb 07, 2020 11:55:22 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: CATALINA_BASE: C:\Users\Valak\eclipse-workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0
Feb 07, 2020 11:55:22 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: CATALINA_HOME: E:\Download da chrome win10\apache-tomcat-9.0.30
Feb 07, 2020 11:55:22 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dcatalina.base=C:\Users\Valak\eclipse-workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0
Feb 07, 2020 11:55:22 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dcatalina.home=E:\Download da chrome win10\apache-tomcat-9.0.30
Feb 07, 2020 11:55:22 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dwtp.deploy=C:\Users\Valak\eclipse-workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps
Feb 07, 2020 11:55:22 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Djava.endorsed.dirs=E:\Download da chrome win10\apache-tomcat-9.0.30\endorsed
Feb 07, 2020 11:55:22 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dfile.encoding=UTF-8
Feb 07, 2020 11:55:22 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: [C:\Program Files\Java\jdk1.8.0_231\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/Program Files/Java/jdk-13/bin/server;C:/Program Files/Java/jdk-13/bin;C:\Program Files\Java\jdk1.8.0_231;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Users\Valak\AppData\Local\Microsoft\WindowsApps;C:\Users\Valak\Downloads\gradle-6.0.1\bin;;C:\Windows\system32;;.]
Feb 07, 2020 11:55:23 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-nio-8080"]
Feb 07, 2020 11:55:23 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-nio-8009"]
Feb 07, 2020 11:55:23 PM org.apache.catalina.startup.Catalina load
INFO: Server initialization in [679] milliseconds
Feb 07, 2020 11:55:23 PM org.apache.catalina.core.StandardService startInternal
INFO: Starting service [Catalina]
Feb 07, 2020 11:55:23 PM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet engine: [Apache Tomcat/9.0.30]
Feb 07, 2020 11:55:23 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-nio-8080"]
Feb 07, 2020 11:55:23 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-nio-8009"]
Feb 07, 2020 11:55:23 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in [264] milliseconds

How it was solved:
1) right click > properties > project facets > tick dynamic web module 4
2) right click > properties > deployment assembly > add source:"src/main/webapp" and deploy path "/". While the server runs it looks for WEB-INF and index.jsp in the root folder "/", not in src/main/webapp and eclipse doesn't automatically deploy the files from that source folder to "/"
3) right click > properties > deployment assembly > add java build path entries (in an eclipse bug report this solution was recommended AGAINST because it should be done automatically by eclipse, not the case for me)
right click > run as > run on server > tomcat 9 and there will be the homepage instead of tomcat's 404. Clicking "jersey resource" will lead you to /webapi/myresource and return the success text "Got it"

Simply change jersey version in your pom.xml
<jersey.version>2.28</jersey.version>
and try to execute it on tomcat 8.

a solution on my side worked as follows :
change jersey version to 2.26-b03 in pom file.
change packages in class file MyResource.java from
jakarta to javax.
use javax.ws.rs.core.MediaType.TEXT_PLAIN instead of
javax.ws.rs.core.Media.TEXT_PLAIN;

Related

Error running project on tomcat in eclipse

I have a test listener which i created for learning purposes. It was working fine and i was trying to learn JSTL and added the dependent jar to build path and also pasted them under WEB-INF/lib directory of my project, i also did a maven update because my JSTL was not working. Now when i try to run tomcat and access through browser i get below error
Below is my project directory and tomcat logs from console.
Console logs:
Feb 23, 2022 11:53:38 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server version name: Apache Tomcat/8.5.69
Feb 23, 2022 11:53:38 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server built: Jun 30 2021 18:00:00 UTC
Feb 23, 2022 11:53:38 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server version number: 8.5.69.0
Feb 23, 2022 11:53:38 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: OS Name: Windows 10
Feb 23, 2022 11:53:38 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: OS Version: 10.0
Feb 23, 2022 11:53:38 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Architecture: amd64
Feb 23, 2022 11:53:38 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Java Home: C:\Users\shiva\.p2\pool\plugins\org.eclipse.justj.openjdk.hotspot.jre.full.win32.x86_64_16.0.2.v20210721-1149\jre
Feb 23, 2022 11:53:38 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: JVM Version: 16.0.2+7-67
Feb 23, 2022 11:53:38 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: JVM Vendor: Oracle Corporation
Feb 23, 2022 11:53:38 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: CATALINA_BASE: C:\Users\shiva\eclipse-workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0
Feb 23, 2022 11:53:38 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: CATALINA_HOME: D:\Software\apache-tomcat-8.5.69-windows-x64\apache-tomcat-8.5.69
Feb 23, 2022 11:53:38 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dcatalina.base=C:\Users\shiva\eclipse-workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0
Feb 23, 2022 11:53:38 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dcatalina.home=D:\Software\apache-tomcat-8.5.69-windows-x64\apache-tomcat-8.5.69
Feb 23, 2022 11:53:38 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dwtp.deploy=C:\Users\shiva\eclipse-workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps
Feb 23, 2022 11:53:38 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: --add-opens=java.base/java.lang=ALL-UNNAMED
Feb 23, 2022 11:53:38 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: --add-opens=java.base/java.io=ALL-UNNAMED
Feb 23, 2022 11:53:38 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: --add-opens=java.base/java.util=ALL-UNNAMED
Feb 23, 2022 11:53:38 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: --add-opens=java.base/java.util.concurrent=ALL-UNNAMED
Feb 23, 2022 11:53:38 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
Feb 23, 2022 11:53:38 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dfile.encoding=Cp1252
Feb 23, 2022 11:53:38 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -XX:+ShowCodeDetailsInExceptionMessages
Feb 23, 2022 11:53:38 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:\Users\shiva\.p2\pool\plugins\org.eclipse.justj.openjdk.hotspot.jre.full.win32.x86_64_16.0.2.v20210721-1149\jre\bin;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:/Users/shiva/.p2/pool/plugins/org.eclipse.justj.openjdk.hotspot.jre.full.win32.x86_64_16.0.2.v20210721-1149/jre/bin/server;C:/Users/shiva/.p2/pool/plugins/org.eclipse.justj.openjdk.hotspot.jre.full.win32.x86_64_16.0.2.v20210721-1149/jre/bin;C:\app\shiva\product\21c\dbhomeXE\bin;C:\Program Files\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:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR;C:\Program Files\nodejs\;C:\Program Files\Git\cmd;C:\Program Files (x86)\dotnet\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;D:\Software\mongosh-1.1.7-win32-x64\mongosh-1.1.7-win32-x64\bin;C:\Users\shiva\AppData\Local\Microsoft\WindowsApps;C:\Users\shiva\AppData\Local\Programs\Microsoft VS Code\bin;C:\Users\shiva\AppData\Roaming\npm;C:\apache-maven-3.8.2\bin;C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2021.3\bin;;D:\Software\mongosh-1.1.7-win32-x64\mongosh-1.1.7-win32-x64\bin;;C:\Users\shiva\Desktop;;.]
Feb 23, 2022 11:53:38 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-nio-8080"]
Feb 23, 2022 11:53:38 PM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
INFO: Using a shared selector for servlet write/read
Feb 23, 2022 11:53:38 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 974 ms
Feb 23, 2022 11:53:38 PM org.apache.catalina.core.StandardService startInternal
INFO: Starting service [Catalina]
Feb 23, 2022 11:53:38 PM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet engine: [Apache Tomcat/8.5.69]
Feb 23, 2022 11:53:39 PM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Error configuring application listener of class [shop.MyServletContextListener]
java.lang.ClassNotFoundException: shop.MyServletContextListener
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1415)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1223)
at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:538)
at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:519)
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:150)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4686)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5232)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1429)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1419)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
at java.base/java.lang.Thread.run(Thread.java:831)
Feb 23, 2022 11:53:39 PM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Skipped installing application listeners due to previous error(s)
Feb 23, 2022 11:53:39 PM org.apache.catalina.core.StandardContext startInternal
SEVERE: One or more listeners failed to start. Full details will be found in the appropriate container log file
Feb 23, 2022 11:53:39 PM org.apache.catalina.core.StandardContext startInternal
SEVERE: Context [/shop] startup failed due to previous errors
Feb 23, 2022 11:53:39 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-nio-8080"]
Feb 23, 2022 11:53:39 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 487 ms
Below is my web.xml file:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="WebApp_ID" version="3.1">
<display-name>Shopping Application</display-name>
<servlet>
<servlet-name>shoppingServlet</servlet-name>
<servlet-class>shop.ShoppingServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>shoppingServlet</servlet-name>
<url-pattern>/shopping</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>loginServlet</servlet-name>
<servlet-class>shop.LoginServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>loginServlet</servlet-name>
<url-pattern>/login</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>downloadServlet</servlet-name>
<servlet-class>shop.DownloadServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>downloadServlet</servlet-name>
<url-pattern>/down</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>listenerServlet</servlet-name>
<servlet-class>shop.ListenerServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>listenerServlet</servlet-name>
<url-pattern>/listen</url-pattern>
</servlet-mapping>
<context-param>
<param-name>breed</param-name>
<param-value>German Shephard</param-value>
</context-param>
<servlet>
<servlet-name>MyTest</servlet-name>
<jsp-file>/MyTest.jsp</jsp-file>
<init-param>
<param-name>email</param-name>
<param-value>shivamsingh794#gmail.com</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>MyTest</servlet-name>
<url-pattern>/MyTest.jsp</url-pattern>
</servlet-mapping>
<listener>
<listener-class>
shop.MyServletContextListener
</listener-class>
</listener>
</web-app>

My Spring Application is not working. 404 error is coming instead of jsp file

Below one is my PageController.java class
package com.fayis.shopping.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
#Controller
public class PageController {
#RequestMapping(value = {"/","/home","/index"})
public ModelAndView index()
{
ModelAndView mv=new ModelAndView("page");
mv.addObject("greeting", "Hi");
return mv;
}
}
Below one is my Page.jsp page
<%# page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
test
</body>
</html>
Below one is my my dispatcher servlet dispatcher-servlet.xml
<beans xmlns = "http://www.springframework.org/schema/beans"
xmlns:context = "http://www.springframework.org/schema/context"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation = "http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/mvc htt p://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd"
>
<mvc:default-servlet-handler/>
<context:component-scan base-package="com.fayis.shopping.controller" />
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/view/" />
<property name="suffix" value=".jsp" />
</bean>
</beans>
Below one is my web.xml file -web.xml
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
<display-name>Archetype Created Web Application</display-name>
<!-- Front Controller -->
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-
class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
</web-app>
Below one is my is my pom.xml file -Pom.xml
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.fayis</groupId>
<artifactId>shopping</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>shopping Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-web-api</artifactId>
<version>7.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<!-- Spring Dependancy -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>4.3.6.RELEASE</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
<finalName>shopping</finalName>
</build>
</project>
Below are my console logs
Sep 23, 2018 6:20:57 PM org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:shopping' did not find a matching property.
Sep 23, 2018 6:20:57 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server version: Apache Tomcat/8.0.53
Sep 23, 2018 6:20:57 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server built: Jun 29 2018 14:42:45 UTC
Sep 23, 2018 6:20:57 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server number: 8.0.53.0
Sep 23, 2018 6:20:57 PM org.apache.catalina.startup.VersionLoggerListener
log
INFO: OS Name: Windows 8.1
Sep 23, 2018 6:20:57 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: OS Version: 6.3
Sep 23, 2018 6:20:57 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Architecture: amd64
Sep 23, 2018 6:20:57 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Java Home: C:\Program Files\Java\jre1.8.0_111
Sep 23, 2018 6:20:57 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: JVM Version: 1.8.0_111-b14
Sep 23, 2018 6:20:57 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: JVM Vendor: Oracle Corporation
Sep 23, 2018 6:20:57 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: CATALINA_BASE: C:\Users\Mohammed Fayis\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0
Sep 23, 2018 6:20:57 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: CATALINA_HOME: C:\Program Files\Apache Software Foundation\Tomcat 8.0
Sep 23, 2018 6:20:57 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dcatalina.base=C:\Users\Mohammed Fayis\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0
Sep 23, 2018 6:20:57 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dcatalina.home=C:\Program Files\Apache Software Foundation\Tomcat 8.0
Sep 23, 2018 6:20:57 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dwtp.deploy=C:\Users\Mohammed Fayis\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps
Sep 23, 2018 6:20:57 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Djava.endorsed.dirs=C:\Program Files\Apache Software Foundation\Tomcat 8.0\endorsed
Sep 23, 2018 6:20:57 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dfile.encoding=Cp1252
Sep 23, 2018 6:20:57 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jre1.8.0_111\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/Program Files/Java/jre1.8.0_111/bin/server;C:/Program Files/Java/jre1.8.0_111/bin;C:/Program Files/Java/jre1.8.0_111/lib/amd64;C:\ProgramData\Oracle\Java\javapath;E:\app\oracl\product\11.2.0\dbhome_1\bin;c:\Program Files (x86)\Intel\iCLS Client\;c:\Program Files\Intel\iCLS Client\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\nodejs\;C:\Program Files\Java\jdk1.8.0_111\bin;C:\Users\Mohammed Fayis\AppData\Roaming\npm;C:\Program Files\Microsoft VS Code\bin;E:\Softwares\eclipse;;.
Sep 23, 2018 6:20:58 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-nio-8080"]
Sep 23, 2018 6:20:58 PM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
INFO: Using a shared selector for servlet write/read
Sep 23, 2018 6:20:58 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-nio-8009"]
Sep 23, 2018 6:20:58 PM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
INFO: Using a shared selector for servlet write/read
Sep 23, 2018 6:20:58 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 1766 ms
Sep 23, 2018 6:20:58 PM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
Sep 23, 2018 6:20:58 PM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/8.0.53
Sep 23, 2018 6:21:01 PM org.apache.jasper.servlet.TldScanner scanJars
INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
Sep 23, 2018 6:21:01 PM org.apache.catalina.core.ApplicationContext log
INFO: No Spring WebApplicationInitializer types detected on classpath
Sep 23, 2018 6:21:01 PM org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring FrameworkServlet 'dispatcher'
Sep 23, 2018 6:21:01 PM org.springframework.web.servlet.DispatcherServlet initServletBean
INFO: FrameworkServlet 'dispatcher': initialization started
Sep 23, 2018 6:21:01 PM org.springframework.web.context.support.XmlWebApplicationContext prepareRefresh
INFO: Refreshing WebApplicationContext for namespace 'dispatcher-servlet': startup date [Sun Sep 23 18:21:01 IST 2018]; root of context hierarchy
Sep 23, 2018 6:21:01 PM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
INFO: Loading XML bean definitions from ServletContext resource [/WEB-INF/dispatcher-servlet.xml]
Sep 23, 2018 6:21:02 PM org.springframework.web.servlet.handler.SimpleUrlHandlerMapping registerHandler
INFO: Mapped URL path [/**] onto handler 'org.springframework.web.servlet.resource.DefaultServletHttpRequestHandler#0'
Sep 23, 2018 6:21:03 PM org.springframework.web.servlet.DispatcherServlet initServletBean
INFO: FrameworkServlet 'dispatcher': initialization completed in 1726 ms
Sep 23, 2018 6:21:03 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-nio-8080"]
Sep 23, 2018 6:21:03 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-nio-8009"]
Sep 23, 2018 6:21:03 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 4385 ms
aaaaa a a a a a a aaaaa a a a a a aa a aaaaa a aaaaa
These are my codes please help me in solving this.
Below is the Project link in github. Please help me in fixing this
https://github.com/mohammedfayisp/shoppingcart.git
You haven't specified your servlet container but for example in tomcat to get to your app you have to include your war file name in URL like this: localhost:8080/your_app-1.0-SNAPSHOT
Secondly in web.xml you have <url-pattern>/</url-pattern> which only maps / and won't map /index or /home.
To match this URLs your pattern should look like this <url-pattern>/*</url-pattern>
It worked now. Just like a miracle. when I updated dispatcher-servlet spring bean definition it worked. Later I changed it back and still was working.

Why do I always have this when starting a webmvc project? No mapping found for HTTP request?

This problem have been driving me crazy for a week now. I have been searching around solutions but cannot find it. I have tried starting new project and it keeps happening to me. I do not think its my code error. I think it has to do with my Eclipse configuration.
I am using JDK1.8, latest Eclipse IDE, and tomcat 8.5.
If anyone can help me solve this problem, then u guys will make my whole week.
Please help me figure out the problem... PLEASE!
I'm going to try to make this clean as possible because I need help badly.
here is my directory tree:
First off, this is my pom.xml
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.tutorialspoint</groupId>
<artifactId>HelloWeb</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>HelloWeb Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>3.2.18.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>3.2.18.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>3.2.18.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>3.2.18.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>3.2.18.RELEASE</version>
</dependency>
</dependencies>
<build>
<finalName>HelloWeb</finalName>
</build>
</project>
This is my web.xml
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
<display-name>Archetype Created Web Application</display-name>
<servlet>
<servlet-name>HelloWeb</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>HelloWeb</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
This is my Servlet 'HelloWeb-servlet.xml'
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd">
<context:component-scan
base-package="com.tutorialspoint">
</context:component-scan>
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/"></property>
<property name="suffix" value=".jsp"></property>
</bean>
<context:annotation-config></context:annotation-config>
</beans>
My controller 'HelloController'
package com.tutorialspoint;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.ui.ModelMap;
#Controller
#RequestMapping("/hello")
public class HelloController {
#RequestMapping(method = RequestMethod.GET)
public String printHello(ModelMap model) {
model.addAttribute("message", "Hello Spring MVC Framework!");
return "hello";
}
}
Lastly, my jsp 'hello.jsp'
<%# page contentType = "text/html; charset = UTF-8" %>
<html>
<head>
<title>Hello World</title>
</head>
<body>
<h2>${message}</h2>
</body>
</html>
Here is the console output and some warning code:
Apr 11, 2018 11:09:32 PM org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.j2ee.server:HelloWeb' did not find a matching property.
Apr 11, 2018 11:09:32 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server version: Apache Tomcat/8.5.29
Apr 11, 2018 11:09:32 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server built: Mar 5 2018 13:11:12 UTC
Apr 11, 2018 11:09:32 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server number: 8.5.29.0
Apr 11, 2018 11:09:32 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: OS Name: Mac OS X
Apr 11, 2018 11:09:32 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: OS Version: 10.13.4
Apr 11, 2018 11:09:32 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Architecture: x86_64
Apr 11, 2018 11:09:32 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Java Home: /Library/Java/JavaVirtualMachines/jdk1.8.0_161.jdk/Contents/Home/jre
Apr 11, 2018 11:09:32 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: JVM Version: 1.8.0_161-b12
Apr 11, 2018 11:09:32 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: JVM Vendor: Oracle Corporation
Apr 11, 2018 11:09:32 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: CATALINA_BASE: /Users/boss/Documents/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0
Apr 11, 2018 11:09:32 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: CATALINA_HOME: /Users/boss/Documents/apache-tomcat-8.5.29
Apr 11, 2018 11:09:32 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dcatalina.base=/Users/boss/Documents/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0
Apr 11, 2018 11:09:32 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dcatalina.home=/Users/boss/Documents/apache-tomcat-8.5.29
Apr 11, 2018 11:09:32 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dwtp.deploy=/Users/boss/Documents/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps
Apr 11, 2018 11:09:32 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Djava.endorsed.dirs=/Users/boss/Documents/apache-tomcat-8.5.29/endorsed
Apr 11, 2018 11:09:32 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dfile.encoding=UTF-8
Apr 11, 2018 11:09:32 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: [/Users/boss/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:.]
Apr 11, 2018 11:09:33 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-nio-8080"]
Apr 11, 2018 11:09:33 PM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
INFO: Using a shared selector for servlet write/read
Apr 11, 2018 11:09:33 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-nio-8009"]
Apr 11, 2018 11:09:33 PM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
INFO: Using a shared selector for servlet write/read
Apr 11, 2018 11:09:33 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 532 ms
Apr 11, 2018 11:09:33 PM org.apache.catalina.core.StandardService startInternal
INFO: Starting service [Catalina]
Apr 11, 2018 11:09:33 PM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/8.5.29
Apr 11, 2018 11:09:35 PM org.apache.jasper.servlet.TldScanner scanJars
INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
Apr 11, 2018 11:09:37 PM org.apache.jasper.servlet.TldScanner scanJars
INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
Apr 11, 2018 11:09:37 PM org.apache.catalina.core.ApplicationContext log
INFO: No Spring WebApplicationInitializer types detected on classpath
Apr 11, 2018 11:09:37 PM org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring FrameworkServlet 'HelloWeb'
Apr 11, 2018 11:09:37 PM org.springframework.web.servlet.DispatcherServlet initServletBean
INFO: FrameworkServlet 'HelloWeb': initialization started
Apr 11, 2018 11:09:37 PM org.springframework.web.context.support.XmlWebApplicationContext prepareRefresh
INFO: Refreshing WebApplicationContext for namespace 'HelloWeb-servlet': startup date [Wed Apr 11 23:09:37 PDT 2018]; root of context hierarchy
Apr 11, 2018 11:09:37 PM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
INFO: Loading XML bean definitions from ServletContext resource [/WEB-INF/HelloWeb-servlet.xml]
Apr 11, 2018 11:09:37 PM org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons
INFO: Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory#7bb8b4fb: defining beans [org.springframework.context.annotation.internalConfigurationAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor,org.springframework.web.servlet.view.InternalResourceViewResolver#0,org.springframework.context.annotation.ConfigurationClassPostProcessor.importAwareProcessor]; root of factory hierarchy
Apr 11, 2018 11:09:37 PM org.springframework.web.servlet.DispatcherServlet initServletBean
INFO: FrameworkServlet 'HelloWeb': initialization completed in 571 ms
Apr 11, 2018 11:09:37 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-nio-8080"]
Apr 11, 2018 11:09:37 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-nio-8009"]
Apr 11, 2018 11:09:37 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 4879 ms
Apr 11, 2018 11:09:38 PM org.springframework.web.servlet.PageNotFound noHandlerFound
WARNING: No mapping found for HTTP request with URI [/HelloWeb/] in DispatcherServlet with name 'HelloWeb'
EDIT:
I have made an edit to my HelloController.java on #RequestMapping from /hello to /
The code still does not work.
package com.tutorialspoint;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.ui.ModelMap;
#Controller
#RequestMapping("/")
public class HelloController {
#RequestMapping(method = RequestMethod.GET)
public String printHello(ModelMap model) {
model.addAttribute("message", "Hello Spring MVC Framework!");
return "hello";
}
}
I didn't test it but you may try to adding the following to your web.xml file.
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/HelloWeb-servlet.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
Also, based on your controller the path would be /HelloWeb/hello
You are defining your web.xml for Tomcat 5, Servlet 2.3.
Try switching to a newer version, at least 2.5, usign XSD instead of DTD
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
Also, don't forget to declare a <mvc:annotation-driven /> member in your XML configuration.
And generally speaking, perhaps it should be better to start using a more up to date Spring MVC tutorial since the Spring version you're using (3.2) was released like 7 years ago?
I have done two things and it works fine in my side.
First,add <mvc:annotation-driven/> in HelloWeb-servlet.xml
Then,enable EL expression in hello.jsp with the following code:
<%# page language="java" contentType="text/html; charset=UTF-8"%>
<%# page isELIgnored="false" %><!-- add this line to enable ex expression -->
After doing this, it can run success in my side,and the running result is as below:
If it still do not work in your side,you need to clean and rebuild it,or recreat it again.
I have upload my source code into Google Drive,you can check it if necessary(note the project name is utest but the build path is /HelloWeb)

Having issues compiling a REST WebService using Maven and Jersey library

I'm having issues with Jersey compiling a WebService, i see a lot of answers to that question, but none seens to help me. I'm trying to run this on tomcat 8.5, and have all dependencies set and download by maven. This is the Error:
nov 02, 2017 12:47:03 PM org.apache.tomcat.util.digester.SetPropertiesRule begin
ADVERTÊNCIA: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.j2ee.server:carros' did not find a matching property.
nov 02, 2017 12:47:03 PM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: Server version: Apache Tomcat/8.5.20
nov 02, 2017 12:47:03 PM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: Server built: Aug 2 2017 21:35:49 UTC
nov 02, 2017 12:47:03 PM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: Server number: 8.5.20.0
nov 02, 2017 12:47:03 PM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: OS Name: Windows 10
nov 02, 2017 12:47:03 PM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: OS Version: 10.0
nov 02, 2017 12:47:03 PM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: Architecture: x86
nov 02, 2017 12:47:03 PM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: Java Home: C:\Program Files (x86)\Java\jdk1.8.0_151\jre
nov 02, 2017 12:47:03 PM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: JVM Version: 1.8.0_151-b12
nov 02, 2017 12:47:03 PM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: JVM Vendor: Oracle Corporation
nov 02, 2017 12:47:03 PM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: CATALINA_BASE: C:\Users\PsychoPeres\eclipse-workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0
nov 02, 2017 12:47:03 PM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: CATALINA_HOME: C:\Program Files\Apache Software Foundation\apache-tomcat-8.5.20
nov 02, 2017 12:47:03 PM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: Command line argument: -Dcatalina.base=C:\Users\PsychoPeres\eclipse-workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0
nov 02, 2017 12:47:03 PM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: Command line argument: -Dcatalina.home=C:\Program Files\Apache Software Foundation\apache-tomcat-8.5.20
nov 02, 2017 12:47:03 PM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: Command line argument: -Dwtp.deploy=C:\Users\PsychoPeres\eclipse-workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps
nov 02, 2017 12:47:03 PM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: Command line argument: -Djava.endorsed.dirs=C:\Program Files\Apache Software Foundation\apache-tomcat-8.5.20\endorsed
nov 02, 2017 12:47:03 PM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: Command line argument: -Dfile.encoding=Cp1252
nov 02, 2017 12:47:03 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
INFORMAÇÕES: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: [C:\Program Files (x86)\Java\jdk1.8.0_151\jre\bin;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:/Program Files/Java/jre1.8.0_141/bin/server;C:/Program Files/Java/jre1.8.0_141/bin;C:/Program Files/Java/jre1.8.0_141/lib/amd64;C:\ProgramData\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files\Git\cmd;C:\Program Files\Git\mingw64\bin;C:\Program Files\Git\usr\bin;C:\Program Files\nodejs\;C:\Users\PsychoPeres\AppData\Local\Microsoft\WindowsApps;;C:\Program Files (x86)\Microsoft VS Code\bin;C:\Users\PsychoPeres\AppData\Roaming\npm;C:\eclipse;;.]
nov 02, 2017 12:47:03 PM org.apache.coyote.AbstractProtocol init
INFORMAÇÕES: Initializing ProtocolHandler ["http-nio-8080"]
nov 02, 2017 12:47:03 PM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
INFORMAÇÕES: Using a shared selector for servlet write/read
nov 02, 2017 12:47:03 PM org.apache.coyote.AbstractProtocol init
INFORMAÇÕES: Initializing ProtocolHandler ["ajp-nio-8009"]
nov 02, 2017 12:47:03 PM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
INFORMAÇÕES: Using a shared selector for servlet write/read
nov 02, 2017 12:47:03 PM org.apache.catalina.startup.Catalina load
INFORMAÇÕES: Initialization processed in 779 ms
nov 02, 2017 12:47:03 PM org.apache.catalina.core.StandardService startInternal
INFORMAÇÕES: Starting service [Catalina]
nov 02, 2017 12:47:03 PM org.apache.catalina.core.StandardEngine startInternal
INFORMAÇÕES: Starting Servlet Engine: Apache Tomcat/8.5.20
nov 02, 2017 12:47:07 PM org.apache.jasper.servlet.TldScanner scanJars
INFORMAÇÕES: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
nov 02, 2017 12:47:12 PM org.apache.jasper.servlet.TldScanner scanJars
INFORMAÇÕES: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
nov 02, 2017 12:47:12 PM org.apache.coyote.AbstractProtocol start
INFORMAÇÕES: Starting ProtocolHandler ["http-nio-8080"]
nov 02, 2017 12:47:12 PM org.apache.coyote.AbstractProtocol start
INFORMAÇÕES: Starting ProtocolHandler ["ajp-nio-8009"]
nov 02, 2017 12:47:12 PM org.apache.catalina.startup.Catalina start
INFORMAÇÕES: Server startup in 8535 ms
nov 02, 2017 12:47:23 PM org.apache.catalina.core.ApplicationContext log
INFORMAÇÕES: Marking servlet [Jersey REST Service] as unavailable
nov 02, 2017 12:47:23 PM org.apache.catalina.core.StandardWrapperValve invoke
GRAVE: Allocate exception for servlet [Jersey REST Service]
java.lang.ClassNotFoundException: org.glassfish.jersey.servlet.ServletContainer
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1285)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1119)
at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:512)
at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:493)
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:119)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1050)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:779)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:133)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:478)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:80)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:799)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1457)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)
This is the pom.xml
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>br.com.livro</groupId>
<artifactId>carros</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>carros Maven Webapp</name>
<url>http://maven.apache.org</url>
<!-- Dependências -->
<dependencies>
<!-- JUnit -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<!-- Servlet -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
<scope>provided</scope>
</dependency>
<!-- MySQL -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.35</version>
<scope>compile</scope>
</dependency>
<!-- Jersey -->
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet</artifactId>
<version>2.18</version>
</dependency>
<!-- Google-GSON -->
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.3.1</version>
</dependency>
</dependencies>
<build>
<finalName>carros</finalName>
<plugins>
<!-- Compiler -->
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>
</project>
This is the Web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
id="WebApp_ID" version="3.0">
<display-name>Carros</display-name>
<servlet>
<servlet-name>Jersey REST Service</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>javax.ws.rs.Application</param-name>
<param-value>br.com.livro.rest.MyApplication</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>Jersey REST Service</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
i'm seen a lot of people misusing the Jersey 1.x and then showing that error, but in my dependencies i'm using the 2.x version and yet the errors appears.
try add this:
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet-core</artifactId>
<version>2.18</version>
</dependency>
today, last version is 2.26
Thank you guys, i figured out that i didn't had my Maven Dependencies in my deployment assembly, when i put it there it had worked.
Thank you all for your time.

Unable to add Spring MVC dependency to Maven Project

I am new to Spring Mvc.. I am trying to create a Maven Based Spring Mvc Demo..
The basic "hello world" Demo is working fine. It prints the "Hello World" when I hit "http://localhost:8080/SampleRestful/"
But, the moment I add spring-webmvc dependency to my pom.xml and run it on server, it throws the Error 404 on hitting "http://localhost:8080/SampleRestful/".
Here is the pom.xml
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.promact.maven</groupId>
<artifactId>SampleRestful</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>SampleRestful Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>4.3.0.RELEASE</version>
</dependency>
</dependencies>
<build>
<finalName>SampleRestful</finalName>
</build>
</project>
Here is the error log :
Mar 24, 2017 12:19:48 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server version: Apache Tomcat/8.5.8
Mar 24, 2017 12:19:48 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server built: Nov 3 2016 21:14:13 UTC
Mar 24, 2017 12:19:48 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server number: 8.5.8.0
Mar 24, 2017 12:19:48 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: OS Name: Windows 7
Mar 24, 2017 12:19:48 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: OS Version: 6.1
Mar 24, 2017 12:19:48 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Architecture: amd64
Mar 24, 2017 12:19:48 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Java Home: C:\Program Files\Java\jdk1.8.0_92\jre
Mar 24, 2017 12:19:48 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: JVM Version: 1.8.0_92-b14
Mar 24, 2017 12:19:48 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: JVM Vendor: Oracle Corporation
Mar 24, 2017 12:19:48 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: CATALINA_BASE: D:\SpringWorkspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0
Mar 24, 2017 12:19:48 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: CATALINA_HOME: C:\Program Files\Apache Software Foundation\Tomcat 8.5
Mar 24, 2017 12:19:48 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dcatalina.base=D:\SpringWorkspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0
Mar 24, 2017 12:19:48 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dcatalina.home=C:\Program Files\Apache Software Foundation\Tomcat 8.5
Mar 24, 2017 12:19:48 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dwtp.deploy=D:\SpringWorkspace
Mar 24, 2017 12:19:48 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Djava.endorsed.dirs=C:\Program Files\Apache Software Foundation\Tomcat 8.5\endorsed
Mar 24, 2017 12:19:48 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dfile.encoding=Cp1252
Mar 24, 2017 12:19:48 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jdk1.8.0_92\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/Program Files/Java/jre1.8.0_92/bin/server;C:/Program Files/Java/jre1.8.0_92/bin;C:/Program Files/Java/jre1.8.0_92/lib/amd64;C:\ProgramData\Oracle\Java\javapath;C:\webserver\ImageMagick;C:\Program Files (x86)\ImageMagick-6.8.1-Q16;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Python27;D:\Nishant\Android\android-sdk\platform-tools;D:\Nishant\Android\android-sdk\tools;C:\Program Files (x86)\QuickTime\QTSystem\;C:\Program Files (x86)\Ant 1.8\bin;C:\Program Files (x86)\Ant 1.8\lib;C:\Program Files\Java\jdk1.7.0_06\bin;C:\Program Files\Java\jdk1.6.0_30\bin;C:\Program Files\OpenSSL\bin;C:\webserver\MySQL\bin;C:\Ruby193\bin;C:\Users\nishant\Downloads\libs\depot_tools\;D:\Nishant\Android\android-ndk-r8e\;C:\Python27\;C:\Python27\Scripts\;C:\Program Files\gradle-2.1-all\gradle-2.1\bin\;C:\Program Files\TortoiseGit\bin;C:\Users\m\AppData\Local\GitHub\PortableGit_054f2e797ebafd44a30203088cd3d58663c627ef\bin;D:\setups\apache-ant-1.9.4\bin;C:\Program Files\nodejs;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;C:\Program Files\Microsoft SQL Server\120\Tools\Binn\;C:\Program Files\Java\jdk1.8.0_92\bin\;C:\Program Files\Java\jdk1.8.0_92\;C:\Program Files\nodejs\;D:\setups\java\apache-maven-3.3.9\bin;C:\Users\m\AppData\Roaming\npm;C:\Users\m\AppData\Local\atom\bin;D:\setups\java\spring-tool-suite-3.8.2.RELEASE-e4.6.1-win32-x86_64\sts-bundle\sts-3.8.2.RELEASE;;.
Mar 24, 2017 12:19:49 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-nio-8080"]
Mar 24, 2017 12:19:49 PM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
INFO: Using a shared selector for servlet write/read
Mar 24, 2017 12:19:49 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-nio-8009"]
Mar 24, 2017 12:19:49 PM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
INFO: Using a shared selector for servlet write/read
Mar 24, 2017 12:19:49 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 835 ms
Mar 24, 2017 12:19:49 PM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
Mar 24, 2017 12:19:49 PM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/8.5.8
Mar 24, 2017 12:19:49 PM org.apache.catalina.util.SessionIdGeneratorBase createSecureRandom
INFO: Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [110] milliseconds.
Mar 24, 2017 12:19:49 PM org.apache.catalina.startup.HostConfig deployDescriptor
INFO: Deploying configuration descriptor D:\SpringWorkspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\conf\Catalina\localhost\SampleRestful.xml
Mar 24, 2017 12:19:49 PM org.apache.catalina.startup.SetContextPropertiesRule begin
WARNING: [SetContextPropertiesRule]{Context} Setting property 'source' to 'org.eclipse.jst.j2ee.server:SampleRestful' did not find a matching property.
Mar 24, 2017 12:19:49 PM org.apache.catalina.core.ContainerBase addChildInternal
SEVERE: ContainerBase.addChild: start:
org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/SampleRestful]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:752)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:728)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734)
at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:596)
at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1805)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.catalina.LifecycleException: Failed to initialize component [org.apache.catalina.webresources.StandardRoot#3f797939]
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:112)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:140)
at org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:4842)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4974)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
... 10 more
Caused by: org.apache.catalina.LifecycleException: Failed to initialize component [org.apache.catalina.webresources.DirResourceSet#572b1df8]
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:112)
at org.apache.catalina.webresources.StandardRoot.initInternal(StandardRoot.java:675)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:107)
... 14 more
Caused by: java.lang.IllegalArgumentException: The directory specified by base and internal path [D:\SpringWorkspace\SampleRestful\target\m2e-wtp\web-resources]\[] does not exist.
at org.apache.catalina.webresources.DirResourceSet.checkType(DirResourceSet.java:251)
at org.apache.catalina.webresources.AbstractFileResourceSet.initInternal(AbstractFileResourceSet.java:145)
at org.apache.catalina.webresources.DirResourceSet.initInternal(DirResourceSet.java:259)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:107)
... 16 more
Mar 24, 2017 12:19:49 PM org.apache.catalina.startup.HostConfig deployDescriptor
SEVERE: Error deploying configuration descriptor D:\SpringWorkspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\conf\Catalina\localhost\SampleRestful.xml
java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/SampleRestful]]
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:756)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:728)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734)
at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:596)
at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1805)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Mar 24, 2017 12:19:49 PM org.apache.catalina.startup.HostConfig deployDescriptor
INFO: Deployment of configuration descriptor D:\SpringWorkspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\conf\Catalina\localhost\SampleRestful.xml has finished in 15 ms
Mar 24, 2017 12:19:49 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler [http-nio-8080]
Mar 24, 2017 12:19:49 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler [ajp-nio-8009]
Mar 24, 2017 12:19:49 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 632 ms
I am unable to find the reason behind the issue. Please Help..!! :(
Spring MVC can't be used alone, it needs other dependecies like : Spring-core, Spring-context, Spring-beans and Spring-web.
If you want to start a new SpringMVC project I'll recommand you to do as follow (this is how I do when I start a new SpringMVC project):
1) Add Spring Tool Suite to Eclipse (go to "Help"(menu)->Eclipse Marketplace-> (in Find serch bar) enter "STS" and install it.
2) Then in Eclipse, go to File->Spring Legacy Project->Spring MVC Project (enter a project name), click next, enter a package name and finish.
You'll have a pre-configured Spring MVC project which works fine. I suggest you to change the versions of Java and other dependecies.
I hope this will help you.
Basically it means, that Tomcat does not know what to do with the source attribute from context.
First thing first, you can't start mvc maven project with only one jar.
Add other DI, like spring core, and others to run it: What are the jars needed for only Spring-MVC?
You can change tomcat server configuration. Open the server view, double click on your server to open server configuration. Then click to activate "Publish module contents to separate XML files". Finally, restart your server and the problem will be fixed.
2nd thing that you can do, is to try with other version of tomcat. Update project, clean maven, build it and run after that.
Also if that doesn't help you.
This one is a great example of how to deploy your project on Tomcat server by using Maven's tomcat-maven-plugin: http://www.mkyong.com/maven/how-to-deploy-maven-based-war-file-to-tomcat/

Categories

Resources