🌴 2022.5.12 早八
前言
🎬本文章是 【JAVA WEB开发技术】 专栏的文章,主要是上课的随堂笔记与练习
🔗JAVA WEB开发技术专栏 传送门
💻提示:目录顺序以当堂内容(教材)为准,所以并非“1、2、3”
6.1 Servlet技术
6.1.1 Servlet与Servlet容器
- Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层
- 使用 Servlet,可以收集来自网页表单的用户输入,呈现来自数据库或者其他源的记录,还可以动态创建网页
- Servlet容器也就是指Web容器,如Tomcat、Jboss、Resin、WebLogic等,它们对Servlet进行控制
Servlet的生存周期:
- 加载,Web容器启动或第一次请求Servlet时,容器加载Servlet类并将其放入到Servlet实例池中
- 初始化,Servlet实例化时,调用
init()
方法初始化Servlet对象,无论多少个客户访问,一个Servlet仅执行一次init()
方法 - 服务, Servlet 容器(即 Web 服务器)调用
service()
方法来处理来自客户端(浏览器)的请求,并把格式化的响应写回给客户端。每次服务器接收到一个 Servlet 请求时,服务器会产生一个新的线程并调用服务 - 销毁, 在服务器端停止且卸载Servlet时执行
destroy()
方法(仅执行一次)。当Servlet对象退出生命周期时,负责释放占用的资源
6.1.2 Servlet技术特点
Java Servlet 是运行在带有支持 Java Servlet 规范的解释器的 web 服务器上的 Java 类。它是 Java 企业版的标准组成部分,Java 企业版是支持大型开发项目的 Java 类库扩展版本
- 方便、实用的API方法
- 高效的处理方式
- 跨平台
- 更加灵活、扩展
- 安全性
6.1.3 Servlet技术功能
Servlet的技术功能主要有以下几点:
- Servlet可以读取客户端发送的HTTP请求
- Servlet可以在处理业务逻辑后,将动态的内容发送到客户端,与用户请求进行交互
- Servlet提供强大的过滤功能,可针对请求类型进行过滤设置,为Web开发提供灵活性与扩展性
- Servlet可与其他服务器资源进行通信
6.1.4 Servlet与JSP的区别
- Servlet承担客户请求与业务处理的中间角色,需要调用固定的方法,将动态内容混合到静态之中产生HTML;而在JSP页面中,可直接使用HTML标签进行输出,要比Servlet更具显示层的意义
- Servlet中需要调用Servlet API接口处理HTTP请求,而在JSP页面中,则直接提供了内置对象进行处理
- Servlet的使用需要进行一定的配置,而JSP文件通过“.jsp”扩展名部署在容器之中,容器对其自动识别,直接编译成Servlet进行处理
6.1.5 Servlet代码结构
Servlet中常用方法:
void init()
void doGet(HttpServletRequest req, HttpServletResponse resp)
void doPost(HttpServletRequest req, HttpServletResponse resp)
void doPut(HttpServletRequest req, HttpServletResponse resp)
void doDelete(HttpServletRequest req, HttpServletResponse resp)
void destroy()
可以在新建Servlet的时候让它初始化生成一下
6.1.6 简单的Servlet程序
在编写Servlet时,不必重写所有的方法,只需要重写所使用的方法
例输出This is a Servlet.
public class SimpleServlet extends HttpServlet {
private static final long serialVersionUID = -6160587558635034166L;
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException