(九)JavaWeb后端开发——Servlet

目录

1.Servlet由来

2.Servlet快速入门

3.Servlet执行原理

4.Servlet生命周期


1.Servlet由来

在JaveEE API文档中对Servlet的描述是:可以运行在服务器端的微小程序,但是实际上,**Servlet就是一个接口,定义了Java类被浏览器访问到(tomcat识别)的规则,**所以说编程人员需要去自定义一个类实现,Servlet接口,并重写其中的方法

浏览器请求服务器的信息的时候,有静态资源和动态资源,动态资源在不同用户访问时的表现不同,其中的逻辑由Java代码规定,所以需要一个Java类,而这个Jave类依赖于服务器(tomcat)才能运行,那么tomcat如何识别这个Java类呢?一定是需要一些规则,也就是接口(在Java中规则就是接口),所以Servlet接口应运而生

2.Servlet快速入门

  1. 创建JavaEE项目
  2. 自定义一个类,实现servlet接口
  3. 实现接口中的抽象方法
  4. 配置servlet
Servlet接口的方法 方法描述
init() 初始化方法,在Servlet被创建时执行,且只会执行一次
getServletConfig() 获取ServletConfig对象,即Servlet的配置对象
getServletInfo() 获取Servlet的一些信息,版本,作者等等
service() 提供业务逻辑的代码,每一次Servlet被访问时都执行
destroy() 在服务器正常关闭时执行,且只会执行一次

配置servlet要在web.xml的根标签里面

XML 复制代码
<!-- 配置servlet -->
<servlet>
    <servlet-name>demo1</servlet-name>
    <servlet-class>cn.itcast.web.servlet.ServletDemo1</servlet-class>
    <!-- 全类名 -->
</servlet>

<servlet-mapping>
    <servlet-name>demo1</servlet-name>
    <url-pattern>/demo1</url-pattern>
    <!-- 资源路径 -->
</servlet-mapping>

3.Servlet执行原理

当启动项目之后就可以执行service()方法中的业务逻辑了,但是其中Servlet的执行原理是怎么样的呢?看下面这个视频讲得很清楚 3_Servlet_执行原理_哔哩哔哩_bilibili

执行原理:

  1. 服务器接受到客户端浏览器的请求后,会解析请求URL路径,获取访问的servlet的资源路径
  2. 查找web.xml文件,是否有对应的<url-pattern>标签体内容
  3. 如果有,则在找到对应的<servlet-class>全类名
  4. tomcat会将字节码文件加载进内存,并且创建其对象
  5. 调用其方法

4.Servlet生命周期

  1. 被创建:执行init方法,只执行一次
  2. 提供服务:执行service方法,执行多次
  3. 被销毁:执行destroy方法,只执行一次
相关推荐
deviant-ART8 小时前
HttpServletResponse 中 Header 与 OutputStream 的正确使用顺序(避坑指南)
java·后端·servlet
运维全栈笔记2 天前
零基础掌握Jenkins CI/CD:Java项目自动构建与部署全流程指南
git·servlet·ci/cd·gitee·自动化·jenkins·devops
橙子圆1232 天前
SpringMVC5.0
java·spring·servlet
绿草在线2 天前
01基于 Jakarta EE开发 : Servlet + Thymeleaf图书管理系统
servlet
许彰午3 天前
# 手写一个迷你Tomcat——三步理解Servlet容器的核心原理
java·servlet·tomcat
何中应3 天前
记录一次Jenkins构建任务的坑
java·servlet·jenkins
2401_873479404 天前
物联网设备管理中,IP查询工具怎么评估IP安全性?
物联网·tcp/ip·servlet
kaico20184 天前
Jenkins Master 停机与备份
运维·servlet·jenkins
老友@5 天前
Jenkins 中 Node 版本异常排查:Alpine + musl 导致的兼容问题(lts-alpine-jdk17)
java·servlet·jenkins
低客的黑调6 天前
MyBatis-Plus-从 CRUD 到高级特性
java·servlet·tomcat