Servlet技术及代码实现

Servlet概念
  1. Servlet是JavaEE规范之一,规范指的就是接口。
  2. Servlet是JavaWeb三大组件之一,三大组件分别是:Servlet程序、Filter过滤器、Listener监听器。
  3. Servlet是运行在服务器上的一个java小程序,它可以接收客户端发送过来的请求,并响应数据给客户端。
知道了Servlet的概念,如何手动实现Servlet程序?

首先要新建一个JavaEE动态的Web工程
Servlet技术及代码实现_第1张图片在工程中编写类来实现Servlet:
重点实现Service方法,因为Service方法是专门用来处理请求和响应的。

package com.atguigu.servlet;

import javax.servlet.*;
import java.io.IOException;

public class HelloServlet implements Servlet {
    @Override
    public void init(ServletConfig servletConfig) throws ServletException {

    }

    @Override
    public ServletConfig getServletConfig() {
        return null;
    }

    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
        System.out.println("Hello Servlet 被访问了");
    }

    @Override
    public String getServletInfo() {
        return null;
    }

    @Override
    public void destroy() {

    }
}

之后配置访问地址,否则服务器是不知道这个servlet程序的,在WEB-INF下的web.xml中配置:
Servlet技术及代码实现_第2张图片
具体代码配置如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">
    <!-- servlet标签给Tomcat服务器配置Servlet程序-->
    <servlet>
        <!--servlet-name标签 给servlet程序起一个别名(一般是类名) -->
        <servlet-name>HelloServlet</servlet-name>
        <!-- servlet-classServlet程序的全类名-->
        <servlet-class>
            com.atguigu.servlet.HelloServlet
        </servlet-class>
    </servlet>
    <!--servlet-mapping给Servlet程序配置访问地址-->
    <servlet-mapping>
        <!--servlet-name标签的作用是告诉服务器,当前配置的地址给哪个Servlet程序使用-->
        <servlet-name>HelloServlet</servlet-name>
        <!-- url-pattern标签配置访问地址-->
        <url-pattern>/hello</url-pattern>
    </servlet-mapping>
</web-app>

配置好后,就可以访问了,选择需要启动的Tomcat实例启动,结果如下图所示:
在这里插入图片描述

Servlet技术及代码实现_第3张图片

总结一下,就是下面三步:

  1. 编写一个类去实现Servlet接口。
  2. 实现service方法(是Servlet接口中非常重要的方法),处理请求,并相应数据。
  3. Servlet是运行在服务器上的,所有服务器上的东西都需要与之对应的访问地址,因此需要到web.xml中去配置servlet程序的访问地址。
    在实际的开发中,很少通过实现Servlet接口这种方式来实现Servlet程序,开发的时候都是找Servlet的子类去继承,例如继承HttpServlet类;但还有一种更快捷的方式,就是使用IDEA直接生成类和配置。
Servlet的生命周期
  1. 执行Servlet构造器方法
  2. 执行init初始化方法
  3. 执行service方法
  4. 执行destory销毁方法
    注意:第一、二步,是在第一次访问的时候创建Servlet程序会调用;第三步,每次访问都会被调用;第四步在Web工程停止的时候调用。
Servlet类的继承体系

Servlet技术及代码实现_第4张图片

你可能感兴趣的:(servlet,java)