最近在做jsp+servlet+javabean的小项目练习,发现一个问题,比如说注册登录之类的验证,比如说用户名是否被注册、用户名密码长度、密码确认是否正确等等,到底是在servlet里判断好了再把值传进javabean,还是先让servlet把值传进javabean,然后在javabean里写判断??
目前暂时不打算写前台JS验证
感觉如果写在servlet里,一大堆验证是不是影响程序运行速度?
是不是一般开发中,servlet都不用连接数据库的?
放心 你不会一直停留在model1模式的 改了解下MVC 以及项目的分层开发 努力吧! :idea:
最好还是写在Servlet中, javabean就做成一个简单的值对象...
验证写在Servlet中和写在JavaBean中, 都是一样会影响运行速度的, 基本上应该是没差别的
非空,长度的验证建议写在JS里;业务级别的验证(比如用户名是否被注册)可以写在JAVABEAN里。
针对格式的验证 通常写在 js 文件里 或者jsp文件里
针对数据的验证 有专门的验证框架 通常也是基于filter或者是servlet
针对业务逻辑的验证写在javabean中
针对通用逻辑验证 写在 servlet里比较好
[color=blue][b]
把数据逻辑处理,放在Javabean中。
比如,如果通过校验,下一个页面就是a.jsp,如果没有通过校验,下一个页面就是b.jsp
用MVC的思想来考虑一下:
Model -- javaBean负责 校验工作,也可以用于封装数据;
Controller -- Serlvet负责将JavaBean赋值,接收JavaBean的返回值。根据返回值,决定下一个页面是a还是b;
View -- jsp就是做显示工作,其中JSP中如果要显示动态内容的话,需要Servlet生成一个JavaBean,然后再JSP中调用JavaBean。[/b][/color]
[quote]感觉如果写在servlet里,一大堆验证是不是影响程序运行速度? [/quote]
写那里不影响速度啊。
用动态代理、aop也可以很好的做到验证。验证代码不用写在javabean和servlet里。