- Servlet 指的是服务端的一种 Java 组件,可以接收和处理来自浏览器的请求,并生成结果数据。
- Jsp 即 Java Server Pages,它允许在静态的 HTML 页面中插入一些类似于 <% %> 的标记,在标记中可以嵌入一些 Java 代码,在浏览器请求 HTTP 时,这些 Java 代码会执行并将结果嵌入到网页中返回。
- Apache Tomcat 是一款 Web 容器,也是一款 Servlet 容器。所以可以运行静态页面和动态页面(JSP、Servlet)
- JSP 实际工作的时候,是以 Servlet 的形式存在的。
- 从编程范型的角度来看,JSP 页面的代码多是基于声明式(Declarative),而 Servlet 的代码则多是基于命令式(Imperative)。
- 声明式:我要画一幅画,它有青草、大树和天空。
- 命令式:我要画一幅画,首先需要画青草,然后再画大树,最后加上蓝色的天空。
- 对于某些问题,使用声明式会更符合直觉,更形象,因而更接近于人类的语言;而另一些问题,则使用命令式,更符合行为步骤的思考模式,更严谨,也更能够预知机器会怎样执行。
- 计算机生来就是遵循命令执行的,所以 JSP 会被转化为一行行命令式的 Servlet 代码,交给计算机执行。
- MVC
- Controller - 主要负责请求的处理、检验和转发。
- View - 将内容数据以界面的方式呈现给用户,也能捕获和响应用户的操作。
- Model - 数据和业务逻辑
总结
- JSP Model 1:请求处理的整个过程,全部都耦合在 JSP 页面里面完成;
- JSP Model 2:MVC 分别通过 JavaBean、JSP 和 Servlet 解耦成三层;
- MVC 的常见形式一:数据由 Controller 调用 Model 来准备,并传递给 View 层;
- MVC 的常见形式二:Controller 发起对数据的修改,在 View 中查询修改后的数据并展示,二者分别调用 Model;
- MVP:Presenter 扮演协调者,对 Model 和 View 实施状态的更新;
- MVVM:View 和 ViewModel 实行数据的双向绑定,以自动同步状态。
网友评论