Servlet
Servlet 的主要功能在于交互式地浏览和修改数据,生成动态 Web 内容。这个过程为:
- 客户端发送请求至服务器端;
- 服务器将请求信息发送至 Servlet;
- Servlet 生成响应内容并将其传给服务器。响应内容动态生成,通常取决于客户端的请求;
- 服务器将响应返回给客户端。
Servlet 看起来像是通常的 Java 程序。Servlet 导入特定的属于 Java Servlet API 的包
一个 Servlet 就是 Java 编程语言中的一个类,它被用来扩展服务器的性能,服务器上驻留着可以通过“请求-响应”编程模型来访问的应用程序。虽然 Servlet 可以对任何类型的请求产生响应,但通常只用来扩展 Web 服务器的应用程序
工作模式
客户端发送请求至服务器
服务器启动并调用 Servlet,Servlet 根据客户端请求生成响应内容并将其传给服务器
服务器将响应返回客户端
怎么使用Servlet
- 创建包存放servlet(com.demo. Servlet)
- 编写Servlet,右击包 new Servlet
JSP开发模型
JSP Model
- JSP Model
- JSP Model即JSP的开发模型。Sun公司为JSP技术提供了两种开发模型:JSP Model1和JSP Model2。
- JSP Model1简单轻便,适合小型Web项目的快速开发。
JSP Model2模型是在JSP Model1的基础上提出的,它提供了更清晰的代码分层,更适用于多人合作开发的大型Web项目。
- JSP Model1
在早期使用JSP开发的JavaWeb应用中,JSP文件是一个独立的、能自主完成所有任务的模块,它负责处理业务逻辑、控制网页流程和向用户展示页面等,接下来通过一张图来描述JSP早期模型的工作原理,如图9-1所示
从图9-1中可以看出,浏览器请求JSP,JSP直接对数据库进行各种操作,将结果响应给浏览器。但是在程序中,JSP页面功能的“过于复杂”给开发带来了一系列的问题,比如JSP页面中HTML代码和Java代码强耦合在一起,代码的可读性很差,数据、业务逻辑,控制流程混合在一起,使得程序难以修改和维护
- 为了解决上述问题,SUN公司提供了一种JSP开发的架构模型—JSP Model1。
JSP Model1采用JSP+JavaBean技术,将页面显示和业务逻辑分开。JSP Model 1模型将封装数据以及处理数据的业务逻辑的任务交给了JavaBean组件,JSP只负责接受用户请求和调用JavaBean组件来响应用户的请求,这种设计实现了数据、业务逻辑和页面显示的分离,在一定程度上实现了程序开发的模块化,降低了程序修改和维护的难度。
- JSP Model2
- JSP Model 2架构模型采用JSP+Servlet+ JavaBean的技术,此技术将原本JSP页面中的流程控制代码提取出来,封装到Servlet中,从而实现了整个程序页面显示、流程控制和业务逻辑的分离。
- 实际上JSP Model2模型就是MVC(模型Model-视图View-控制器Controller)设计模式,其中控制器的角色是由Servlet实现,视图的角色是由JSP页面实现,模型的角色是由JavaBean实现
Servlet充当了控制器的角色,它接受用户请求,并实例化JavaBean对象封装数据和对业务逻辑进行处理,然后将调用JSP页面显示JavaBean中的数据信息。
- Mvc与三层的关系和区别
Mvc是一种设计模式
三层是一种编程思想
两者不要混为一谈,作用都是为了解耦