REST风格的增删改查(1)
一、RESTFUL风格的CRUD(增删改查)案例
1.需求:
①显示所有员工信息:URI:emps,请求方式:GET
②添加员工所有信息:显示添加页面:URI:emp,请求方式:GET,
添加员工信息:URI:emp,请求方式:POST
③删除员工信息:URI:emp/{id},请求方式DELETE
④修改操作:lastName不可修改
显示修改页面:URI:emp/{id}
请求方式:GET
显示效果:回显表单
修改员工信息:URI:emp
请求方式:PUT
显示效果:修改完成,重定向到list页面
2.相关的类
实体类:Employee、Department
Handler:EmployeeHandler
Dao:EmployeeDao、DepartmentDao
3.相关页面
list.jsp
input.jsp
edit.jsp
注意:控制器跳转时:当请求到这个方法,把查到员工的集合放到Map中,同时自动的放入到请求域中,跳转到目标页面之后就可以直接获取
在CRUD操作中,修改操作要注意:
1.首先因为添加和修改表单样式差不多,所以使用了同一个页面input.jsp,因此需要使用ID来区分不同的操作,
当有ID传到input.jsp时,说明是修改操作,没有ID时说明是添加操作。
2.修改操作,首先规定姓名不可更改,所以在修改时,使用if取消掉name的输入框,使用改变
请求方式,提交到Handler类中,在Handler类分两步完成修改操作,其一:跳转到修改页面input.jsp,其中跳转到input.jsp页面需要回显,
所以点击修改时需要传一个参数ID,使用该参数查询到一个对象,并把该对象放入到map中同时也会放入到域对象中,其二:提交修改后的数据
该操作使用@ModelAttribute注解,由于提交的页面input.jsp中会提交一个隐藏域ID,并改变请求方式,
所以该注解会在从数据库中根据ID找到一个对象,由于@ModelAttribute注解标注的方法会在目标方法之前执行,所以目标方法执行employeeDao.save(employee);
操作时,对象employee是一个:从数据库中取出的,并把表单提交的参数值赋到其中之后的对象
二、数据校验和格式化
格式化:
1.格式化日期:由字符串转化成yyyy-MM-dd
在实体类上使用@DateTimeFormat(pattern=”yyyy-MM-dd”)标注属性private Date birth;
在Spring配置文件中配置<mvc:annotation-driven></mvc:annotation-driven>
2.格式化金额:使用注解@NumberFormat(pattern=”#,###,###.#”)标注在属性private Float salary;
校验:
1.使用JSR303验证标准
①加入hibernate validator验证框架的jar包
②在SpringMVC配置文件中添加:<mvc:annotation-driver>
③在Bean的属性上添加对应的注解
④在目标方法Bean类型的前面添加@Valid注解(在Controller类控制跳转的handler中,)
注意:需校验的Bean对象和其绑定结果对象/错误对象是成对出现的,他们之间不允许声其他入参:
(@Valid Employee employee, BindingResult result)
REST风格的增删改查(1)的更多相关文章
- nodejs+express+mysql实现restful风格的增删改查示例
首先,放上项目github地址:https://github.com/codethereforam/express-mysql-demo 一.前言 之前学的java,一直用的ssm框架写后台.前段时间 ...
- 进入全屏 nodejs+express+mysql实现restful风格的增删改查示例
首先,放上项目github地址:https://github.com/codethereforam/express-mysql-demo 一.前言 之前学的java,一直用的ssm框架写后台.前段时间 ...
- REST风格的增删改查(2)
一.源码 1.页面 index.jsp <a href="emps">List All Employee</a> <br><br> ...
- SpringMVC 之 RESTful 风格的增删改查
1. 视图和视图解析器 视图解析器 请求处理方法执行完成后,最终返回一个ModelAndView对象,对于返回String,View 或 ModelMap 等类型的处理方法, SpringMVC 也会 ...
- 如何用Spring框架的<form:form>标签实现REST风格的增删改查操作
1.首先创建两个bean类,Employee(职工)和Department(部门),一个部门可以有多个职工 Employee类(属性:职工ID:id:姓名:lastName:邮箱:email:性别:g ...
- springmvc-实现增删改查
30. 尚硅谷_佟刚_SpringMVC_RESTRUL_CRUD_显示所有员工信息.avi现在需要使用restful风格实现增删改查,需要将post风格的请求转换成PUT 请求和DELETE 请求 ...
- Restful风格wcf调用2——增删改查
写在前面 上篇文章介绍如何将wcf项目,修改成restful风格的接口,并在上面提供了查询的功能,上篇文章中也感谢园友在评论中的提的建议,自己也思考了下,确实是那个道理.在urltemplate中,定 ...
- restful 架构风格的curd(增删改查)
restful架构 概念:REST指的是一组架构约束条件和原则,如果一个架构符合REST的约束条件和原则,就称之为RESTful架构. restful不是一个专门的技术,他是一个规范.规范就是写写代码 ...
- SpringMVC框架下数据的增删改查,数据类型转换,数据格式化,数据校验,错误输入的消息回显
在eclipse中javaEE环境下: 这儿并没有连接数据库,而是将数据存放在map集合中: 将各种架包导入lib下... web.xml文件配置为 <?xml version="1. ...
随机推荐
- 安装 jpegtran-cffi 使用 from jpegtran import JPEGImage
Requirements CPython >=2.6 or >=3.3 or PyPy cffi >= 1.0 libturbojpeg with headers Install 1 ...
- word图片自动编号,前面加章节号
老实说很多人都没有系统性地学过WORD,毕竟所见即所得,就是学过也比较浅.那么在使用word写作论文时就会感到很烦,因为你想要控制好章节,这样很多的地方就可以按照这种章节自动编号,处理不同节的页眉和页 ...
- jQuery滑动开关按钮效果
效果图: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3 ...
- python全栈开发day71-ajax
一.django中间件 1 中间件的用处(针对请求和响应做全局的操作时) 可以做登录验证 访问限制 2. 自定义中间件,五个方法和三个要点 三个要点: 1.执行时间和执行顺序 2.参数 3.返回值 1 ...
- 前端本地存储localStorage
1.突破cookie 4K限制,一般浏览器支持5M 2.增 删 改 查 <!DOCTYPE html> <html lang="en"> <head& ...
- MySQL InnoDB中的事务隔离级别和锁的关系
前言: 我们都知道事务的几种性质,数据库为了维护这些性质,尤其是一致性和隔离性,一般使用加锁这种方式.同时数据库又是个高并发的应用,同一时间会有大量的并发访问,如果加锁过度,会极大的降低并发处理能力. ...
- Python_面向对象_类2
类的几个装饰器方法: @classmethod (类方法):使之无法访问实例变量 class Animal(object): def __init__(self, name): self.name = ...
- selenium课程笔记
selenium课程笔记第一天(2017-7-1) 一.配置火狐浏览器 运行:firefox.exe -p -no -remote selenium课程笔记第二天 用Eclipse+java+sele ...
- vee-validate校验demo
//太长了,把异步校验放到前面吧: VeeValidate.Validator.extend('checkLoginName',{ getMessage:function () { return &q ...
- 生日蛋糕 POJ - 1190 (搜索+剪枝)
7月17日是Mr.W的生日,ACM-THU为此要制作一个体积为Nπ的M层生日蛋糕,每层都是一个圆柱体. 设从下往上数第i(1 <= i <= M)层蛋糕是半径为Ri, 高度为Hi的圆柱.当 ...