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

文章目录

        • Servlet简单了解
        • Servlet常用的两种配置方式
          • XML配置
            • 实现步骤
            • 代码展示
          • 注解配置
            • 实现步骤
            • 代码展示
          • 两者区别

Servlet简单了解

Servlet必须掌握的两种常用配置,今天你掌握了吗?_第1张图片

Servlet常用的两种配置方式

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

    Servlet必须掌握的两种常用配置,今天你掌握了吗?_第2张图片

  • 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

    
    <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-name>demo1servlet-name>
            
            <servlet-class>com.csdn.servlet.ServletDemoservlet-class>
            
            <load-on-startup>5load-on-startup>
        servlet>
        
        <servlet-mapping>
            
            <servlet-name>demo1servlet-name>
            
            <url-pattern>/demo1url-pattern>
        servlet-mapping>
    web-app>
    

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

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

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

    Servlet必须掌握的两种常用配置,今天你掌握了吗?_第3张图片

  • 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注解后就大大地简化了开发,省略掉了一些繁琐的杂事

你可能感兴趣的:(JavaWeb)