JavaWeb学习笔记(十六)--web开发模式

1. JSP开发模式

SUN公司推出JSP技术后,同时也推荐了两种web应用程序的开发模式,一种是JSP+JavaBean模式,一种是Servlet+JSP+JavaBean模式。

JSP+JavaBean模式适合开发业务逻辑不太复杂的web应用程序。在这种模式下,JavaBean用于封装业务数据,JSP既负责处理用户请求,又显示数据。

Servlet+JSP+JavaBean(MVC)模式适合开发复杂的web应用。在这种模式下,Servlet负责处理用户请求,JSP负责数据显示,JavaBean负责封装数据。Servlet+JSP+JavaBean模式,程序各个模块之间层次清晰,web开发推荐使用此种方式。

2. MVC开发模式

MVC模式(Model–view–controller)是软件工程的一种软件架构模式,把软件的系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。

  • 模型(Model): 数据模型,javaBean、数据库记录。
  • 视图(View):显示数据。
  • 控制器(Controller):负责转发请求,对请求进行处理。

3. web开发的三层架构

实际在web开发中,我们除了按照MVC进行开发,还需要按照三层结构进行开发:

  • web层:为用户提供服务
  • 业务逻辑层(service层):为web层提供业务服务
  • 数据访问层(dao层):提供数据访问服务

浏览器发出请求后,Servlet接收请求,但是Servlet并不直接处理请求,而是调用一个Service组件进行处理,在Service组件会调用dao来获取数据,dao专门与数据库进行交互,从数据库中获取数据,并封装在一个JavaBean中,返回给Service组件,Service组件处理完业务后,会将处理后的数据封装回JavaBean(可能是另一个JavaBean),然后将封装后的JavaBean返回给Servlet,Servlet再调用JSP进行数据的显示。其中Servlet、JSP为Web层。service组件称为业务逻辑层,也叫Service层。dao 称之为数据访问层,也dao层。在开发过程中,为了层与层之间便于维护,通常会在层与层之间定义接口,在web层和service层定义service接口,在service层和数据访问层(dao)层,定义dao接口。将来如果dao层具体的实现变了(比如JDBC变成Hibernate,变成Mybites等),service层不用修改一行代码。
 

 

在使用三层结构开发时,经常会用包来组织不同层的程序:
com.bear这部分是你的域名,或者你自定义的包名:

包名 功能
com.bear.domain
存放JavaBean
com.bear.dao
数据访问的接口
com.bear.dao.impl
数据访问接口的实现
com.bear.service
业务访问的接口
com.bear.service.impl
业务访问接口的实现
com.bear.web.controller
处理用户请求的Servlet
com.bear.web.ui
给用户提供用户界面(通过重定向或者转发调用jsp)
com.bear.web.listener
监听器(后面会讲)
com.bear.web.filter
过滤器(后面会讲)
com.bear.utils
工具类
com.bear.exception
异常类(根据需要创建)
junit.test
测试类
WEB-INF/jsp
保存网站所有的JSP(外界无法直接访问,只能通过程序内部转发或重定向)
posted @ 2019-06-01 19:58  暴躁的毛毛熊  阅读(232)  评论(0编辑  收藏  举报