Web项目开发必备四重验证
2012-07-05 23:19
330 查看
项目背景:
项目需求来自电商卖家管理自己的商品和店铺,以及最终的前台显示。整个项目中我负责技术的选型,数据库的设计和最后的交付测试。总共有三轮迭代,目前第二轮刚刚结束。迭代周期为7-8天。结合在做这个项目过程中的感受将大家都熟知却很少真正做到的内容整理出来:项目结构的四重验证。
一、web页面验证
本项目既有html也有jsp,javascript,css样式自然少不了。但开发人员关注最多是页面输入内容的校验,总结如下:
1、非空内容验证,如果输入空值则不允许提交的控制层
2、数字内容验证,如果内容为数字必须保证用户不能输入字符
3、电话,IP,邮箱,可能有的其它约定
通过页面校验保证到后台的数据鲁棒性提高。
二、控制层验证
本项目控制层采用WebWork开发,其验证内容包括前台所有的验证,另外还要考虑一些为服务层提供的一些数据验证,总结如下:
1、用户是否登录,或者登录后是否已经失效
2、用户是否有操作角色
3、必要数据,如Id,名称是否为空
4、不允许重复的数据是否存在
5、数据是否科学,如开始日期必须小于结束日期,开始金额必须小于结束金额
6、需要整型的数据是否为字符串
7、字符长度验证
以上还要根据具体需求来考量,当所有验证都通过后,就可以进入服务层
三、服务层验证
服务层,一般处理一些业务逻辑,并调用持久层代码同数据库交互,其需要考虑的验证同控制层。
四、数据库层验证
这是系统的最后一道关口,通过定义约束条件来限制,比如非空约束,唯一性约束,字符长度约束。
通过以上操作,我们能保证系统有很好的鲁棒性,不会因为用户的误操作产生一些莫名其妙的问题。另外,除了验证外,我们还要有详细的日志记录,当处理关键逻辑时,加日志,当出现异常时加日志,这样便于出现问题时能很快的定位和解决问题。以上是对WEB项目验证的一些总结,大家有其它的想法,请留言交流。
项目需求来自电商卖家管理自己的商品和店铺,以及最终的前台显示。整个项目中我负责技术的选型,数据库的设计和最后的交付测试。总共有三轮迭代,目前第二轮刚刚结束。迭代周期为7-8天。结合在做这个项目过程中的感受将大家都熟知却很少真正做到的内容整理出来:项目结构的四重验证。
一、web页面验证
本项目既有html也有jsp,javascript,css样式自然少不了。但开发人员关注最多是页面输入内容的校验,总结如下:
1、非空内容验证,如果输入空值则不允许提交的控制层
2、数字内容验证,如果内容为数字必须保证用户不能输入字符
3、电话,IP,邮箱,可能有的其它约定
通过页面校验保证到后台的数据鲁棒性提高。
二、控制层验证
本项目控制层采用WebWork开发,其验证内容包括前台所有的验证,另外还要考虑一些为服务层提供的一些数据验证,总结如下:
1、用户是否登录,或者登录后是否已经失效
2、用户是否有操作角色
3、必要数据,如Id,名称是否为空
4、不允许重复的数据是否存在
5、数据是否科学,如开始日期必须小于结束日期,开始金额必须小于结束金额
6、需要整型的数据是否为字符串
7、字符长度验证
以上还要根据具体需求来考量,当所有验证都通过后,就可以进入服务层
三、服务层验证
服务层,一般处理一些业务逻辑,并调用持久层代码同数据库交互,其需要考虑的验证同控制层。
四、数据库层验证
这是系统的最后一道关口,通过定义约束条件来限制,比如非空约束,唯一性约束,字符长度约束。
通过以上操作,我们能保证系统有很好的鲁棒性,不会因为用户的误操作产生一些莫名其妙的问题。另外,除了验证外,我们还要有详细的日志记录,当处理关键逻辑时,加日志,当出现异常时加日志,这样便于出现问题时能很快的定位和解决问题。以上是对WEB项目验证的一些总结,大家有其它的想法,请留言交流。
相关文章推荐
- Web项目开发必备四重验证
- 航延险项目 java web开发是前端验证好还是后端验证好?
- ASP.NET MVC开发:Web项目开发必备知识点
- 开发完整的Web项目必备
- tornado web高级开发项目之抽屉官网的页面登陆验证、form验证、点赞、评论、文章分页处理、发送邮箱验证码、登陆验证码、注册、发布文章、上传图片
- [转] Web开发人员必备的20款超赞的jQuery插件
- 分享:Web开发必备手册大集合,不断更新中...
- 基于WEB应用开发的java程序员必备工具
- java开源框架SpringSide 3.1.4.3开发Web的demo项目实战
- Web开发人员必备的20款超赞的jQuery插件
- PHP Web开发中常用的三个表单验证函数
- Web开发人员必备的20款超赞的jQuery插件
- web项目经理手册-开发时间估算
- 项目开发技巧(一):将Web应用打包成war文件的方法总结
- Web开发的几个必备工具
- Web项目开发流程 PC端
- 【持久化框架】SpringMVC+Spring4+Mybatis3集成,开发简单Web项目
- 使用eclipse开发web项目中常见的中文乱码问题总结
- ASP开发必备:WEB打印代码大全
- 基于webwork spring hibernate 项目的开发