Java中的Servlet与Servlet容器

本文介绍Servlet的概念、功能及开发方法,详细讲解了Servlet的生命周期,包括加载、初始化、服务及销毁阶段,以及如何在web.xml中配置和映射Servlet。

一、什么是Servlet?

    Java Servlet 是和平台无关的基于Java技术的Web组件,运行在服务器端,它由Servlet容器所管理,用于生成动态的内容。Servlet就是一个普通的Java类。

二、Servlet有什么功能?

  1、接收用户请求的HTTP协议,解析。

  2、返回一个http的响应协议。让浏览器再去解析。

三、开发Servlet有哪些方法?

   实现 javax.servlet.Servlet 接口

   继承 javax.servlet.GenericServlet

   继承 javax.servlet.http.HttpServlet(推荐)

我们用eclipse去创建Servlet时,他可以自动帮助我们生产一个Servlet

四、在web.xml中配置和映射Servlet

 <!-- 配置servlet和映射servlet -->
  <!-- 注册一个servlet -->
  <servlet>
  	<!-- 注册名 -->
  	<servlet-name>hello</servlet-name>
  	<!-- servlet全类名 --> <!-- "/" 代表当前web应用 -->
  	<servlet-class>servlet.HelloServlet</servlet-class>
  </servlet>
  
  <!-- 映射 -->
  <servlet-mapping>
  <!-- 必须和注册名保持一致 -->
  	<servlet-name>hello</servlet-name>
  	<!-- 声明访问路径 -->
  	<url-pattern>/hello</url-pattern>
  </servlet-mapping>

在浏览器的访问路径就是:http://localhost:8080/001ServletTest/hello

  1、可在配置Servlet的最后(一定要放最后),添加 load-on-startup :指Servlet创建和初始化的时机

<servlet>
  	<!-- 注册名 -->
  	<servlet-name>hello</servlet-name>
  	<!-- servlet全类名 --> <!-- / 代表当前web应用吗 -->
  	<servlet-class>servlet.HelloServlet</servlet-class>
  	<!-- 指定Servlet创建和初始化的时机 -->
  	<load-on-startup>1</load-on-startup>
  </servlet>

     load-on-startup:如果为负数,在第一次请求servlet时创建和初始化,如果是整数或0,在当前web应用加载时创建该实例和初始化,数值越小越早创建。

  2、同一个servlet可以映射多个url(同一个servlet可以有多个mapping)

  3、在servlet映射到URL中可以使用*通配符,但是只能有两种固定格式:

    一种格式是:“*.扩展名”

    另一种是:以斜杠“/”开头并以“/*结尾”,比如/*.do不可用,两个不能组合使用

六、什么是Servlet容器?

  Servlet容器是负责Servlet和客户的通信以及调用Servlet的方法,Servlet和客户的通信采用“请求/响应”的模式。(运行 Servlet,jsp等)并负责管理Servlet生命周期。

七、什么是Servlet生命周期?

  1、Servlet生命周期就是Servlet的出生到结束。分别经历了加载、初始化、服务、销毁。

  2、ServletConfig:封装了当前servlet的配置信息,他代表当前servlet。

 

        getServletName()    获取当前Servlet在web.xml中配置的名字

        getServletContext()   获取代表当前web应用的ServletContext对象,是一个全局的储存信息的空间,服务器开始就存                在,服务器关闭才释放

        getInitParameter(String)   获取当前Servlet指定名称的初始化参数的值

        getInitParameterNames()  获取当前Servlet所有初始化参数的名字组成的枚举

八、Servlet 的生命周期

  1、加载阶段:使用构造器

          构造器:只被执行一次,第一次请求Servlet时创建Servlet实例,调用该构造器。Servlet是单实例的。

  2、初始化阶段:调用 init() 方法

          init():只被调用一次,在创建好Servlet实例后立即被调用,负责初始化Servlet。

  3、响应客户请求阶段:调用service()方法

         service:被调用多次,每次请求都会调用service方法,用于响应请求。

  4、终止阶段:调用destroy()方法

         destroy:只被调用一次,在当前servlet所在的web应用被卸载时执行,释放当前servlet占用资源。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值