Java 在SpringMVC中获取HTTP请求参数

Java 在SpringMVC中获取HTTP请求参数,java,spring,spring-mvc,parameters,http-request,Java,Spring,Spring Mvc,Parameters,Http Request,我在SpringMVC中获取HTTP请求的参数时遇到问题 在我看来,我有以下链接: 这是我的控制器类代码: package org.springframework.samples.mvc.mapping; 导入javax.servlet.http.HttpServletRequest; 导入org.springframework.http.MediaType; 导入org.springframework.stereotype.Controller; 导入org.springframewor

我在SpringMVC中获取HTTP请求的参数时遇到问题

在我看来,我有以下链接:

  • 这是我的控制器类代码:

    package org.springframework.samples.mvc.mapping;
    导入javax.servlet.http.HttpServletRequest;
    导入org.springframework.http.MediaType;
    导入org.springframework.stereotype.Controller;
    导入org.springframework.web.bind.annotation.RequestBody;
    导入org.springframework.web.bind.annotation.RequestMapping;
    导入org.springframework.web.bind.annotation.RequestMethod;
    导入org.springframework.web.bind.annotation.RequestParam;
    导入org.springframework.web.bind.annotation.ResponseBody;
    @控制器
    公共类映射控制器{
    /*Gestisce HTTP请求在tipo GET che contengono un parametro di nome“foo”VSO il percorso“/映射/参数”
    *Restituise una stringa nel campo body della HTTP响应
    */
    @RequestMapping(value=“/mapping/parameter”,method=RequestMethod.GET,params=“foo”)
    public@ResponseBody字符串byParameter(){
    返回“映射路径+方法+查询参数存在!”;
    }
    /*(PERSONALE)Gestice richieste HTTP di tipo GET verso il path”/mapping/parameter“solo se NON contentgono un parametro di input di nome“myparam”
    *瓦洛雷酒店*/
    @RequestMapping(value=“/mapping/parameter”,method=RequestMethod.GET,params=“myparam”)
    public@ResponseBody String byParameter(@RequestParam(“myparam”)String myparam){
    返回“映射路径+方法+查询参数存在!”(MappingController)。参数值=“+myparam;
    }
    /*Gestisce HTTP请求在tipo GET che NON contengono un parametro di nome“foo”VSO il percorso“/映射/参数”
    *Restituise una stringa nel campo body della HTTP响应
    */
    @RequestMapping(value=“/mapping/parameter”,method=RequestMethod.GET,params=“!foo”)
    public@ResponseBody字符串byParameterNegation(){
    返回“映射路径+方法+不存在查询参数!”;
    }
    }
    
    问题是,当我运行我的应用程序时,如果我单击生成指向
    “/mapping/parameter?myparam=blablabla”
    的HTTP请求的链接,这个请求不会由我的
    public@ResponseBody String byParameter(@RequestParam(“myparam”)String myparam)处理
    method和我在浏览器中有以下错误消息:

    **HTTP状态500-请求处理失败;嵌套异常为java.lang.IllegalStateException:为HTTP路径“”映射的不明确处理程序方法http://localhost:8080/spring-mvc showcase/mapping/parameter':{public java.lang.String org.springframework.samples.mvc.mapping.MappingController.byParameter2(java.lang.String),public java.lang.String org.springframework.samples.mvc.mapping.MappingController.byParameterNegation()}**
    堆栈跟踪中出现以下错误:
    **严重:路径为[/spring mvc showcase]的上下文中Servlet[appServlet]的Servlet.service()引发异常[请求处理失败;嵌套异常为java.lang.IllegalStateException:为HTTP路径映射的不明确处理程序方法'http://localhost:8080/spring-mvc showcase/mapping/parameter':{public java.lang.String org.springframework.samples.mvc.mapping.MappingController.byParameter2(java.lang.String),public java.lang.String org.springframework.samples.mvc.MappingController.byParameterNegation()}带有根本原因
    java.lang.IllegalStateException:为HTTP路径“”映射的不明确处理程序方法http://localhost:8080/spring-mvc showcase/mapping/parameter':{public java.lang.String org.springframework.samples.mvc.mapping.MappingController.byParameter2(java.lang.String),public java.lang.String org.springframework.samples.mvc.mapping.MappingController.byParameterNegation()}
    位于org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.lookupHandlerMethod(AbstractHandlerMethodMapping.java:262)
    位于org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.getHandlerInternal(AbstractHandlerMethodMapping.java:212)
    位于org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.getHandlerInternal(AbstractHandlerMethodMapping.java:55)
    位于org.springframework.web.servlet.handler.AbstractHandlerMapping.getHandler(AbstractHandlerMapping.java:297)
    位于org.springframework.web.servlet.DispatcherServlet.getHandler(DispatcherServlet.java:1091)
    位于org.springframework.web.servlet.DispatcherServlet.getHandler(DispatcherServlet.java:1076)
    位于org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:896)
    位于org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:856)
    位于org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:917)
    位于org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:813)
    位于javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
    位于org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:798)
    位于javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    位于org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
    位于org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    位于org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
    位于org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
    位于org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
    位于org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
    位于org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
    位于org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
    位于org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    位于org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter