JavaWeb Servlet 介绍(包括生命周期)

1.Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。

2.Servlet 执行以下主要任务:

a.读取客户端(浏览器)发送的显式的数据,包括网页上的 HTML 表单,也可以是来自 applet 或自定义的 HTTP 客户端程序的表单。

b.读取客户端(浏览器)发送的隐式的 HTTP 请求数据,包括 cookies、媒体类型和浏览器能理解的压缩格式等。

c.处理数据并生成结果,这个过程可能需要访问数据库,执行 RMI 或 CORBA 调用,调用 Web 服务,或者直接计算得出对应的响应。

d.发送显式的数据(即文档)到客户端(浏览器),该文档的格式可以是多种多样的,包括文本文件(HTML 或 XML)、二进制文件(GIF 图像)、Excel 等。

e.发送隐式的 HTTP 响应到客户端(浏览器),包括告诉浏览器或其他客户端被返回的文档类型(例如 HTML),设置 cookies 和缓存参数,以及其他类似的任务。

3.Servlet包

Java Servlet 是运行在带有支持 Java Servlet 规范的解释器的 web 服务器上的 Java 类。

Servlet 可以使用 javax.servletjavax.servlet.http 包创建,它是 Java 企业版的标准组成部分,Java 企业版是支持大型开发项目的 Java 类库的扩展版本。这些类实现 Java Servlet 和 JSP 规范。

Java Servlet 就像任何其他的 Java 类一样已经被创建和编译。在安装 Servlet 包并把它们添加到计算机上的 Classpath 类路径中之后,可以通过 JDK 的 Java 编译器或任何其他编译器来编译 Servlet。

4.Servlet的生命周期——从Servlet被创建到Servlet被销毁的过程

一次创建,到处服务~

一个Servlet只会有一个对象,服务所有的请求

a.实例化 无参数构造方法(创建对象)

b.初始化 执行init方法

c.服务   执行service方法

d.销毁   执行destroy方法

    //实例化
    public ServletDemo01() {
    }
    
    //初始化 当第一次创建Servlet对象时执行该方法
    //该方法在整个生命周期中只执行一次
    public void init(ServletConfig servletConfig) throws ServletException {
        System.out.println("Demo01 init...");
    }
​
    //服务 对客户端响应的方法,该方法会被执行多次,每次请求该servlet都会执行该方法
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
        PrintWriter out = servletResponse.getWriter();
        out.println("<h2>Demo01 ...</h2>");
        HttpServletRequest request = (HttpServletRequest)servletRequest;
        String method = request.getMethod();
        servletResponse.setContentType("text/html");
        
        //告诉客户使用的是get方法还是post方法
        if ("GET".equals(method)) {
            out.println("GET");
            System.out.println("doGet...");
        } else if ("POST".equals(method)) {
            out.println("<h2>doPost...</h2>");
            System.out.println("doPost...");
        }
    }
​
    //销毁 当Servlet被销毁时执行该方法
    public void destroy() {
        System.out.println("Demo01 destroy...");
    }

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值