数据验证应该放在action层还是service层? 对于像数据的验证,应该放在action层还是service层?这两个层各自的具体职责是什么? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 看看http://blog.csdn.net/zc2087/article/details/6286733action对应的就是Controller,service对应Model,看了就清楚了 有很多验证的框架什么的,这个在action获取到前台页面数据的时候就可以效验了。个人认为:数据效验应该存在于action之前也就是在页面上做好效验,同时action在获取到数据的时候再做一次效验比较好。action就相当于一个窗口,它就应该筛选出满足条件的和过滤掉不满足条件的。service就相当于一个服务者,为action分派的任务进行处理。 没有定论,我们一般把无业务语义的校验放在action层,用validation做,比如数据类型、长度、格式等;业务语义类校验则放在service层。但实际操作中不一定那么清晰,所以笼统的理解是:1、如果可以独立完成不依赖于其它数据就能做的校验,放在了action;比如检查身份证号码是否合规;2、如果校验需要依赖于其它数据才能完成,放在了service层;比如银行转帐的时候,检查账户是否有余额,这就是存在数据依赖的。 前台先用js校验,完了到action再进行校验。service负责拿数据去把。比如登录,前台先进行基本的校验,比如不能为空。然后到action后,拿到用户名密码,调用service去取相同用户名的用户密码,在action进行比较即可。 验证其实也分几种的。1.规则验证。这个主要是几种在前台jsp,js。比如要验证邮箱格式,手机格式,输入字符的长度,这类的话放在前台验证,主要在js里面。2.业务逻辑验证(估计这个就是lz要的)。这里要说下action和service的各自职能。service为业务层,负责和dao层交互,根据dao返回的值整理我们需要的数据格式。action主要做业务逻辑判断和功能跳转。所以,作为系统的业务逻辑验证就放这里了 简单验证就在前端验证结束,业务逻辑判断应该交给action。 楼主,,action层一般放的都是操作数据的代码,,service层放的是对整个web项目的数据验证啊,,国际化啊,, js验证 action层也要验证 只要你跟db打交道,按照mvc來做,肯定放在controller中。controller 調用service,service調用dao執行。 service负责数据的读写以及根据各种条件读写,action确保数据正确的读写 分客户端验证和服务器端验证 客户端验证就是用js来验证客户的误操作 来降低服务器端验证的压力,进一步进行服务器端的验证 就是在 action调用service之前进行最后一次验证用户的信息 我有个疑问,业务逻辑类型的校验 和 数据操作 虽然都在service层,但不是一个方法,也不是相互嵌套,而是由action顺序执行这些service,那么他们的事务就不是一套事务。校验和业务操作不是一个事务就不会锁表,那么校验后,业务操作前被其他业务做了数据操作,这时候再进行当前的业务操作就是在脏数据的基础上干的吧??难道只能在service做各种嵌套,而在action中就只有调用一个service方法吗? 不需要和数据库打交道的放在jsp里面的js去校验,尽量减少服务器的负担(大部分都是可以搞定的)。。设计到数据交互的放在action。我基本上就是这么写的。当然有些诶东西必须放在server里面。。 最好是jsp里用js验证了,js验证不了的交给action去验证 随便放 如果是ajax或者jquery验证有专门的地方。简单验证就放action. ssh2上传图片到系统文件夹并把图片绝对路径保存到到数据库 jacob将word文档转成图片? 本身对Java和.net都稍微精通些 急!关于iReport换行打印问题 对非最终字段执行同步是什么意思? web application的权限问题 请问在weblogic中怎么设置自动刷新class? 求解javamail发外网的实现 ???如何在windows下得到unix的共享文件??? 大侠求助了,WSAD里,J2EE WEB开发难题 怎么用HttpURLConnection抓取网页中的天气预报 java 多线程,解的精彩给全分
action对应的就是Controller,service对应Model,看了就清楚了
个人认为:数据效验应该存在于action之前也就是在页面上做好效验,同时action在获取到数据的时候再做一次效验比较好。action就相当于一个窗口,它就应该筛选出满足条件的和过滤掉不满足条件的。
service就相当于一个服务者,为action分派的任务进行处理。
1、如果可以独立完成不依赖于其它数据就能做的校验,放在了action;比如检查身份证号码是否合规;
2、如果校验需要依赖于其它数据才能完成,放在了service层;比如银行转帐的时候,检查账户是否有余额,这就是存在数据依赖的。
比如登录,前台先进行基本的校验,比如不能为空。然后到action后,拿到用户名密码,调用service去取相同用户名的用户密码,在action进行比较即可。
1.规则验证。这个主要是几种在前台jsp,js。比如要验证邮箱格式,手机格式,输入字符的长度,这类的话放在前台验证,主要在js里面。
2.业务逻辑验证(估计这个就是lz要的)。这里要说下action和service的各自职能。service为业务层,负责和dao层交互,根据dao返回的值整理我们需要的数据格式。action主要做业务逻辑判断和功能跳转。所以,作为系统的业务逻辑验证就放这里了
action层一般放的都是操作数据的代码,,service层放的是对整个web项目的数据验证啊,,国际化啊,,
业务逻辑类型的校验 和 数据操作 虽然都在service层,但不是一个方法,也不是相互嵌套,而是由action顺序执行这些service,那么他们的事务就不是一套事务。校验和业务操作不是一个事务就不会锁表,那么校验后,业务操作前被其他业务做了数据操作,这时候再进行当前的业务操作就是在脏数据的基础上干的吧??
难道只能在service做各种嵌套,而在action中就只有调用一个service方法吗?