2016-11-29 1 views
0
나는 스프링 MVC를 테스트하기 위해 시도되었다

다음 코드 :HTTP 상태 404 -/로그인/스프링 MVC

의 web.xml : http://java.sun.com/xml/ns/javaee /web-app_3_0.xsd " 버전 ="3.0 ">

<display-name>To do List</display-name> 

    <welcome-file-list> 
      <welcome-file>login.do</welcome-file> 
    </welcome-file-list> 


    <servlet> 
     <servlet-name>dispatcher</servlet-name> 
     <servlet-class> 
      org.springframework.web.servlet.DispatcherServlet 
     </servlet-class> 
     <init-param> 
      <param-name>contextConfigLocation</param-name> 
      <param-value>/WEB-INF/todo-servlet.xml</param-value> 
     </init-param> 
     <load-on-startup>1</load-on-startup> 
    </servlet> 

    <servlet-mapping> 
     <servlet-name>dispatcher</servlet-name> 
     <url-pattern>/spring-mvc/*</url-pattern> 
    </servlet-mapping> 

</web-app> 

할 일-servlet.xml에 :

<beans xmlns="http://www.springframework.org/schema/beans" 
     xmlns:context="http://www.springframework.org/schema/context" 
     xmlns:mvc="http://www.springframework.org/schema/mvc" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://www.springframework.org/schema/beans  http://www.springframework.org/schema/beans/spring-beans-4.0.xsd 
     http://www.springframework.org/schema/mvc  http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd 
     http://www.springframework.org/schema/context  http://www.springframework.org/schema/context/spring-context-4.0.xsd"> 

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

     <mvc:annotation-driven /> 

    </beans> 

LoginController.java :

,691,363 (210 개)
package com.ezmsip.controller; 

import org.springframework.stereotype.Controller; 
import org.springframework.web.bind.annotation.RequestMapping; 
import org.springframework.web.bind.annotation.ResponseBody; 

@Controller 
public class LoginController { 

    @RequestMapping(value="/login") 
    @ResponseBody 
    public String sayHello() { 

     return "Hola Mundo"; 
    } 
} 

HTTP 상태 404 오류 :

HTTP Status 404 - /spring-mvc/login 


type Status report 

message /spring-mvc/login 

description The requested resource is not available. 

아파치 톰캣/8.0.39

톰캣 콘솔 로그 :

nov 29, 2016 10:07:47 AM org.apache.tomcat.util.digester.SetPropertiesRule begin 
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:login' did not find a matching  property. 
nov 29, 2016 10:07:47 AM org.apache.tomcat.util.digester.SetPropertiesRule begin 
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:first-web-app' did not find a  matching property. 
nov 29, 2016 10:07:47 AM org.apache.catalina.startup.VersionLoggerListener log 
INFO: Server version:  Apache Tomcat/8.0.39 
nov 29, 2016 10:07:47 AM org.apache.catalina.startup.VersionLoggerListener log 
INFO: Server built:   Nov 9 2016 08:48:39 UTC 
nov 29, 2016 10:07:47 AM org.apache.catalina.startup.VersionLoggerListener log 
INFO: Server number:   8.0.39.0 
nov 29, 2016 10:07:47 AM org.apache.catalina.startup.VersionLoggerListener log 
INFO: OS Name:    Windows 7 
nov 29, 2016 10:07:47 AM org.apache.catalina.startup.VersionLoggerListener log 
INFO: OS Version:   6.1 
nov 29, 2016 10:07:47 AM org.apache.catalina.startup.VersionLoggerListener log 
INFO: Architecture:   amd64 
nov 29, 2016 10:07:47 AM org.apache.catalina.startup.VersionLoggerListener log 
INFO: Java Home:    C:\Program Files\Java\jre1.8.0_111 
nov 29, 2016 10:07:47 AM org.apache.catalina.startup.VersionLoggerListener log 
INFO: JVM Version:   1.8.0_111-b14 
nov 29, 2016 10:07:47 AM org.apache.catalina.startup.VersionLoggerListener log 
INFO: JVM Vendor:   Oracle Corporation 
nov 29, 2016 10:07:47 AM org.apache.catalina.startup.VersionLoggerListener log 
INFO: CATALINA_BASE:   C:\Users\agaragor\workspaceNeon\RBWG\.metadata\.plugins\org.eclipse.wst.server.c ore\tmp1 
nov 29, 2016 10:07:47 AM org.apache.catalina.startup.VersionLoggerListener log 
INFO: CATALINA_HOME:   C:\Users\agaragor\Apache-Tomcat-V8\apache- tomcat-8.0.39 
nov 29, 2016 10:07:47 AM org.apache.catalina.startup.VersionLoggerListener log 
INFO: Command line argument: - Dcatalina.base=C:\Users\agaragor\workspaceNeon\RBWG\.metadata\.plugins\org.eclip se.wst.server.core\tmp1 
nov 29, 2016 10:07:47 AM org.apache.catalina.startup.VersionLoggerListener log 
INFO: Command line argument: -Dcatalina.home=C:\Users\agaragor\Apache- Tomcat-V8\apache-tomcat-8.0.39 
nov 29, 2016 10:07:47 AM org.apache.catalina.startup.VersionLoggerListener log 
INFO: Command line argument: - Dwtp.deploy=C:\Users\agaragor\workspaceNeon\RBWG\.metadata\.plugins\org.eclipse. wst.server.core\tmp1\wtpwebapps 
nov 29, 2016 10:07:47 AM org.apache.catalina.startup.VersionLoggerListener log 
INFO: Command line argument: -Djava.endorsed.dirs=C:\Users\agaragor\Apache- Tomcat-V8\apache-tomcat-8.0.39\endorsed 
nov 29, 2016 10:07:47 AM org.apache.catalina.startup.VersionLoggerListener log 
INFO: Command line argument: -Dfile.encoding=Cp1252 
nov 29, 2016 10:07:47 AM 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:\windo ws;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;C:\app\aga  ragor\product\11.2.0\dbhome_1\bin;C:\windows\system32;C:\windows;C:\windows\Syst em32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0\;C:\Program Files  (x86)\Skype\Phone\;C:\Program Files\Java\jdk1.8.0_65\bin;C:\Program Files  (x86)\PuTTY\;C:\Users\agaragor\Desktop;;. 
nov 29, 2016 10:07:48 AM org.apache.coyote.AbstractProtocol init 
INFO: Initializing ProtocolHandler ["http-nio-8080"] 
nov 29, 2016 10:07:48 AM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector 
INFO: Using a shared selector for servlet write/read 
nov 29, 2016 10:07:48 AM org.apache.coyote.AbstractProtocol init 
INFO: Initializing ProtocolHandler ["ajp-nio-8009"] 
nov 29, 2016 10:07:48 AM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector 
INFO: Using a shared selector for servlet write/read 
nov 29, 2016 10:07:48 AM org.apache.catalina.startup.Catalina load 
INFO: Initialization processed in 1538 ms 
nov 29, 2016 10:07:48 AM org.apache.catalina.core.StandardService  startInternal 
INFO: Starting service Catalina 
nov 29, 2016 10:07:48 AM org.apache.catalina.core.StandardEngine  startInternal 
INFO: Starting Servlet Engine: Apache Tomcat/8.0.39 
nov 29, 2016 10:07:56 AM 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. 
nov 29, 2016 10:07:58 AM 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. 
nov 29, 2016 10:07:58 AM org.apache.catalina.core.ApplicationContext log 
INFO: No Spring WebApplicationInitializer types detected on classpath 
nov 29, 2016 10:07:59 AM org.apache.catalina.core.ApplicationContext log 
INFO: Initializing Spring FrameworkServlet 'dispatcher' 
nov 29, 2016 10:07:59 AM org.springframework.web.servlet.DispatcherServlet  initServletBean 
INFO: FrameworkServlet 'dispatcher': initialization started 
nov 29, 2016 10:07:59 AM org.springframework.web.context.support.XmlWebApplicationContext prepareRefresh 
INFO: Refreshing WebApplicationContext for namespace 'dispatcher-servlet':  startup date [Tue Nov 29 10:07:59 BRST 2016]; root of context hierarchy 
nov 29, 2016 10:07:59 AM  org.springframework.beans.factory.xml.XmlBeanDefinitionReader  loadBeanDefinitions 
INFO: Loading XML bean definitions from ServletContext resource [/WEB- INF/todo-servlet.xml] 
nov 29, 2016 10:08:02 AM  org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMappi ng register 
INFO: Mapped "{[/login]}" onto public java.lang.String  com.ezmsip.controller.LoginController.sayHello() 
nov 29, 2016 10:08:02 AM  org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapt er initControllerAdviceCache 
INFO: Looking for @ControllerAdvice: WebApplicationContext for namespace  'dispatcher-servlet': startup date [Tue Nov 29 10:07:59 BRST 2016]; root of  context hierarchy 
nov 29, 2016 10:08:02 AM org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapt er initControllerAdviceCache 
INFO: Looking for @ControllerAdvice: WebApplicationContext for namespace  'dispatcher-servlet': startup date [Tue Nov 29 10:07:59 BRST 2016]; root of  context hierarchy 
nov 29, 2016 10:08:02 AM org.springframework.web.servlet.DispatcherServlet initServletBean 
INFO: FrameworkServlet 'dispatcher': initialization completed in 3226 ms 
nov 29, 2016 10:08:02 AM org.apache.coyote.AbstractProtocol start 
INFO: Starting ProtocolHandler ["http-nio-8080"] 
nov 29, 2016 10:08:02 AM org.apache.coyote.AbstractProtocol start 
INFO: Starting ProtocolHandler ["ajp-nio-8009"] 
nov 29, 2016 10:08:02 AM org.apache.catalina.startup.Catalina start 
INFO: Server startup in 14164 ms 
+0

시도해보십시오. Darshit

+0

jsp 파일과 어떻게 맵핑합니까? 보기 리졸버도 표시하십시오. –

+0

@Darshit com.ezmsip. *로 시도했지만 여전히 동일한 오류가 발생합니다. – Alberto

답변

0

은 다음과 같이 web.xml 변경 :

<context-param> 
    <param-name>contextConfigLocation</param-name> 
    <param-value>/WEB-INF/todo-servlet.xml</param-value> 
</context-param> 

<servlet> 
    <servlet-name>dispatcher</servlet-name> 
     <servlet-class> 
      org.springframework.web.servlet.DispatcherServlet 
     </servlet-class> 
     <init-param> 
      <param-name>contextConfigLocation</param-name> 
      <param-value></param-value> 
     </init-param> 
     <load-on-startup>1</load-on-startup> 
</servlet> 

<servlet-mapping> 
    <servlet-name>dispatcher</servlet-name> 
    <url-pattern>/your-mapping/*</url-pattern> 
</servlet-mapping> 

<listener> 
    <listenerclass> 
     org.springframework.web.context.ContextLoaderListener 
    </listener-class> 
</listener> 
+0

Ibrahim, 내가 제안한대로 으로 변경하려고 시도했지만 다음과 같은 오류가 발생합니다. cvc-complex-type.2.4.a : 'context-param'요소로 시작하는 잘못된 내용이 발견되었습니다. '{ "http : // java.sun.com/xml/ns/javaee":init-param,"http://java.sun.com/xml/ns/javaee":load-on-startup , "http : // java.sun.com/xml/ns/javaee":enabled,"http://java.sun.com/xml/ns/javaee":async-supported "http : // java.sun.com/xml/ns/javaee ":run-as, "http://java.sun.com/xml/ns/javaee":security-role-ref" "http : // java.sun .com/xml/ns/javaee ": multipart-config} '가 필요합니다. – Alberto

+0

@Alberto, 답변이 업데이트되었습니다. – Ibrahim

0

제 문제는 제 Eclipse Neon 환경을 JDK 대신 JRE와 함께 실행하도록 설정했기 때문입니다. Eclipse의 init 파일을 편집하고 JDK 경로를 가리키는 -vm 문을 설정해야했습니다.