• 什么是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. stund客户端使用结果说明

    stun服务器是用于检测网络类型的重要工具. 源码地址:https://svwh.dl.sourceforge.net/project/stun/stun/0.97/stund-0.97.tgz 或者 ...

  2. Express 路径请求及对应的获取路径形式

    req.query // GET /search?q=tobi+ferret req.query.q // => "tobi ferret" // GET /shoes?or ...

  3. 将16进制unsigned char数组转换成整数

    /** * 将unsigned char数组转换成long long数值 * {0x00 0x00 0x20 0x00}转换之后得到8192 * * @param str 数组 * @param le ...

  4. python 判断变量是否存在 防止报错

    Python判断变量是否存在 方法一:使用try: ... except NameError: .... try: var except NameError: var_exists = False e ...

  5. jq 如何获取多选框选中的值

    jquery如何获取多选框选中的值,有两种方法 1.通过id获取是否选中(单个) 1)引入jquery文件 2)Html设计如下 <div> <span>运动类:</sp ...

  6. ubuntu 挂载虚拟机vdi文件

    sudo apt-get  install nbd-server  nbd-client  qemu-kvm # rmmod nbd # modprobe nbd max_part=8 # qemu- ...

  7. 蓝桥杯—BASIC-21 sine之舞(递归递推)

    题目:最近FJ为他的奶牛们开设了数学分析课,FJ知道若要学好这门课,必须有一个好的三角函数,所以他准备和奶牛们做一个“Sine之舞”的游戏,寓教于乐,提高奶牛们的计算能力. 不妨设 An=sin(1– ...

  8. Oracle 12c新特性

    转载自:Oracle 12c新特性(For DBA) 一: Multitenant Architecture (12.1.0.1)      多租户架构是Oracle 12c(12.1)的新增重磅特性 ...

  9. java动手动脑1

    一.以下代码的输出结果是什么? int X=100; int Y=200; System.out.println("X+Y="+X+Y); System.out.println(X ...

  10. FPGA低温不能启动分析(转)

    FPGA低温不能启动分析 现象描述:在给medium板光端机做低温试验时,分别给发送版.接收板断电重新启动,发现有的板子在-40°可以启动,而有些板子在-20°都不能启动,需要升高温度到0°以上才能启 ...