发表于: 2018-01-04 23:56:52
1 579
2018年1月4日
今天完成的事情:
完成SSM整合的CRUD,使用Postman测试,PUT方法有问题,其他通过。
修改:
删除:
解决修真院同学的一个问题
用springmvc的HiddenHttpMethodFilter,实现PUT方法后,postman测试失败的问题。
使用debug模式
发现确实调用了处理方法。
这里是因为Tomcat的原因,数据没有传进来,但这并不是根本原因。
接下来,Post跳转时,代码是这么写的:
// 修改的提交页面
@RequestMapping(value = "/u",method = RequestMethod.PUT)
public String updateSave(@Param("user") User user){
System.out.println("======================================");
service.updateUser(user);
logger.info("修改后的用户信息:"+user);
// return "/list"; JSPs only permit GET POST or HEAD
// return "forward:/list";
return "redirect:/list";
}
因为指定了PUT方法,所以,rediret的也是PUT方法,所以报错。
但是为什么在页面中成功了呢?
在Postman中试下Post方法:
发现确实成功了。
查看下debug日志:
发现,redirect的时候使用的竟然是get方法。继续查:
因为带_method=PUT 的 POST本质还是Post,是经过HiddenHttpMethodFilter处理,拿出了method参数,转为put了,springmvc跳转时会自动处理,改成get,但是直接使用PUT测试,redirect的时候依然是PUT,所以报错。
解决办法:
1,改写controller,改成PUT redirect GET
2,使用ajax
idea的几个快捷键
ctrl n,可以搜索类,包括不是自己建的类
shift shift 双击shift,搜索一切。
明天计划的事情:
完善多选删除、全选删除、全不选。
学习原生servlet,springmvc架构,前端处理器,filter,http协议
jvm内存,heap堆
任务2深度思考问题。
遇到的问题:
代码遇到的都是小问题,看下报错就明白,没记录
tomcat服务器老崩溃,应该是内存溢出,vps内存太小了,只有512m,部署完,跑几个小时,就崩溃,改天研究下怎么配置。
postman测试PUT出错
看看传过来的数据:
明天再解决吧
收获:
用log4j打日志来debug的重要性
评论