模型(Model)是对表的对应,封装了业务逻辑的基本数据和处理方法。它是“View”和“Controller”的基础,不依赖以上二者。Model的数据由另一种机制控制,View需要在Model结构中进行注册,这样View可以查看到Model的数据变化。
视图(View)可以根据需求有选择性的显示数据,形式非常灵活。在系统后台开发进行单元测试的时候,这个过程可以省略。在 View 中一般没有程序上的逻辑。
控制器(Controller)在不同层面中起控制作用,可以获取前台的数据,也可以计算后台传来的数据进行计算,并且还负责页面跳转和业务逻辑处理。它处理事件并作出响应。“事件”包括用户的行为和数据 Model 上的改变。
控制器负责界面的显示、页面跳转,抽取模型;模型负责将数据库中的字段转换为程序中需要的变量,视图负责显示数据,并完成与用户的交互工作。
3。1。2 Servlet
Servlet(Server Applet),全称Java Servlet。是用Java编写的服务器端程序。Servlet生成后台传来的数据,插入html代码中,有利于前后台进行交互。一般来说,Servlet指的是Java编程语言中的一个实现接口;广义来说,Servlet是指Servlet接口类的集合,这是被开发人员公认的结论[2]。
Servlet运行于支持Java的应用服务器中。Servlet可以反馈前端的请求,但是多数条件下,Servlet只用来对web服务器进行延伸。一般来说,通用Servlet由javax。servlet。GenericServlet实作Servlet界面。javax。servlet。http。HttpServlet实现了专门用于响应HTTP请求的Servlet,提供了响应对应HTTP标准请求的doGet()、doPost()等方法。
Servlet的生命周期:
在应用服务器上部署Servlet后(容器主要指的是应用服务器中用于管理Java组件的部分),Servlet的生命周期由容器控制。容器启动时,Servlet是不会主动加载的,只有在前端发出首次请求的时候才会被加载并实例化。当服务器关闭或重新启动或者容器回收内存是,Servlet才会被清除。因为Servlet初始化的原因,首次访问Servlet需要的时间要大大长于之后访问需要消耗的时间[3]。
在服务器中,当前端页面发送第一次请求(或者容器回收内存清除servlet后访问)时被加载并作一次初始化动作,跟着程序正式运行函数,之后就长期居住在内存中,直接与前端进行数据请求,直到服务器被close或者restart,或者是容器回收内存。来自~优尔、论文|网www.youerw.com +QQ752018766-
Servlet与Jsp的关系:
Java服务器页面(JSP)是HttpServlet的扩展。Servlet给HTTP请求作出反馈数据,并返回到HTML页面上,所以,HTML会掺杂进servlet中,代码的可读性和维护性会非常复杂,而且前后端的工作没有得到分离,只有全栈人员才能完整此项工作。为了避免这种冗杂的代码界面,区分工作内容,servlet应运而生。Jsp的存在是借用HTML的方式,在合适的位置加入JSP片段代码进行数据的交互。使后台程序员跳出HTML的坑,将更多的注意力放在Servlet上。
服务器在接收到前端发来的第一次请求时将Jsp转为Servlet,自此之后,如果需要重复请求该页面,容器可以直接引用Servlet,节省访问时间,提高访问效率。JSP的实质仍然是servlet[4]。