我有一个在WebSphere 7上运行的Spring 4 Web应用程序,我也可以使用Jetty进行本地开发。我无法从WAS更改,我无法更改版本。我正在重构一个非常遗留的应用程序并试图添加Spring来处理功能,并且我重构了servlet。
我有几个控制器可以在Jetty中正常工作。以下是我的几个请求映射:
@RequestMapping(value = "/bank/{routingNumber}", method = RequestMethod.GET)
@ResponseBody
public NACHABank getNachaBank(@PathVariable String routingNumber) {
return bankingService.loadBankByRoutingNumber(routingNumber);
}
@RequestMapping(value = "/payment/accountType", method = RequestMethod.POST)
public String createPaymentBatch(@ModelAttribute PaymentRequest paymentRequest, HttpServletRequest request) {
//do some stuff
return jspName;
}
当我在WAS(本地和我的测试环境中)中运行时,@PathVariable routingNumber
为空。在另一个请求映射中,@ModelAttribute paymentRequest
和HttpServletRequest request
为空。
当我在Jetty中运行时,它们不是,一切正常。
在WAS中,我在服务器启动时没有错误,我得到了正常的Spring启动消息。我的端点映射即:
[6/28/16 10:20:30:695 CDT] 00000025 RequestMappin I org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping register Mapped "{[/bank/{routingNumber}],methods=[GET]}" onto public com.company.domain.NACHABank com.company.view.controller.BankController.getNachaBank(java.lang.String)
[6/28/16 10:20:30:726 CDT] 00000025 RequestMappin I org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping register Mapped "{[/payment/paymentType],methods=[POST]}" onto public java.lang.String com.company.view.controller.PaymentController.createPaymentBatch(com.company.view.request.PaymentRequest,javax.servlet.http.HttpServletRequest)
可能导致此行为的原因是什么?
答案 0 :(得分:1)
我回过头来看看我的承诺历史,我知道这在某一点上有效。几个月前,我从4.1.1升级到Spring 4.3,这就是导致控制器崩溃的原因。我降级到4.1.1,现在一切正常。