• 带你吃透Servlet技术(一)


    请添加图片描述

    💖什么是 Servlet

    1、ServletJavaEE 规范之一。规范就是接口
    2、ServletJavaWeb 三大组件之一。三大组件分别是:Servlet 程序、Filter 过滤器、Listener 监听器。
    3、Servlet 是运行在服务器上的一个 java 小程序, 它可以接收客户端发送过来的请求,并响应数据给客户端。

    ✨第一个Servlet程序

    1、编写一个类去实现 Servlet 接口。
    2、实现 service 方法,处理请求,并响应数据。
    3、到 web.xml 中去配置 servlet 程序的访问地址。

    Servlet 程序的示例代码:

    public class HelloServlet implements Servlet {
        /**
         * service 方法是专门用来处理请求和响应的
         * @param servletRequest
         * @param servletResponse
         * @throws ServletException
         * @throws IOException
         */
        @Override
        public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws
                ServletException, IOException {
            System.out.println("Hello Servlet  被访问了");
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    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_4_0.xsd"
            version="4.0">
    
    <servlet>
    
    <servlet-name>HelloServletservlet-name>
    
    <servlet-class>com.atguigu.servlet.HelloServletservlet-class>
    servlet>
    
    <servlet-mapping>
    
    <servlet-name>HelloServletservlet-name>
    
    <url-pattern>/hellourl-pattern>
    servlet-mapping>
    web-app>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24

    ✨常见的错误

    常见的错误 1:url-pattern 中配置的路径没有以斜杠打头。
    在这里插入图片描述
    常见错误 2:servlet-name 配置的值不存在:
    在这里插入图片描述
    常见错误 3:servlet-class 标签的全类名配置错误:
    在这里插入图片描述

    ✨url地址定位Servlet程序去访问详解

    在这里插入图片描述

    ✨Servlet 的生命周期

    第一步:执行 Servlet 构造器方法。
    第二步:执行 init 初始化方法。
    第一、二步,是在第一次访问,的时候创建 Servlet 程序会调用。
    第三步:执行 service 方法。第三步,每次访问都会调用。
    第四步:执行 destroy 销毁方法。第四步,在 web 工程停止的时候调用。

    ✨GET 和 和 POST 请求的分发处理

    public class HelloServlet implements Servlet {
        /**
         * service 方法是专门用来处理请求和响应的
         * @param servletRequest
         * @param servletResponse
         * @throws ServletException
         * @throws IOException
         */
        @Override
        public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws
                ServletException, IOException {
            System.out.println("3 service === Hello Servlet  被访问了");
    // 类型转换(因为它有 getMethod() 方法)
            HttpServletRequest httpServletRequest = (HttpServletRequest) servletRequest;
    // 获取请求的方式
            String method = httpServletRequest.getMethod();
            if ("GET".equals(method)) {
                doGet();
            } else if ("POST".equals(method)) {
                doPost();
            }
        }
        /**
         * 做 get 请求的操作
         */
        public void doGet(){
            System.out.println("get  请求");
            System.out.println("get  请求");
        }
        /**
         * 做 post 请求的操作
         */
        public void doPost(){
            System.out.println("post  请求");
            System.out.println("post  请求");
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
  • 相关阅读:
    裸机与RTOS(概念、关系、区别)
    二叉树简介
    傻瓜式制作产品图册,一秒就能学会
    Long类型字段前端获取精度丢失的解决方案
    【Python]】地图热力图如何绘制?(含源代码)
    自然辩证法与人工智能:一种哲学与技术的对话
    设计模式 21 备忘录模式 Memento Pattern
    PDF格式分析(七十六)——方形和圆形注释(Square、Circle)
    普罗米修斯-spring-boot项目集成自定义监控及钉钉推送
    LinkedList的使用(Java)
  • 原文地址:https://blog.csdn.net/YOU__FEI/article/details/127288012