1
升級到Spring MVC的4.1.1後,當我使用JSON,它會出現HTTP 406錯誤。HTTP 406錯誤發生升級到Spring MVC的4.1使用JSON
的pom.xml
<!-- JSON Support -->
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-core-asl</artifactId>
<version>1.9.13</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.13</version>
</dependency>
Controller.java
@RequestMapping(value = "/login.action", method = RequestMethod.POST)
public @ResponseBody HashMap<String, Boolean> loginAction(
@RequestParam(value="username", required=true) String username,
@RequestParam(value="password", required=true) String password,
HttpServletRequest request,
HttpSession session,
Model model) {
String ipAddress = request.getRemoteAddr();
HashMap<String, Boolean> result = getLoginResult(username, password);
logger.info(String.format("User: [Username=%s] tried to log in at %s", new Object[] {username, ipAddress}));
if (result.get("isSuccessful")) {
getSession(request, session, this.user);
}
return result;
}
的login.jsp
<script type="text/javascript">
function doLoginAction(username, password) {
var postData = 'username=' + username + '&password=' + password;
$.ajax({
type: 'POST',
url: '<c:url value="/accounts/login.action" />',
data: postData,
dataType: 'JSON',
success: function(result){
console.log(result);
return processLoginResult(result);
}
});
}
</script>
日誌消息將出正常放置在控制檯上。 而且代碼在Spring MVC 4.0.5中正常工作。
你知道如何解決它嗎?非常感謝。
你的意思是除去* org.codehaus.jackson *依賴,並添加* com.fasterxml.jackson.core *?這不適用於我的機器。它拋出模型類沒有發現異常。 – 2014-10-20 09:33:20
我仍然認爲,第一步要解決這個問題正在更新的依賴。您可能需要在應用程序中更新導入語句。否則,你可以更新你的問題,並在那裏添加一個完整的堆棧跟蹤。 – 2014-10-20 11:40:46