JSP与MVC的异同
JSP
定义:
JSP(Java Server Page)是一种动态网页开发技术,部署于网络服务器上,这种技术的核心思想是通过应用程序服务器根据用户请求来生成网页,供用户浏览,它使用JSP标签在HTML网页中插入Java代码,标签为 <% ... %>
工作流程:
- 客户端(Client)通过网络发送一个页面的请求(Request JSP Page)给服务器端(Sever With JSP Container)。
- 部署了应用程序的服务器端将会从硬盘上读取对应的文件(JSP Page)。
- 应用程序容器(Container)将读取的文件(JSP Page),调用相应的数据,进行编译,形成Servlet能够识别的java文件。
- Servlet容器将Java文件进行解析,形成HTML文件。
- 应用服务器返回HTML文件给客户端浏览器。
MVC
定义:
MVC(model-view-controller)模式是软件工程中的一种架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)
- 模型 - 代表数据模型,或者可以理解为业务逻辑,是系统的核心部分,主要职责是负责系统业务和数据的处理。
- 视图 - 视图,对用户来说,通常就是展示页面,视图部分仅仅负责用户的展示。对于前后端分离的设计中,View可以认为是返回前端的数据(json/xml)。
- 控制器 - 控制器,主要负责装配业务模型产生的数据到视图里面。通常有三种职责:
- 接受用户的请求。
- 调用相应的业务逻辑处理。
- 将业务逻辑处理的结果返回或者装配到视图中。
工作流程:
- Controller接受前端发送过来的请求(Request),解析请求的路径、参数以及表达的意图。
- 根据请求的意图和参数向Model层调用相关的业务逻辑。
- Model层接受Controller层的调用,组装数据或调用数据库,返回数据给Controller层。
- Controller层接收到Model层返回的相关数据,组装形成View.
- Controller层将View返回给前端。
JSP和MVP的异同
相同点:
都用于Java Web的开发
不同点:
- JSP是一种动态网页开发技术,而MVC则是软件设计的框架
- JSP的业务数据(业务逻辑)和展示逻辑(页面)耦合在一起,而MVC通过Controller这一层,将视图和业务逻辑进行了解耦,将数据展示和数据生成放到了不同的??橹?,易于维护
- MVC的生命周期成本低,系统结构复杂。