Jemo Mgebrishvili
Jemo Mgebrishvili

Reputation: 5487

Controller not invoked in spring-mvc application

I have a strange flow, when I'm trying to start the spring-mvc project, everything were building and starting correctly with localhost:8080 address, but it shows Apache Tomcat home page only and every request for example localhost:8080/login displays HTTP Status 404 – Not Found description:The origin server did not find a current representation for the target resource or is not willing to disclose that one exists. Strange here is that, when I'm trying to run same project in another machine (Ubuntu) it works perfectly, login page appears correctly and every requests works fine. Strange thing also here is that, this unexpected flow came first time for this machine.

tomcat version is 8.5.24

this is my dispatcher-servlet.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>
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/applicationContext.xml</param-value>
    </context-param>
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    <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>

here is applicationContext.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"
       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">

    <context:component-scan base-package="com.awesome"/>

</beans>

And here is my configuration class

@Configuration
@ComponentScan("com.awesome")
@EnableWebMvc
open class AppConfig : WebMvcConfigurerAdapter() {

@Bean
open fun viewResolver(): InternalResourceViewResolver {
    val internalResourceViewResolver = InternalResourceViewResolver()
    internalResourceViewResolver.setSuffix(".jsp")
    internalResourceViewResolver.setPrefix("/")
    return internalResourceViewResolver
}

override fun configureDefaultServletHandling(configurer: DefaultServletHandlerConfigurer?) {
    configurer?.enable()
    }
 }

And here is controller

@Controller
class HomeController {

@RequestMapping("/", method = [(RequestMethod.GET)])
fun displayLoginPage(): String {
    return "login"
}

@RequestMapping("/login", method = [(RequestMethod.POST)])
fun login(@RequestParam user_name:String, @RequestParam password: String, modelMap: ModelMap): String {
    return "main"
    }
}

and here is startup log

    "C:\Program Files\apache-tomcat-8.5.24\bin\catalina.bat" run
[2018-01-22 03:18:25,411] Artifact Wall5:war: Waiting for server connection to start artifact deployment...
Using CATALINA_BASE:   "C:\Users\dev--\.IntelliJIdea2017.3\system\tomcat\Unnamed_Wall5"
Using CATALINA_HOME:   "C:\Program Files\apache-tomcat-8.5.24"
Using CATALINA_TMPDIR: "C:\Program Files\apache-tomcat-8.5.24\temp"
Using JRE_HOME:        "C:\Program Files\Java\jdk1.8.0_144"
Using CLASSPATH:       "C:\Program Files\apache-tomcat-8.5.24\bin\bootstrap.jar;C:\Program Files\apache-tomcat-8.5.24\bin\tomcat-juli.jar"
22-Jan-2018 15:18:26.852 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version:        Apache Tomcat/8.5.24
22-Jan-2018 15:18:26.854 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server built:          Nov 27 2017 13:05:30 UTC
22-Jan-2018 15:18:26.854 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server number:         8.5.24.0
22-Jan-2018 15:18:26.854 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name:               Windows 10
22-Jan-2018 15:18:26.855 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Version:            10.0
22-Jan-2018 15:18:26.855 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Architecture:          amd64
22-Jan-2018 15:18:26.855 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Java Home:             C:\Program Files\Java\jdk1.8.0_144\jre
22-Jan-2018 15:18:26.855 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Version:           1.8.0_144-b01
22-Jan-2018 15:18:26.855 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor:            Oracle Corporation
22-Jan-2018 15:18:26.855 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE:         C:\Users\dev--\.IntelliJIdea2017.3\system\tomcat\Unnamed_Wall5
22-Jan-2018 15:18:26.855 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME:         C:\Program Files\apache-tomcat-8.5.24
22-Jan-2018 15:18:26.857 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.config.file=C:\Users\dev--\.IntelliJIdea2017.3\system\tomcat\Unnamed_Wall5\conf\logging.properties
22-Jan-2018 15:18:26.857 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
22-Jan-2018 15:18:26.857 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcom.sun.management.jmxremote=
22-Jan-2018 15:18:26.857 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcom.sun.management.jmxremote.port=1099
22-Jan-2018 15:18:26.857 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcom.sun.management.jmxremote.ssl=false
22-Jan-2018 15:18:26.857 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcom.sun.management.jmxremote.authenticate=false
22-Jan-2018 15:18:26.857 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.rmi.server.hostname=127.0.0.1
22-Jan-2018 15:18:26.858 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djdk.tls.ephemeralDHKeySize=2048
22-Jan-2018 15:18:26.858 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources
22-Jan-2018 15:18:26.858 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dignore.endorsed.dirs=
22-Jan-2018 15:18:26.858 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.base=C:\Users\dev--\.IntelliJIdea2017.3\system\tomcat\Unnamed_Wall5
22-Jan-2018 15:18:26.858 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.home=C:\Program Files\apache-tomcat-8.5.24
22-Jan-2018 15:18:26.858 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.io.tmpdir=C:\Program Files\apache-tomcat-8.5.24\temp
22-Jan-2018 15:18:26.858 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent Loaded APR based Apache Tomcat Native library [1.2.16] using APR version [1.6.3].
22-Jan-2018 15:18:26.858 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
22-Jan-2018 15:18:26.858 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR/OpenSSL configuration: useAprConnector [false], useOpenSSL [true]
22-Jan-2018 15:18:27.854 INFO [main] org.apache.catalina.core.AprLifecycleListener.initializeSSL OpenSSL successfully initialized [OpenSSL 1.0.2m  2 Nov 2017]
22-Jan-2018 15:18:28.547 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-8080"]
22-Jan-2018 15:18:28.563 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read
22-Jan-2018 15:18:28.569 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["ajp-nio-8009"]
22-Jan-2018 15:18:28.571 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read
22-Jan-2018 15:18:28.571 INFO [main] org.apache.catalina.startup.Catalina.load Initialization processed in 2114 ms
22-Jan-2018 15:18:28.596 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service [Catalina]
22-Jan-2018 15:18:28.596 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/8.5.24
22-Jan-2018 15:18:28.625 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]
22-Jan-2018 15:18:28.638 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-nio-8009"]
22-Jan-2018 15:18:28.641 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 69 ms

Upvotes: 1

Views: 328

Answers (2)

Jemo Mgebrishvili
Jemo Mgebrishvili

Reputation: 5487

I have fixed the problem, I just saw my artifacts and I have changed war artifact with exploded, now everything works fine.

Upvotes: 1

prem kumar
prem kumar

Reputation: 1

In c turbo compiler first compile the code with zero error which is visible by pressing f9 then press ctrl+f9 for output then press alt+f5 the result will be visible on prompt window.

Upvotes: 0

Related Questions