再问一个,业务层和MVC中Controler(控制器)的关系

qusic 2009-05-29 12:33:58
加精
本类是同一个问题的,但是在我另外的一个帖子中没有很好的表达出来,真是失败啊。
进入正题:
众所周知,Servlet 和 Struts中的Action是属于MVC中的C(Controler),只是一个控制器,
按说在两者之中是不应该出现业务代码的,它们只是一个控制器,只负责将视图(JSP页面)
取得的数据转发到业务层来处理,然后根据业务层的处理结果来选择相应的视图来显示,
那么在Servlet或者Action中该不该出现判断数据的代码,又如何讲数据传递到业务层呢?
光说太抽象,来点代码:

//假设这是Servlet中的一个方法,来处理用户注册请求的
public void register(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String username = request.getParameter("username");
String password = request.getParameter("password");
String repeatPass = request.getParameter("repeatPass");

//主要下面这段代码该在什么地方
if( password == null || password.length() < 6 ){
//密码长度小于6位,不能注册
response.sendRedirect("some page");
return;
}
if( !password.equals(repeatPass)){
//两次密码不相同,不能注册
response.sendRedirect("some page");
return;
}
//还有一些验证,比如判断用户名是否已存在,等等
//这些代码写在什么地方?这里?还是BO?

UserBo bo = new UserBo();
//是这传递
bo.addUser(new User(username,password));
//还是这样传递?
bo.addUser(username,password);
//forward or redirect
}


...全文
1772 92 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
92 条回复
切换为时间正序
请发表友善的回复…
发表回复
sbdnsbdn 2010-07-02
  • 打赏
  • 举报
回复
业务层的代码尽量不要放到控制层 但是也没什么影响 业务不是很复杂的话
EternalFaith 2009-06-01
  • 打赏
  • 举报
回复
mark,学习
jsj05506 2009-06-01
  • 打赏
  • 举报
回复
我觉得简单的逻辑可以在视图或控制层完成,
但从规范编程的角度出发,还是尽量放到模型层实现,
因为程序不能只是自己看,自己明白就行了.
zloveg 2009-05-31
  • 打赏
  • 举报
回复
应该交给业务层处理 然后业务层里面的 数据 交给dao层
默默_XL 2009-05-31
  • 打赏
  • 举报
回复
学习下...
逻辑应该封装在业务层吧啊是
study999 2009-05-31
  • 打赏
  • 举报
回复
JSP页面直接进行验证(非空与长度等),不必要放入SERVLET中
手抓饼加辣 2009-05-31
  • 打赏
  • 举报
回复
路过
huangan0301 2009-05-31
  • 打赏
  • 举报
回复
你可以这样理解,除了显示层(jsp文件和一些页面相关文件)和控制层(Action类)外其它的都可以说是Model层,而Model层又可以分成业务逻辑层和持久层,感觉这些只要了解就可以了,不需要深追
GatoAngel 2009-05-31
  • 打赏
  • 举报
回复
视具体情况而定
凡是简单的东西别弄得复杂化
devin-deng 2009-05-31
  • 打赏
  • 举报
回复
视具体情况而定
凡是简单的东西别弄得复杂化
evergod2008 2009-05-31
  • 打赏
  • 举报
回复
收一个
caogan111 2009-05-31
  • 打赏
  • 举报
回复
DDDDDDDDDDDD
caogan111 2009-05-31
  • 打赏
  • 举报
回复
DFDSAFSADFSADF
小墨鱼 2009-05-31
  • 打赏
  • 举报
回复
很好的帖子,学习啦。好帖在于大家的交流和互动。
caogan111 2009-05-31
  • 打赏
  • 举报
回复
DFDSAFSADFSADF
teacher1998 2009-05-31
  • 打赏
  • 举报
回复
讨论使人明智啊
teacher1998 2009-05-31
  • 打赏
  • 举报
回复
讨论使人明智啊
caojiang35072 2009-05-31
  • 打赏
  • 举报
回复
帮顶一下 , 值得一看!
leijuly 2009-05-31
  • 打赏
  • 举报
回复
很有意义的讨论 向高手学习
cycttt 2009-05-31
  • 打赏
  • 举报
回复
kan kan
加载更多回复(67)

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧