1.什么是Servlet

Servlet 运行在服务端的Java小程序,是sun公司提供一套规范(接口),用来处理客户端请求、响应给浏览器的动态资源。但servlet的实质就是java代码,通过java的API动态地向客户端输出内容。

servlet规范:包含三个技术点

  1)servlet技术

  2)filter技术---过滤器

  3)listener技术---监听器

2、Servlet快速入门

实现步骤:

  1)创建类实现Servlet接口

  2)覆盖尚未实现的方法——service方法

  3)在web.xml进行Servlet的配置

但在实际开发中,我们不会直接去实现Servlet接口,因为那样需要覆盖的方法太多, 我们一般创建类继承HttpServlet

实现步骤:

  1)创建类继承HttpServlet类

  2)覆盖doGet和doPost

  3)在web.xml中进行servlet的配置

画面描述整个访问过程:

3、Servlet的API(生命周期)

 (1)Servlet接口中的方法

  1)init(ServletConfig config)

     何时执行:servlet对象创建的时候执行

     ServletConfig : 代表该servlet对象的配置信息

  2)service(ServletRequest request,ServletResponse response)

    何时执行:每次请求都会执行

    ServletRequest :代表请求,认为ServletRequest 内部封装的是http请求的信息

    ServletResponse :代表响应,认为要封装的是响应的信息

  3)destroy()

    何时执行:servlet销毁的时候执行

 (2)HttpServlet类的方法

  1)init()

  2)doGet(HttpServletRequest request,HttpServletResponse response)

  3)doPost(HttpServletRequest request,HttpServletResponse response)

  4)destroy()

 (3)Servlet的生命周期(面试题)

  1)Servlet何时创建

  默认第一次访问servlet时创建该对象

  2)Servlet何时销毁

  服务器关闭servlet就销毁了

  3)每次访问必然执行的方法

  service(ServletRequest req, ServletResponse res)方法

4、Servlet的配置

  (1)基本配置

其中url-pattern的配置方式:

1)完全匹配 访问的资源与配置的资源完全相同才能访问到

2)目录匹配 格式:/虚拟的目录../*   *代表任意

3)扩展名匹配 格式:*.扩展名

注意:第二种与第三种不要混用 /aaa/bbb/*.abcd(错误的)

 (2)服务器启动实例化Servlet配置

Servlet的何时创建:默认第一次访问时创建

为什么是默认?

当在servlet的配置时 加上一个配置 <load-on-startup> servlet对象在服务器启动时就创建

 (3)缺省Servlet

可以将url-pattern配置一个/,代表该servlet是缺省的servlet

什么是缺省的servlet?

当你访问资源地址所有的servlet都不匹配时,缺省的servlet负责处理

其实,web应用中所有的资源的响应都是servlet负责,包括静态资源

(3)欢迎页面

Servlet学习(一)——Servlet的生命周期、执行过程、配置的更多相关文章

  1. JavaEE基础(01):Servlet实现方式,生命周期执行过程

    本文源码:GitHub·点这里 || GitEE·点这里 一.Servlet简介 Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成动态Web内容.使用S ...

  2. MAVEN学习笔记之Maven生命周期和插件简介(3)

    MAVEN学习笔记之Maven生命周期和插件简介(3) clean compile site三套生命周期相互独立. clean pre-clean 执行清理前的工作 clean 清理上一次构建生成的所 ...

  3. activity生命周期分析(两个activity之间跳转的生命周期执行顺序)

    NoteMainActivity点击跳转至NoteListActivity 我们都了解: 当A界面点击进入B界面时,此时         A===onPause--->onStop       ...

  4. Spring 学习笔记---Bean的生命周期

    生命周期图解 由于Bean的生命周期经历的阶段比较多,我们将通过一个图形化的方式进行描述.下图描述了BeanFactory中Bean生命周期的完整过程: Bean 的生命周期从Spring容器着手实例 ...

  5. vue父子组件生命周期执行顺序

    之前写了vue的生命周期,本以为明白了vue实例在创建到显示在页面上以及销毁等一系列过程,以及各个生命周期的特点.然而今天被问到父子组件生命周期执行顺序的时候一头雾水,根本不知道怎么回事.然后写了一段 ...

  6. React生命周期执行顺序详解

    文章内容转载于https://www.cnblogs.com/faith3/p/9216165.html 一.组件生命周期的执行次数是什么样子的??? 只执行一次: constructor.compo ...

  7. Vue父子组件生命周期执行顺序及钩子函数的个人理解

    先附一张官网上的vue实例的生命周期图,每个Vue实例在被创建的时候都需要经过一系列的初始化过程,例如需要设置数据监听,编译模板,将实例挂载到DOM并在数据变化时更新DOM等.同时在这个过程中也会运行 ...

  8. Bean 注解(Annotation)配置(2)- Bean作用域与生命周期回调方法配置

    Spring 系列教程 Spring 框架介绍 Spring 框架模块 Spring开发环境搭建(Eclipse) 创建一个简单的Spring应用 Spring 控制反转容器(Inversion of ...

  9. Bean XML 配置(2)- Bean作用域与生命周期回调方法配置

    系列教程 Spring 框架介绍 Spring 框架模块 Spring开发环境搭建(Eclipse) 创建一个简单的Spring应用 Spring 控制反转容器(Inversion of Contro ...

  10. Vuex 注入 Vue 生命周期的过程

    首先我们结合 Vue 和 Vuex 的部分源码,来说明 Vuex 注入 Vue 生命周期的过程. 说到源码,其实没有想象的那么难.也和我们平时写业务代码差不多,都是方法的调用.但是源码的调用树会复杂很 ...

随机推荐

  1. POJ 3260 DP

    只需要对John的付款数做一次多重背包,对shopkeeper的找零钱数做一次完全背包即可. 最重要的是上界的处理.可以注意到,John的付款数最多为maxv*maxv+m,也就是24400元.同理, ...

  2. Windows 10 的功能更新,版本 1809 - 错误 0x80070002

    一般是双硬盘导致的问题,请打开电脑拆掉系统盘以外的硬盘,一般为固态硬盘和物理硬盘同时使用的电脑会出现此错误.

  3. android 打包工具

    sdk.jar-修改路径-JarToDex-DexToSmali-复制文件

  4. Navicat for Mysql 关于1130错误,无法正常方法解决的解决办法。

    本人因为失误操作,不小心将mysql 玩崩了.导致一直报1130错误,无法进入. 看了很多网上的帖子,但是那些办法都行不通.最后通过好友的指点,解决了这个问题.   1.停止MySQL服务,执行net ...

  5. heavy dark--读《《暗时间》》

    本书名为<<暗时间>>,个人觉得是一个非常好的名字:1.迷茫的大学生有多少的业余时间,但又浪费多少的业余时间,浪费的这莫多时间就如同人在黑夜中一样,大脑是在休息的状态.这是第一 ...

  6. webpack安装,npm WARN optional SKIPPING OPTIONAL DEPENDENCY,npm WARN notsup SKIPPING OPTIONAL DEPENDENCY警告

    npm install webpack -g//全局安装webpack 电脑上安装完后: 其中有两个警告: npm WARN optional SKIPPING OPTIONAL DEPENDENCY ...

  7. 利用after和before伪元素在文字两边写横线

    示例: 代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...

  8. [luogu4259 SCOI2003] 严格N元树 (高精 计数dp)

    题目描述 如果一棵树的所有非叶节点都恰好有n个儿子,那么我们称它为严格n元树.如果该树中最底层的节点深度为d(根的深度为0),那么我们称它为一棵深度为d的严格n元树.例如,深度为2的严格2元树有三个, ...

  9. selenium chrome.options禁止加载图片和js

    #新建一个选项卡 from selenium import webdriver options = webdriver.ChromeOptions() #禁止加载图片 prefs = { 'profi ...

  10. STM32 Cubemx 配置定时器定时1mS

    最近才发现原来我把定时器里的配置参数代表的意义给搞混了,这里记录一下,防止以后自己忘记. 以建立一个定时1mS定时器为例: 1.先打开定时器 2.配置好时钟 3.配置定时器设置 重点来了,以前在这里我 ...