• 什么是Servlet?

servlet是一种Java编程语言类,用于扩展托管通过请求 - 响应编程模型访问的应用程序的服务器的功能。尽管servlet可以响应任何类型的请求,但它们通常用于扩展Web服务器托管的应用程序。对于此类应用程序,Java Servlet技术定义了特定于HTTP的servlet类。

javax.servletjavax.servlet.http包编写servlet提供的接口和类。所有servlet都必须实现Servlet定义生命周期方法的 接口。实现通用服务时,可以使用或扩展GenericServlet随Java Servlet API提供的类。本HttpServlet类提供的方法,如doGetdoPost,用于处理特定的HTTP服务。

  • Servlet生命周期

servlet的生命周期由部署了servlet的容器​​控制。当请求映射到servlet时,容器执行以下步骤。

  1. 如果servlet的实例不存在,则Web容器:

  2. 加载servlet类

  3. 创建servlet类的实例

  4. 通过调用init方法初始化servlet实例(初始化在创建和初始化Servlet中介绍

  5. 容器调用service方法,传递请求和响应对象。写作服务方法中讨论了 服务方法

如果需要删除servlet,则容器通过调用servlet的destroy方法来完成servlet 。

  • 创建和初始化Servlet

创建和初始化Servlet

使用@WebServlet批注在Web应用程序中定义servlet组件。此批注在类上指定,并包含有关正在声明的servlet的元数据。带注释的servlet必须至少指定一个URL模式。这是通过在注释上使用 urlPatternsor value属性来完成的。所有其他属性都是可选的,具有默认设置。value 当注释上的唯一属性是URL模式时,请使用该属性; 否则,在使用urlPatterns其他属性时使用该属性。

注释@WebServletjavax.servlet.http.HttpServlet类必须扩展 类。例如,以下代码片段定义了具有URL模式的servlet /report

import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet; @WebServlet("/report")
public class MoodServlet extends HttpServlet {
...

Web容器在加载和实例化servlet类之后以及在从客户端传递请求之前初始化servlet。要自定义此过程以允许servlet读取持久性配置数据,初始化资源以及执行任何其他一次性活动,您可以覆盖 接口的init方法Servlet或指定 注释的initParams属性@WebServlet。该initParams属性包含@WebInitParam 注释。如果它无法完成其初始化过程,则servlet会抛出一个UnavailableException

使用初始化参数提供特定servlet所需的数据。相比之下,上下文参数提供可供Web应用程序的所有组件使用的数据。

servlet简单介绍的更多相关文章

  1. 10.Servlet简单介绍

    1.什么是Servlet * Servlet是javaweb的三大组件之一,它属于动态资源.Servlet的作用是处理请求,服务器会把接收到的请求交给Servlet来处理,在Servlet种通常需要: ...

  2. J2EE的13个规范之(三) Servlet简单介绍

    Servlet是一种server端脚本,它是一个特殊的Java类,继承自HttpServlet.开发中主要用于处理和响应client的请求. Servlet在容器中执行,事实上例的和销毁创建由容器进行 ...

  3. Servlet 简单介绍

    来源于菜鸟教程http://www.runoob.com/servlet/servlet-intro.html Servlet 简介 Servlet 是什么? Servlet(Server Apple ...

  4. 以登录实例简单介绍Servlet使用

    1.简单介绍 Java Servlet 是执行在 Web server或应用server上的程序,使用 Servlet.您能够收集来自网页表单的用户输入.呈现来自数据库或者其它源的记录.还能够动态创建 ...

  5. 【转载】JMeter学习(一)工具简单介绍

    JMeter学习(一)工具简单介绍 一.JMeter 介绍 Apache JMeter是100%纯JAVA桌面应用程序,被设计为用于测试客户端/服务端结构的软件(例如web应用程序).它可以用来测试静 ...

  6. Filter简单介绍

    一.简单介绍 Filter也称为过滤器,WEB开发者通过Filter技术.对webserver管理的全部web资源:比如Jsp, Servlet, 静态图片文件或静态 html 文件等进行拦截.从而实 ...

  7. JSF简单介绍

    JSF简单介绍 一. 什么是 JSF: JavaServer Faces (JSF) 是一种用于构建 Web 应用程序的新标准 Java 框架.它提供了一种以组件为中心来开发 Java Web 用户界 ...

  8. Freemarker概念简单介绍

    Freemarker概念简单介绍 1.   Freemarker是什么 模板引擎:一种基于模板的,用来生成输出文本的通过工具. 基于java开发包和类库 2.   Freemarker能做什么 MVC ...

  9. 简单介绍Struts2

    Struts2概述 Struts2虽然是Struts1的基础上发展起来的,但是实质上是以WebWork框架为核心,为传统的Struts1注入了WebWork的设计理念,统一了Struts1和WebWo ...

随机推荐

  1. startActivityForResult的用法,以及intent传递图片

    开启startActivityForResult. Intent intent = new Intent(); intent.setClass(MainActivity.this, MipcaActi ...

  2. vs2015 出现Lc.exe 已退出,代码为-1的问题,如何解决

    今天在代码运行时,出现lc.exe已退出,代码为-1 的问题

  3. sql根据年月日查询注册数或者和值

    //公司需要我做一个根据每天用户注册数量生成一个折现图,sql如下,//亲测好用,只是如果某一天没有注册的话,就不会显示日期 SELECT DATE_FORMAT(f.registDate, '%Y- ...

  4. POJ 2243 Knight Moves(BFS)

    POJ 2243 Knight Moves A friend of you is doing research on the Traveling Knight Problem (TKP) where ...

  5. shell test判断命令

    判断命令test 使用test命令可以对文件,字符串等进行测试,一般配合控制语句使用,如while,if,case "字符串测试"   test str1==str2 测试字符串是 ...

  6. ASP.Net MVC(1) 之走进MVC

    一.MVC三层架构: mvc三层架构,大家都比较熟悉了,这里再介绍一下.Mvc将应用程序分离为三个部分: Model:是一组类,用来描述被处理的数据,同时也定义这些数据如何被变更和操作的业务规则.与数 ...

  7. Vue + Element UI 实现权限管理系统(动态加载菜单)

    动态加载菜单 之前我们的导航树都是写死在页面里的,而实际应用中是需要从后台服务器获取菜单数据之后动态生成的. 我们在这里就用上一篇准备好的数据格式Mock出模拟数据,然后动态生成我们的导航菜单. 接口 ...

  8. unity中让物体移动到鼠标点击地面任一点的位置(单击移动和双击暂停移动)并生成图标

    using UnityEngine; using System.Collections.Generic; using UnityEngine.EventSystems; using UnityEngi ...

  9. MATLAB图片折腾3

    把视频抽帧,转化成图片 我的代码如下,成功实现clc;clear;videofilename='k:\GraduationWork\Resource\video.wmv'; %where you pu ...

  10. HanLP自然语言处理包介绍

    支持中文分词(N-最短路分词.CRF分词.索引分词.用户自定义词典.词性标注),命名实体识别(中国人名.音译人名.日本人名.地名.实体机构名识别),关键词提取,自动摘要,短语提取,拼音转换,简繁转换, ...