Java 在SpringMVC中获取HTTP请求参数
我在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
这是我的控制器类代码:
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