Servlet必须掌握的两种常用配置,今天你掌握了吗?

Servlet简单了解

在这里插入图片描述

Servlet常用的两种配置方式
XML配置
实现步骤
  1. 新建一个JavaEE项目
  2. 定义一个类实现Servlet接口
  3. 实现接口中的所有抽象方法
  4. web.xml文件中去配置servlet
代码展示
  • 首先需要创建一个JavaEE项目,创建项目的步骤很简单,这里不做详细展示,重点看下面

    在这里插入图片描述

  • ServletDemo类

    // Servlet的生命周期
    public class ServletDemo  implements Servlet {
        /**
         * 初始化方法init
         * servlet对象被创建后,只执行一次
         * @param servletConfig
         * @throws ServletException
         */
        @Override
        public void init(ServletConfig servletConfig) throws ServletException {
            System.out.println("servlet被创建,servlet单例的,只会被创建一次,init方法只会被执行一次");
        }
    
        /**
         * 获取ServletConfig这个对象
         * 获取servlet的配置信息
         * @return
         */
        @Override
        public ServletConfig getServletConfig() {
            return null;
        }
    
        /**
         * 提供服务的方法
         * 用来接收请求,处理请求,响应请求,这个方法每一次访问都会被执行一次
         * @param servletRequest
         * @param servletResponse
         * @throws ServletException
         * @throws IOException
         */
        @Override
        public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
            System.out.println("Hello Servlet.....");
        }
    
        /**
         * 获取servlet的信息
         * @return
         */
        @Override
        public String getServletInfo() {
            return null;
        }
    
        /**
         * 销毁方法
         * 在服务器正常关闭之前servlet被销毁之前执行
         */
        @Override
        public void destroy() {
            System.out.println("这是servlet被销毁之前(|服务器被正常关闭之前)交代的遗言");
        }
    }
    
  • 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_3_1.xsd"
             version="3.1">
        <!-- servlet的配置 -->
        <servlet>
            <!-- 自拟servlet名称 -->
            <servlet-name>demo1</servlet-name>
            <!--  指定servlet的全类名 -->
            <servlet-class>com.csdn.servlet.ServletDemo</servlet-class>
            <!--
                指定servlet的创建时机
                负数就代表第一次访问时被创建
                正数就代表服务器启动时被创建
            -->
            <load-on-startup>5</load-on-startup>
        </servlet>
        <!-- servlet的映射 -->
        <servlet-mapping>
            <!--这里的name要和servlet里面的name遥相呼应 -->
            <servlet-name>demo1</servlet-name>
            <!-- 指定servlet的访问路径,也就是servlet资源资源路径 -->
            <url-pattern>/demo1</url-pattern>
        </servlet-mapping>
    </web-app>
    

    以上步骤都完成后,开启服务器,地址栏输入:http://localhost:8080/你设置的虚拟目录/servlet的资源路径

    我这里的虚拟目录是/day0304_servlet,我的servlet的资源路径是/demo1

    在这里插入图片描述

注解配置
实现步骤
  1. 创建一个JavaEE项目
  2. 定义一个类实现Servlet接口
  3. 实现接口中的所有抽象方法
  4. 在类上加上一个@WebServlet("\servlet资源路径")即可
代码展示
  • 首先需要创建一个JavaEE项目,创建项目的步骤很简单,这里不做详细展示,重点看下面

    在这里插入图片描述

  • ServletDemo类

    // Servlet的生命周期
    @WebServlet("/demo1")
    public class ServletDemo  implements Servlet {
        /**
         * 初始化方法init
         * servlet对象被创建后,只执行一次
         * @param servletConfig
         * @throws ServletException
         */
        @Override
        public void init(ServletConfig servletConfig) throws ServletException {
            System.out.println("servlet被创建,servlet单例的,只会被创建一次,init方法只会被执行一次");
        }
    
        /**
         * 获取ServletConfig这个对象
         * 获取servlet的配置信息
         * @return
         */
        @Override
        public ServletConfig getServletConfig() {
            return null;
        }
    
        /**
         * 提供服务的方法
         * 用来接收请求,处理请求,响应请求,这个方法每一次访问都会被执行一次
         * @param servletRequest
         * @param servletResponse
         * @throws ServletException
         * @throws IOException
         */
        @Override
        public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
            System.out.println("Hello Servlet.....");
        }
    
        /**
         * 获取servlet的信息
         * @return
         */
        @Override
        public String getServletInfo() {
            return null;
        }
    
        /**
         * 销毁方法
         * 在服务器正常关闭之前servlet被销毁之前执行
         */
        @Override
        public void destroy() {
            System.out.println("这是servlet被销毁之前(|服务器被正常关闭之前)交代的遗言");
        }
    }
    

    以上步骤都完成后,开启服务器,地址栏输入:http://localhost:8080/你设置的虚拟目录/servlet的资源路径

    我这里的虚拟目录是/day0302_servlet_anno,我的servlet的资源路径是/demo1

    在这里插入图片描述


了解:当然除以上两种方式外,还有web.xml和注解并存的现象

两者区别

答:区别:使用xml方式配置比较麻烦,若有很多个servlet,都要单独地到web.xml文件中进行配置,但使用这个@WebServlet注解后就大大地简化了开发,省略掉了一些繁琐的杂事

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奔走中的蜗牛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值