网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

SpringMVC处理Put或Delete请求报错及解决方法-创新互联

首先先贴原代码和报错提示

成都创新互联是一家以网站建设公司、网页设计、品牌设计、软件运维、网站推广、小程序App开发等移动开发为一体互联网公司。已累计为火锅店设计等众行业中小客户提供优质的互联网建站和软件开发服务。

1.在web.xml配置文件中配置HiddenHttpMethodFilter,它的作用是能把POST请求转换为PUT或DELETE请求。

HiddenHttpMethodFilter

org.springframework.web.filter.HiddenHttpMethodFilter

HiddenHttpMethodFilter

/*

2.配置视图解析器

3.在JSP页面中发送PUT或DELETE请求。注意表单中method必须为post,隐藏域中name和value属性如下所示:

4.在目标方法中接收请求。

@RequestMapping("/SpringMVC")

@Controller

public class SpringMVCTest {

private static final String Success = "Success";

@RequestMapping(value="/testRest/{id}", method=RequestMethod.PUT)

@ResponseBody

public String testRestPut(@PathVariable Integer id) {

System.out.println("testRest Put:"+id);

return Success;

}

@RequestMapping(value="/testRest/{id}", method=RequestMethod.DELETE)

public String testRestDelete(@PathVariable Integer id) {

System.out.println("testRest Delete:"+id);

return Success;

}

}无锡妇科医院排行榜 http://mobile.chfk120.com

4.正常来说是可以跳转到Success.jsp页面的,但是却出现了错误(我就只贴文字了)

HTTP Status 405 – Method Not Allowed

Type Status Report

消息 JSP 只允许 GET、POST 或 HEAD。Jasper 还允许 OPTIONS

描述 请求行中接收的方法由源服务器知道,但目标资源不支持

Apache Tomcat/9.0.20

5.原因分析:JSP只支持GET与POST请求,而我们发起的是REST风格的请求,同样调用了PUT与DELETE方法,JSP无法解析。

6.解决方法:为controller里的testRestPut和tsetRestDelete方法添加**@ResponseBody注解**。如下所示:

@RequestMapping(value="/testRest/{id}", method=RequestMethod.PUT)

@ResponseBody

public String testRestPut(@PathVariable Integer id) {

System.out.println("testRest Put:"+id);

return Success;

}

@RequestMapping(value="/testRest/{id}", method=RequestMethod.DELETE)

@ResponseBody

public String testRestDelete(@PathVariable Integer id) {

System.out.println("testRest Delete:"+id);

return Success;

}

然后上网查阅了@responseBody注解的作用,这里大致贴一段:

-)将controller的方法返回的对象通过适当的转换器转换为指定的格式之后,写入到response对象的body区,通常用来返回JSON数据或者是XML数据。添加此注解后,直接将数据写入到输入流,不会再走视图处理器。他的效果等同于通过response对象输出指定格式的数据。

添加注解之后顺利解决问题。

创新互联www.cdcxhl.cn,专业提供香港、美国云服务器,动态BGP最优骨干路由自动选择,持续稳定高效的网络助力业务部署。公司持有工信部办法的idc、isp许可证, 机房独有T级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。


新闻名称:SpringMVC处理Put或Delete请求报错及解决方法-创新互联
标题路径:http://bjjierui.cn/article/egcod.html

其他资讯