首页 > WEB开发 > 后台开发 > 开发模型和三层架构
2014
08-18

开发模型和三层架构

11. 开发模型和三层架构10

1、Model1:JSP+JavaBean

Model1使用JSP+JavaBean技术将页面显示和业务逻辑处理分开。JSP实现页面显示,JavaBean对象用来保存数据和实现业务逻辑。Model1的结构如下图所示:

11. 开发模型和三层架构122

 

这种模型中JSP既要做页面显示,又要结合业务逻辑处理服务器端过程,不可避免的要在JSP中写入Java脚本。

2、Model2:JSP+Servlet+JavaBean

在Model1中,JSP页面会嵌入流程控制代码和部分的逻辑处理代码,我们可以将这部分代码提取出来,放到一个单独的角色里,这个角色就是控制器角色(Controller),而这样的Web架构就是Model2(分工更精细)。Model2符合MVC架构模式,MVC即模型-视图-控制器(Model-View-Controller)。

在Model2中,控制器的角色由Servlet来实现,视图的角色由JSP页面来实现,模型的角色由JavaBean来实现。Model2架构如下图所示:

11. 开发模型和三层架构446

Servlet充当控制器的角色,它接受请求,创建JSP页面需要使用的JavaBean对象,根据用户请求选择合适的JSP页面返回给用户。在JSP页面中没有处理逻辑,它仅负责检索原先由Servlet创建的JavaBean对象(通过域对象传递),从Servlet中提取动态内容插入到静态模板中。

3、MVC+3层架构(☆)

实际开发时,通常会把Model2中的业务逻辑、数据访问从Servlet和JavaBean中进行分离,形成表现层、业务逻辑层和数据访问层三层架构,目的还是为了使分工更精细。如下图:

11. 开发模型和三层架构697

经验之谈:一切项目都应从需求分析开始(业务逻辑层):

① 建模:设计JavaBean。JavaBean在各层之间“流窜”,实现数据的传递。(建模:现实世界的模型–>抽象世界的模型)

② 设计业务接口:定义方法,注释要写的非常清楚。

三层架构中的包命名规范(☆):

three layers architecture

 

4、案例:注册登录

需求:

1)注册:注册成功跳转到主页(index.jsp),注册失败则退回到注册页面并回显数据。

2)登陆:登陆成功跳转到主页(index.jsp),登陆失败给出错误的用户名或密码提示。

3)相关页面简单展示:

① index.jsp:初始页面为①,注册或登陆成功后页面为②

11. 开发模型和三层架构1357

② register.jsp(注册成功跳转到index.jsp,注册失败后退,回显数据并提示)

11. 开发模型和三层架构1407

③ login.jsp

11. 开发模型和三层架构1421

本案例代码按照上述MVC+三层架构的开发模式实现,相关代码提供下载。百度网盘


开发模型和三层架构》有 1 条评论

  1. ddupupup 说:

    很不错,讲的比较清晰,多谢!

留下一个回复

你的email不会被公开。