Java HttpServletRequest.getParameter()返回null
以下是我的问题的一点背景: 我使用的是SpringMVC3.1.2.0版本。服务器部署在Amazon AWS上。我有一个简单的控制器Java HttpServletRequest.getParameter()返回null,java,http,servlets,spring-mvc,Java,Http,Servlets,Spring Mvc,以下是我的问题的一点背景: 我使用的是SpringMVC3.1.2.0版本。服务器部署在Amazon AWS上。我有一个简单的控制器 public class MyWebController implements Controller { @Override public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) { try {
public class MyWebController implements Controller {
@Override
public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) {
try {
String delegateGuid = request.getParameter("delegateGuid");
String serviceCodesToBeUpdated = request.getParameter("serviceCodesToBeUpdated");
if (StringUtils.isBlank(delegateGuid) || StringUtils.isBlank(serviceCodesToBeUpdated)) {
throw new MyException("delegateGuid and/or serviceCodesToBeUpdted cannot be null or empty");
}
...
我有一个客户端脚本,它向这个端点发出POST请求。但有时,我点击这个MyException
,它告诉我参数没有设置。但是客户端日志显示在发送请求之前参数设置正确。调试的难点在于它是不可复制的
有人知道是什么导致了这个问题吗?我知道这可能不够详细,无法确定问题所在。但如果您能建议我在代码中插入任何调试日志,那也会很有帮助。我迷路了,我甚至不知道从哪里开始调试这个
谢谢。您检查过web服务器的访问日志了吗?如果是
GET
request,则可以在请求URI中找到参数。对于POST
,您需要自己将其转储,请查看这个tomcat示例。谢谢。这是一个POST
请求。因此,我需要按照说明进行操作;您可以(应该?)使用@RequestParam
注释绑定参数,而不是手动从请求中提取它们。不过,这是一个广泛的主题;更多信息开始时,我将在MyException:throw new MyException消息中记录请求参数的值(String.format(“delegateGuid:%1和/或serviceCodesToBeUpdted:%2不能为null或空”,delegateGuid,ServiceCodeStobeUpdate);