servlet讲解

一、概述

(一)简介 Servlet:Server Applet在服务端运行的Java程序。是sun公司提供的一个规范(接口)。
狭义的Servlet:指Servlet接口 广义的Servlet:指所有实现了Servlet接口的程序
JavaEE总共有十三门规范,其中在web阶段最重要的两个是:Servlet规范和JSP规范。
而Servlet规范:又包括三项技术:Servlet,Filter,Listener技术 (二)作用 接收客户端的参数 完成客户端的业务请求
向客户端动态的响应一些内容 (三)快速入门
1. 创建java类,实现Servlet接口
2. 重写接口的方法(总共5个方法,用到3个方法,最重要的一个service方法)
3. 把Servlet配置到web.xml里(web.xml相当于web应用的一个清单)


二、Servlet的API

(一)Servlet的生命周期
1.何时创建 :默认第一次访问Servlet时会创建Servlet对象创建Servlet对象时,必定会执行其init方法 一个Servlet类只有一个Servlet对象存在
2.何时销毁:服务器关闭,Servlet对象会销毁 销毁Servlet对象时,必定会执行destory方法
3.创建之后销毁之前每次访问Servlet必定会执行的方法 必定会执行service方法,访问一次执行一次

public class ServletLife implements Servlet {

    //第一次访问时执行init方法
    public void init(ServletConfig config) throws ServletException {
        System.out.println("init()方法执行了,servlet对象开始初始化...");

    }

    //每次方法都会执行
    public void service(ServletRequest req, ServletResponse res)
            throws ServletException, IOException {
        System.out.println("service()方法执行了,servlet对象开始运行...");

    }

    //服务器正常关闭时执行
    public void destroy() {
        System.out.println("destroy()方法执行了,servlet对象销毁...");

    }


三、Servlet的配置

<!-- 1. servlet:注册servlet -->
  <servlet>
      <!-- servlet-name: 配置Servlet的名称,不能重复 -->
      <servlet-name>servletDemo1</servlet-name>
      <!-- servlet-class:配置Servlet类的全路径,服务器软件会根据这个值,通过反射来创建Servlet对象 -->
      <servlet-class>com.itheima.servlet.ServletDemo1</servlet-class>
      <!-- init-param:配置Servlet的初始化参数,一个Servlet可以配置多个初始化参数 -->
      <init-param>
             <param-name>aa</param-name>
             <param-value>AA</param-value>
      </init-param>
      <init-param>
             <param-name>bb</param-name>
             <param-value>BB</param-value>
      </init-param>
      <!--
             load-on-startup: 配置Servlet什么时候创建对象,值是整数
             值:
                    如果是0或者是负数,表示默认情况:默认第一次访问时,才会创建Servlet对象
                    如果配置为正整数,表示服务器启动时,就会创建Servlet对象
                           正整数时,数值越小,优先级越高,创建的越早

                           注意:一般不要把1占用

       -->
      <load-on-startup>1</load-on-startup>
  </servlet>
  <!-- 2.servlet-mapping:配置servlet的访问入口 -->
  <servlet-mapping>
      <!-- servlet-name:给哪个servlet配置访问的路径 -->
      <servlet-name>servletDemo1</servlet-name>
      <!--
             url-pattern:配置哪些路径,可以访问得到Servlet。有四种写法:
                    1. 完全匹配  /demo1
                    2. 目录匹配,写法以/开头, *结尾   /aa/bb/*
                    3. 扩展名匹配,以*开头,以扩展名结尾   *.do
                    4. 缺省匹配/ !!注意:不要轻易使用!!

             优先级: 完全匹配 > 目录匹配 > 扩展名匹配 > 缺省匹配
                    如果是多个 同样优先级的路径都匹配的上,那么谁的匹配精确度更高,就访问到谁

             注意:不允许目录匹配和扩展名匹配混用
             一个servlet-mapping里,可以有多个url-pattern,表示任意一个url-pattern匹配得上就可以访问得到这个Servlet
       -->
      <url-pattern>/demo1</url-pattern>
      <url-pattern>/aa/bb/*</url-pattern>
      <!-- <url-pattern>*.do</url-pattern> -->
      <!-- <url-pattern>/</url-pattern> -->
      <!-- <url-pattern>/aa/bb/*.do</url-pattern> -->
  </servlet-mapping>

四、HttpServlet(应用)

我们在创建Servlet时,如果使用实现Servlet接口的方式来创建,比较麻烦,所以Servlet规范提供了另外一种创建Servlet的方式:
继承HttpServlet父类 步骤:
1. 创建一个类,实现HttpServlet创建完成,Java类和web.xml里的配置都已经完成了
2. 把我们的业务处理代码放在doGet方法里,或者是doPost方法里

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值