0

I have a project using Maven3 to run on Tomcat 7.

Tomcat is running and the maven project successfully deployed to tomcat; however when I visit my project link http://localhost:8080/myWebApp I get a 404 error.

I am wondering if I have to log in to tomcat first?

I am quite new to this set up so excuse my ignorance if I am missing something obvious.

EDIT

My localhost log

           Jun 10, 2014 10:51:39 AM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Error configuring application listener of class org.apache.catalina.deploy.ApplicationListener@c9d8da8
java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:527)
at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:509)
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:137)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4854)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5434)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:976)
at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1653)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)

Jun 10, 2014 10:51:39 AM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Skipped installing application listeners due to previous error(s)
Jun 10, 2014 10:51:48 AM org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: contextInitialized()
Jun 10, 2014 10:51:48 AM org.apache.catalina.core.ApplicationContext log
INFO: SessionListener: contextInitialized()   
Jun 10, 2014 10:51:48 AM org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: attributeAdded('org.apache.jasper.compiler.TldLocationsCache', 'org.apache.jasper.compiler.TldLocationsCache@1de3ac1a')
Jun 10, 2014 10:58:03 AM org.apache.catalina.core.ApplicationContext log
INFO: No Spring WebApplicationInitializer types detected on classpath

In my pom.xml I have the following Spring dependencies

 <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>${spring.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
        <version>${spring.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>${spring.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc-portlet</artifactId>
        <version>${spring.version}</version>
    </dependency>
     <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-tx</artifactId>
        <version>${spring.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-expression</artifactId>
        <version>${spring.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-beans</artifactId>
        <version>${spring.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-aop</artifactId>
        <version>${spring.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>${spring.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context-support</artifactId>
        <version>${spring.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-jdbc</artifactId>
        <version>${spring.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-orm</artifactId>
        <version>${spring.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-oxm</artifactId>
        <version>${spring.version}</version>
    </dependency>

EDIT 2

I fixed the Spring Error in the first edit by following the instructions here but I am still getting a 404 error. No errors on any of the tomcat logs.

My pom.xml tomcat plugin is

    <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>tomcat-maven-plugin</artifactId>
         <configuration>
               <url>http://localhost:8080/manager/text</url>
               <server>tomcat</server>
              <path>/myWebApp</path>
         </configuration>
    </plugin>

EDIT 3

My 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" 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>FindLove</display-name>
<servlet>
    <servlet-name>user</servlet-name>
    <servlet-class>
        org.springframework.web.servlet.DispatcherServlet
    </servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>user</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/user-servlet.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
 </web-app>
Community
  • 1
  • 1
L. Young
  • 163
  • 3
  • 7
  • 24

2 Answers2

1

Most likely it's deployed under another context name. Considering you're using Maven, probably the version number is included, so you might be able to access at http://localhost:8080/myWebApp-0.0.1-SNAPSHOT or something similar, depending on your project's actual version.

I think the Tomcat log indicates the context name.

Robby Cornelissen
  • 91,784
  • 22
  • 134
  • 156
  • In the catalina log there are no errors however in localhost log I have `SEVERE: Error configuring application listener of class org.apache.catalina.deploy.ApplicationListener@c9d8da8 java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener` So I will look at that thank you. – L. Young Jun 10 '14 at 09:12
  • Yeah, most likely you're not providing the required Spring libraries in your web application's `lib` folder. – Robby Cornelissen Jun 10 '14 at 09:16
  • I've added my pom.xml dependencies to the original post. The spring dependencies are all available I must have some other problem. – L. Young Jun 10 '14 at 09:49
  • You may have the dependencies defined in your POM file, but Tomcat seems unable to find them. Are you deploying the WAR file, or running the server from within your IDE? – Robby Cornelissen Jun 10 '14 at 10:08
  • I'm deploying using `mvn tomcat:deploy` and I don't get any errors on the tomcat stack trace or on maven when deploying – L. Young Jun 10 '14 at 10:13
  • I added another EDIT. The error is fixed but I am still getting 404 from tomcat. No error on any of the log files. – L. Young Jun 10 '14 at 10:24
  • sorry findlove was an old name I've updated I'm using http://localhost:8080/myWebApp – L. Young Jun 10 '14 at 10:47
  • Do you have an `index.html`, `index.jsp` or other welcome file present? Is it configured in your `web.xml`? – Robby Cornelissen Jun 10 '14 at 11:12
  • I have an index.jsp but there is no reference to it in the web.xml – L. Young Jun 10 '14 at 11:22
  • if I go my `localhost:8080/manager/html` I can see `/myWebApp` and running is set to true however when i try go to `localhost:8080/myWebApp` I still receive the 404 status – L. Young Jun 10 '14 at 18:38
0

Can you provide us tomcat log?. It may cause by deployment problem

hamitana
  • 126
  • 1
  • 1
  • 7
  • added in my original post – L. Young Jun 10 '14 at 09:44
  • Okay I can see. So I guess another problem is about your Controller configuration. Can you post your Controller config like Spring annotation/ Spring beans configuration file, etc. – hamitana Jun 11 '14 at 03:55