[英]Spring mvc servlet-mapping and 406 http core
我正在使用Spring mvc 4和glassfish 4,使用ajax調用時遇到一些問題,即使用@ResponseBody將對象作為json返回。 然后,我找到了一個合適的解決方案HTTP Status406。Spring MVC 4.0,jQuery,JSON無法完全在我的項目上運行,我認為這是因為我的servlet映射。
我的servlet映射是:
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>*.htm</url-pattern>
</servlet-mapping>
但我也想像/ *這樣處理請求,以避免406 http代碼出現問題,因此我嘗試了以下方法:
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
但是,調度程序還映射了* .jsp並中斷了它。最后,我嘗試了以下操作:
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
但是,然后調度程序將* .js和* .css映射為引導程序,jquery等。
現在我沒有了主意。
最后,我修復了它。 為了解決406 http代碼問題,我從ajax指定了內容類型,並從控制器中刪除了* .htm。
另一方面,我必須修復servlet映射並添加資源標簽,以避免出現更多問題。
現在我的servlet映射是這樣的:
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
然后將此行添加到dispatcher-servlet中:
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver"
p:prefix="/WEB-INF/jsp/"
p:suffix=".jsp" />
<mvc:resources mapping="/resources/**" location="/resources/" />
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.