Servlet + MVC 基础
文章目录
一、Servlet简介
Servlet,即Server&Applet,是在服务器上运行的小程序。一个Servlet就是一个Java类,并且可以通过“请求—相应”编程模型来访问的这个驻留在服务器内存里的Servlet程序。
二、Servlet生命周期
Servlet程序被访问后将执行以下的流程:
- 装载Servlet类并创造实例,执行其构造方法
- 调用 init 方法
- 调用 service 方法
- 调用 destroy 方法
三、Servlet与JSP的区别
- JSP本质为Servlet,Servlet可视为被编译后的JSP;
- Servlet完全由Java代码组成,更利于逻辑控制,而JSP则更适用于页面显示;
- Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。而JSP是Java与Html组合成的一个扩展名为.jsp的文件;
- Servlet中没有内置对象,JSP中的内置对象都是通过HttpServletRequest对象,HttpServletResponse对象以及HttpServlet对象得到;
Servlet与JSP九大内置对象:
四、MVC简介
MVC模式:MVC(Model、View、Controller),旨在分离模型、控制、视图。是一种分层思想的体现。
MVC Model 1:
浏览器发出请求,被控制器(Controller,一般为Servlet)所接受,Servlet将实例化一个模型层(Model,一般为JavaBean)对象,接着Javabean调用数据库层(EIS),得到的结果可以返回给控制层或界面层(View,即JSP页面),最终将结果呈现给用户。
MVC Model 2:
JSP页面给控制层提交请求,控制层会实例化一个模型层对象或调用模型层的功能,随后模型层会访问数据库层读取数据并反馈给控制层,最终将结果呈现给用户。
MVC的优缺点:
MVC的优点:
- 代码的重用性高
- 可维护性高
- 部署快
- 利于开发人员间的分工合作
MVC的缺点:
- 代码的复杂性较高,对小型项目使用时可能会降低效率
- 视图和控制层之间连接过于紧密
- 访问效率较低