2017-02-07 2 views
0

Warum wird die Handler-Methode nicht gefunden?Spring restful Konfigurationsfehler

Ich habe 404 Fehler beim Frühling ruhig mit, ich habe bereits versucht, die meisten Antworten, aber aus irgendeinem Grund nichts funktioniert für mich

Hier meine Konfiguration sind:

Meine web.xml Konfiguration

<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/config/dispatcherServlet.xml 
     </param-value> 
    </init-param> 
    <init-param> 
     <param-name>javaEncoding</param-name> 
     <param-value>UTF-8</param-value> 
    </init-param> 
    <load-on-startup>1</load-on-startup> 
</servlet> 

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

Und

Mein Dispatcher-servlet.xml Konfiguration

<mvc:resources mapping="/img/**" location="/img/*" /> 
<mvc:resources mapping="/js/**" location="/js/*" /> 
<mvc:resources mapping="/ajax/**" location="/ajax/*" /> 

<context:annotation-config></context:annotation-config> 
<context:component-scan base-package="com.crscube.etmf.*" 
    use-default-filters="false"> 
</context:component-scan> 

<!-- <mvc:annotation-driven /> --> 

<!-- Spring MVC @Controller 매핑 --> 
<mvc:annotation-driven> 
    <mvc:message-converters register-defaults="true"> 
     <bean 
      class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"> 
      <property name="supportedMediaTypes" value="text/plain;charset=UTF-8" /> 
     </bean> 
    </mvc:message-converters> 
</mvc:annotation-driven> 
<mvc:default-servlet-handler /> 

<bean 
    class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" /> 

Meine Controller-Quelle und

@Controller 
public class UserController { 

protected final Logger logger = Logger.getLogger(getClass()); 

@Autowired 
UserService userService = new UserServiceImpl(); 

@ResponseBody 
@RequestMapping(value="/users", method=RequestMethod.GET) 
public List<UserModel> getUser() throws Exception{ 

    List<UserModel> listOfUser = userService.getUserList(); 

    return listOfUser; 

} 

Das Problem ist, dass http://localhost:8080/etmf/users gibt mir anfordernden gerade:

DEBUG ({http-bio-8080-exec-2} DispatcherServlet.java [doService ]: 819) [2017-02-07 19: 36: 08.466] - DispatcherServlet mit Name 'Dispatcher' Verarbeitung GET-Anfrage für [/ Etmf/Benutzer] DEBUG ({http-Bio-8080-Exec-2} AbstractHandlerMethodMapping.java [getHandlerInternal]: 213) [2017-02-07 19: 36: 08.487] - Handler-Methode für Pfad/BenutzernachschlagenDEBUG ({http-bio-8080-exec-2} AbstractHandlerMethodMapping.java [getHandlerInternal]: 223) [2017-02-07 19: 36: 08,509] - Handler-Methode für [/ users] nicht gefunden DEBUG ({ http-bio-8080-exec-2} AbstractUrlHandlerMapping.java [lookupHandler]: 169) [2017-02-07 19: 36: 08,541] - Passende Muster für die Anfrage [/ users] sind [/ **] DEBUG ({ http-bio-8080-exec-2} AbstractUrlHandlerMapping.java [lookupHandler]: 193) [2017-02-07 19: 36: 08,564] - URI Template-Variablen für die Anfrage [/ users] sind {} DEBUG ({http- bio-8080-exec-2} AbstractUrlHandlerMapping.java [getHandlerInternal]: 124) [2017-02-07 19: 36: 08.585] - Zuordnung von [/ users] zu HandlerExecutionChain mit Handler [org.springframework.web.servlet.resource. DefaultServletHttpRequestHandler @ 15a63e4a] und 1 Interceptor DEBUG ({http-bio-8080-exec-2} DispatcherServlet.java [doDispatch]: 902) [2017-02-07 19: 36: 08,609] - Last-Modified-Wert für [/ etmf/users] ist: -1 DEBUG ({http-bio-8080-exec-2} DispatcherServlet.java [doDispatch]: 957) [2017-02-07 19: 36: 08,631 ] - Null ModelAndView kehrte zu DispatcherServlet mit dem Namen 'Dispatcher' zurück: Annahme, dass HandlerAdapter die Bearbeitung der Anfrage abgeschlossen hat DEBUG ({http-bio-8080-exec-2} FrameworkServlet.java [processRequest]: 913) [2017-02-07 19:36 : 08,650] - Anforderung erfolgreich abgeschlossen

Wie kann ich dieses Problem lösen?

Danke.

+0

Ihr '@ RequestMapping' Wert "/ Benutzer", aber Sie versuchen, zu öffnen'/ETMF/Benutzer ' – Optio

+0

Lassen Sie mich wissen, wenn unten Antwort für Sie gearbeitet .. –

Antwort

0

Ich denke, Sie brauchen 2 Korrekturen in Ihrer Dispatcher-Servlet.xml-Konfiguration. 1. base-package = "com.crscube.etmf" 2. MappingJackson2HttpMessageConverter Kopieren Sie den Code unterhalb der Dispatcher-Servlet.xml-Datei und versuchen Sie es erneut.

<mvc:resources mapping="/ajax/**" location="/ajax/*" /> 

<context:annotation-config></context:annotation-config> 
<context:component-scan base-package="com.crscube.etmf" 
    use-default-filters="false"> 
</context:component-scan> 

<!-- <mvc:annotation-driven /> --> 

<!-- Spring MVC @Controller 매핑 --> 
<mvc:annotation-driven> 
    <mvc:message-converters register-defaults="true"> 
     <bean 
      class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"> 
      <property name="supportedMediaTypes" value="text/plain;charset=UTF-8" /> 
     </bean> 
    </mvc:message-converters> 
</mvc:annotation-driven> 
<mvc:default-servlet-handler />