我看的是尚硅谷的视频学习SpringMVC,在处理REST请求的时候,可以得到请求但是在返回的时候缺出现
代码:
1.web.xml 过滤器配置
<!-- 配置过滤器HiddenHttpMethodFilter-->
<filter>
<filter-name>HiddenHttpMethodFilter</filter-name>
<filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>HiddenHttpMethodFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
2.SpringMVC.xml配置视图解析器
<!-- 视图解析器 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/views/"></property>
<property name="suffix" value=".jsp"></property>
</bean>
3.前台代码,转为REST请求
<form action="springmvc/order/1" method="post">
<input type="hidden" name="_method" value="DELETE">
<input type="submit" value="REST TEST DELETE">
</form>
4.后台代码
@RequestMapping(value="/order/{id}",method=RequestMethod.DELETE)
public String testRestDELETE(@PathVariable("id")Integer id ) {
System.out.println("REST DELETE:" + id );
return "success";
}
运行结果会出现405错误,
查阅资料发现,JSP识别不了REST,他进行返回的时候也是REST风格的所以没法返回到JSP页面
解决方案:
可以加注解 @ResponseBody 使之不返回到JSP
或者使用可以识别REST的前台,
我第一次接触到REST所以不太了解,暂时就这样解决,下次碰到再次完善