1. 程式人生 > >springMvc ajax請求 報406錯誤

springMvc ajax請求 報406錯誤

本專案中用的的版本號分別是:

spring 3.2.3.RELEASE

hibernate 4.2.5.Final

本來搭建框架的時候用的是spring  3.1.4.RELEASE     web.xml中攔截的請求地址為   訪問正常沒有什麼問題

<filter-mapping>
		<filter-name>safetyFilter</filter-name>
		<url-pattern>*.htm</url-pattern>
	</filter-mapping>
但是  因為專案中要用到mockMvc測試   它要求的spring版本必須是3.2以上  所以對spring進行升級  升級之後訪問一般的請求沒有問題  但是隻要是訪問ajax請求 就報406錯誤

上網找了很多內容,都不能解決問題(配置,註解都沒有問題),也不是jackson版本的問題,最後發現是因為版本的原因引起的.spring 3.2時requestedMediaTypes為[text/html] 不是要求的json格式,預設會將.htm、.html採用[text/html]編碼。

解決方法:

將.htm、.html換成.do或者其他的

修改之後:

<filter-mapping>
		<filter-name>safetyFilter</filter-name>
		<url-pattern>*.do</url-pattern>
	</filter-mapping>
若配置了安全過濾器 對應的請求也需要修改:
<filter>
		<filter-name>safetyFilter</filter-name>
		<filter-class>com.pengtu.gsj.utils.filter.SafetyFilter</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>safetyFilter</filter-name>
		<url-pattern>*.do
</url-pattern> </filter-mapping>