Servlet概述+Servlet的创建和使用+Servlet的生命周期

Servlet概述

  1. Servlet是Server Applet的合成词, 意思是用Java编写的服务器端的程序, 它运行在web服务器中, web服务器负责Servlet和客户的通信以及调用Servlet方法, Servlet和客户通信采用"请求/响应"的模式。
  2. Servlet的作用:
接收用户发送的请求,数据;
调用其他的java程序来处理请求;
根据处理结果,服务器将响应返回给客户端。

Servlet创建和使用

  1. 创建一个类继承javax.servlet.http包下的HttpServlet;

javax.servlet.http包我们可以在Tomcat的目录中找到(apache-tomcat-9.0.43\lib), lib文件夹下有一个jar包(servlet-api.jar),我们将这个包复制到源代码文件目录中的WEB-INF/lib下面, 再通过开发工具集成servlet-api, 这样就可以让类继承HttpServlet了。

在这里插入图片描述

  1. 重写父类中的方法:这里只重写三个方法, 这三个方法与生Servlet的生命周期有关。

    package com.ff.javaweb.servlet;
    
    import javax.servlet.ServletConfig;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import java.io.IOException;
    
    /**
     * @Author Lotus_dong
     * @Date 2021-02-26 14:43
     * @function 具有servlet功能的类
     */
    
    public class Demo1Servlet extends HttpServlet {
    
        /**
         * 无参构造方法
         */
        public Demo1Servlet() {
            System.out.println("无参构造方法");
        }
    
        /*
         * 初始化
         */
        @Override
        public void init(ServletConfig config) throws ServletException {
            System.out.println("init");
        }
    
        /*
         * 提供服务
         * HttpServletRequest : 请求中的数据都被服务器封装到HttpServletRequest中
         * HttpServletResponse : 向客户端作出响应
         */
        @Override
        protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            System.out.println("service");
            /*写自己的处理*/
        }
    
        /*
         * 销毁
         */
        @Override
        public void destroy() {
            System.out.println("destroy");
        }
    }
    
  2. 在web.xml文件中配置Servlet。

    (1)什么是web.xml文件?

    web.xml文件时web应用的配置文件, 它必须放在web应用目录WEB-INF目录下面;
    
    web.xml文件用于对web应用下的web资源进行配置, 服务器在启动时会读取web.xml文件中的内容。
    

    (2)为什么要在web.xml文件中配置Servlet?

由于客户端时通过URL地址(url:统一资源定位系统,是因特网的万维网服务程序上用于指定信息位置的表示方法)访
问web服务器中的资源,所以Servlet程序若是想被外界访问,必须把servlet程序映射到一个URL地址上,这个工作在
web.xml文件中使用<servlet>元素和<servlet-mapping>元素完成。

(3)了解< servlet>和< servlet-mapping>标签。

<servlet>元素:用于注册Servlet,它包含两个主要的子元素<servlet-name>和<servlet-mapping>。
	<servlet-name>:用于设置Servlet的注册名称。
	<Servlet-mapping>:用于设置Servlet的完整类名(反射机制)。
	
	
<servlet-mapping>元素:映射一个已注册的Servlet的一个对外访问路径,包含两个子元素:<servlet-name>和<url-pattern>。
	<servlet-name>:指定Servlet的注册名称。
	<url-pattern>:指定Servlet的对外访问路径,配置模式为"/"代表当前web应用的根目录。

(4)在web.xml文件中配置Servlet.

1)配置Servlet, 在服务器中注册Servlet, 由服务器管理所有的Servlet对象。

<servlet>
        <!--为servlet对象定义一个名称-->
        <servlet-name>demo1</servlet-name>
        <!--通过反射机制(根据地址创建对象)创建对象-->
        <servlet-class>com.ff.javaweb.servlet.Demo1Servlet</servlet-class>
</servlet>

2)给Servlet映射一个访问地址。

<servlet-mapping>
        <!--对应servlet对象的名称-->
        <servlet-name>demo1</servlet-name>
        <!--为servlet配置供前端访问的地址,可以配置多个地址-->
        <url-pattern>/Demo1Servlet</url-pattern>
        <url-pattern>/Demo1Servlet1</url-pattern>
</servlet-mapping>

这样我们就可以使用127.0.0.1:8080/Demo1Servlet或127.0.0.1:8080/Demo1Servlet进行访问了。

3)我的web.xml文件配置格式。

<?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">

    <!--
        xml文件: mark language  可扩展标记语言,作用是用来存储数据
        web.xml: 用来存储web项目中的一些配置信息,此文件在服务层启动时被服务器加载读取
    -->

    <!--配置servlet 在服务器中注册servlet 由服务器管理所有的servlet对象-->
    <servlet>
        <!--为servlet对象定义一个名称-->
        <servlet-name>demo1</servlet-name>
        <!--通过反射机制(根据地址创建对象)创建对象-->
        <servlet-class>com.ff.javaweb.servlet.Demo1Servlet</servlet-class>
    </servlet>

    <!--给servlet配置一个访问地址-->
    <servlet-mapping>
        <!--对应servlet对象的名称-->
        <servlet-name>demo1</servlet-name>
        <!--为servlet配置供前端访问的地址,可以配置多个地址-->
        <url-pattern>/Demo1Servlet</url-pattern>
        <url-pattern>/Demo1Servlet1</url-pattern>
    </servlet-mapping>

</web-app>
  1. 运行Servlet程序。

Servlet生命周期

在这里插入图片描述

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 游动-白 设计师:白松林 返回首页