2016-03-25 10 views
-1
@Controller("/UserAction") 
@RequestMapping("/greet.json") 
public class UserAction extends BaseAction { 

@RequestMapping(value = "/hello", method = RequestMethod.GET) 

public void hello(HttpServletRequest request,HttpServletResponse response) { 

    System.out.println("a"); 
} 

@RequestMapping(value = "/word", method = RequestMethod.GET) 

public void word(HttpServletRequest request,HttpServletResponse response) { 


    System.out.println("[email protected]@@"); 
} 

}Feder mvc Anforderungsverfahren 404 Fehler

wenn ich mir http://localhost:8080/ProjectName/greet.json/hello und http://localhost:8080/ProjectName/greet.json/word nicht SJSO Methode excute kann

Mapped „{[/greet.json], Methoden = [] , params = [], headers = [], konsumiert = [], erzeugt = [], custom = []} "auf public void cn.elfsoft.controller.UserAction.hello (javax.servlet.http.HttpServletRequest, javax. servlet.http.HttpServletResponse) 08: 33: 38,488 INFO [org.springframework.beans.factory.support.DefaultListableBeanFactory] (org.springfram ework.beans.factory.support.DefaultSingletonBeanRegistry: 433) - Löschen von Singletons in org.s[email protected]4eed49c9: Definieren von Beans [org.springframework.context.annotation.internalConfigurationAnnotationProcessor, org.springframework.context.annotation .internalAutowiredAnnotationProcessor, org.springframework.context.annotation.internalRequiredAnnotationProcessor, org.springframework.context.annotation.internalCommonAnnotationProcessor, org.springframework.context.annotation.internalPersistenceAnnotationProcessor, AnswerAction, FileResourceAction, SendMessageAction, SubjectAction, userAction, videoAction, baseDAO, FileResource, QuestionDao , SubjectDao, videoDao, FileResourceService, QuestionService, SubjectService, UserService, videoService, org.springframework.web.servlet.view.InternalResourceViewResolver # 0, org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping # 0, org.springframework .web.servlet.mvc.method.annotation.RequestMapp ingHandlerAdapter # 0, org.springframework.web.servlet.handler.MappedInterceptor # 0, org.springframework.aop.config.internalAutoProxyCreator, cn.elfsoft.log.LogAdvice # 0, dataSource, org.springframework.beans.factory.annotation. AutowiredAnnotationBeanPostProcessor # 0, SessionFactory, jdbcTemplate, txManager, org.springframework.transaction.annotation.AnnotationTransactionAttributeSource # 0, org.springframework.transaction.interceptor.TransactionInterceptor # 0, org.springframework.transaction.config.internalTransactionAdvisor, businessService, org.springframework. aop.support.DefaultBeanFactoryPointcutAdvisor # 0, txAdvice, org.springframework.context.annotation.ConfigurationClassPostProcessor $ ImportAwareBeanPostProcessor # 0]; Wurzel der Fabrikhierarchie 08: 33: 38,490 FEHLER [org.springframework.web.servlet.DispatcherServlet] (org.springframework.web.servlet.FrameworkServlet: 460) - Kontextinitialisierung fehlgeschlagen org.springframework.beans.factory.BeanCreationException: Fehler beim Erstellen der Bean mit dem Namen 'org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping # 0' in der ServletContext-Ressource [/WEB-INF/web-config.xml] definiert: Aufruf der Init-Methode fehlgeschlagen; verschachtelte Ausnahme ist java.lang.IllegalStateException: Mehrdeutige Zuordnung gefunden. Kann die 'userAction' Bean-Methode nicht zuordnen public void cn.elfsoft.controller.UserAction.word (javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) an {[/greet.json], methoden = [] , params = [], headers = [], consumes = [], erzeugt = [], custom = []}: Es gibt bereits die Bean Methode "userAction" public void cn.elfsoft.controller.UserAction.hello (javax. servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) zugeordnet.

Antwort

0

Ich glaube, Sie 2 Anmerkungen haben, die Ihren Betrieb zu verwirren, versuchen, nur zu verwenden, um diese:

@Controller 
public class UserAction extends BaseAction { 

@RequestMapping(value = "/greet.json/hello", method = RequestMethod.GET) 

public void hello(HttpServletRequest request,HttpServletResponse response) { 

    System.out.println("a"); 
} 

@RequestMapping(value = "/greet.json/word", method = RequestMethod.GET) 

public void word(HttpServletRequest request,HttpServletResponse response) { 


    System.out.println("[email protected]@@"); 
} 

Und wenn Sie möchten, einen gemeinsamen Weg zu Ihrem Controller @Controller hinzufügen verwenden („/ commonPath“

)

Und später jede Methode mit dem

@RequestMapping("/specificEndPoint")