ssm_crud心得

使用maven搭建项目(使用阿里云的镜像):
Maven中央仓库引入依赖的jar包
Springmvc spring4.3.7
spring jdbc4.3.7
spring aspect 4.3.7
mybatis 3.4.2
mybatis spring1.3.1
c3p0 0.9.2
mysql 5.1.41
jstl servlet junit
使用到的注解
requestmapping autowired service responsebody(自动把返回对象转为json字符串,需要导入jackson包才能正常使用2.8.8)
请求方式:
先前:首页转发emps请求,控制器收到请求,查出分页数据与分页信息,转发到list页面。使用c foreach以及el表达式将数据展示出来(只适用于浏览器与服务器的交互模型)
设计一个通用的返回json数据类msg
定义状态码:100,200
提示信息:
用户要返回给浏览器的数据放在hashmap——extend中,将分页信息pageInfo放在这里面。
页面显示每次操作的数据
页面无刷新,每次拿到数据之后都是直接给页面append。应该清空之前的数据。
前端校验时:清除当前元素的校验状态。
页面无刷新,添加模态框中的数据是之前已经通过校验之后的数据,导致数据可以跳过验证而重复添加。
JSR303验证
校验集中于前端校验:输入张三,去数据库查不可使用,输入不合法email,前端校验不可用。浏览器端校验都是js代码(可以绕过,或者禁用js)关键数据一定要前端校验之后再加上程序后端校验(jsr303)
导入hibe-validator(jsr303数据校验支持),在需要校验的属性上面加上Pattern注解再加上正则表达式与错误提示信息
Ajax发送PUT请求:
问题:请求体中有数据,但是employee对象不能封装数据
导致sql语句拼接不上
原因:tomcat会将请求体中的数据封装伟一个map
Request.getparameter(“empname”)就会从map中取值
Springmvc封装pojo对象的时候
会把每个pojo对象的值,调用Request.getparameter(“empname”)从map中取值。
根本原因:发送PUT请求,请求体中的数据Request.getparameter(“empname”)拿不到
根本原因:tomcat不会封装PUT请求中请求体的数据为map,只有post请求才会封装为map
解决办法:在web。Xml中配置上httpputformcontentfilter过滤器
这个过滤器在doFilterInternal里面判断是否为PUT请求,然后把请求体中的数据包装为一个InputMessage,再调用一个formConverter把InputMessage拿到再读取为一个Map。相当于把PUT请求体中 的数据读取为一个Map。而且还重写了Request.getparameter方法。从而从自己封装的Map中取出请求体的数据。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值