【前言】
最近学习JavaWeb知识,涉及JSP开发模式,MVC开发模式,和JavaWeb经典三层结构,感觉概念微多有些模糊,特此总结下来,希望能够给读者带来收获。【JSP开发模式】
JSP有两种web应用程序的开发模式,一种为jsp+Javabean,用于业务逻辑不太复杂的情况。另一种为servlet+jsp+Javabean,是Javaweb基于MVC的应用,用于复杂的web应用。基于MVC开发模式的Web应用程序处理流程:
在浏览器端,用户发送请求,交给servlet处理。
servlet请求数据的封装,传数据到Javabean来封装数据。
servlet并不适合做输出,需要转给jsp页面进行显示。转交给jsp的时候,会把Javabean数据封装到Request域里,jsp再从Request域里面取出Javabean进行显示。
jsp再把结果传给浏览器进行显示。
【MVC】
MVC模式并不是Javaweb项目中独有的,它是一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)、控制器(Controller),即MVC。控制器 Controller :控制请求的处理逻辑,对请求进行处理,负责请求转发。
视图 View:用户看到并与之交互的界面,如HTML,jsp等。
模型 Model:处理应用程序数据逻辑部分,通常负责在数据库中存取数据。
这样的分层有助于管理复杂的应用程序,也简化了分组开发。
【Javaweb经典三层结构】
经典三层结构是 Web层+业务逻辑层(service)+数据访问层(Dao)。便于层间维护,我们可以添加接口。
具体的处理流程如下:
IE 浏览器向 servlet 发起请求 ,servlet 调用service 进行处理,service调用dao方法以得到数据,dao和数据库打交道。Dao取出数据,把数据封装到Javabean中。
Dao会通过方法把Javabean值返回给service。Service 拿到Javabean的值,可以对其进行处理,再把数据重新封装进Javabean。Service 通过方法的返回值把Javabean返回给servlet。servlet不适合做输出,转给jsp页面进行显示,把Javabean也带给jsp页面。
Jsp执行,给IE浏览器的用户看到想看到的数据。
【小结】
对于这几个概念之间的理解还处于起步状态,各位看官如有更好的认识,欢迎交流学习。