首先:一些隐含的知识点要知道
POST 的不支持对静态资源的访问[默认情况下是这样,个人不太了解,仅总结大概思路],如果是post 而响应的是个静态资源,则很多情况下出现这种错误
因此在使用POST应尽量避免响应的是静态资源。
还有个知识点:使用Ajax 时候,不要响应 forward 或 redirect 因为基本上是不跳转的,无效的。Ajax 接受的只是返回的数据,只可能把本来该跳转后的网页弄成数据发送给你。
当然如果仅需要支持GET 在SpringMVC中想得到静态页面的响应需要以下配置
<mvc:annotation-driven/> <mvc:resources mapping="/source/**" location="/source/"/> <mvc:resources mapping="/html/**" location="/html/"/>
如果要GET POST都可以把静态资源作为响应,则需要如下配置,可以自定义请求类型
<mvc:annotation-driven/> <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> <property name="urlMap"> <map> <entry key="/html/**" value="myResourceHandler"/> <entry key="/source/**" value="myResourceHandler"/> </map> </property> <property name="order" value="0"/> </bean> <bean id="myResourceHandler" name="myResourceHandler" class="org.springframework.web.servlet.resource.ResourceHttpRequestHandler"> <property name="locations"> <list> <value>/html/</value> <value>/source/</value> </list> </property> <property name="supportedMethods"> <list> <value>GET</value> <value>HEAD</value> <value>POST</value> </list> </property>