• Servlet入门和HTTP。


    Servlet:

    1、概念:Servlet:server applet  ,运行在服务器端的小程序。

           浏览器在访问服务器的动态资源时,访问的是具有逻辑性的Java代码(Java类),而这里的Java类依 赖于服务器才能运行(tomcat执行它),而这些Java类需要遵循一些规则,tomcat才能识别它并执行它,而这些规则就是Servlet。

            * Servlet就是一个接口,定义了Java类能被浏览器访问到(tomcat识别)的规则。

    2、快速入门:

      1、创建JavaEE项目。

      2、定义一个类,实现Servlet接口。

      3、实现接口中的抽象方法。

      4、配置Servlet:

    <servlet>
            <servlet-name>demo1</servlet-name>
            <servlet-class>servlet.ServletDemo1</servlet-class>
        </servlet>
        <servlet-mapping>
            <servlet-name>demo1</servlet-name>
            <url-pattern>/demo1</url-pattern>
        </servlet-mapping>

    3、Servlet执行原理。

      1、http://localhost:8080/Tomcat/demo1    浏览器访问服务器,并试图获取资源。

      2、查找web.xml,看<url-pattern>里有没有demo1

      3、如果有,找到对应<servlet-class>全类名。

      4、tomcat将该类的字节码文件加载进内存,并创建其对象。

      5、调用该对象的方法。

    4、Servlet中的生命周期。

      1、被创建:执行 init 方法,只执行一次。

        * Servlet什么时候被创建?

          * 默认,第一次访问时,Servlet被创建。

          * 可以配置Servlet的创建时机。

             1、第一次被访问时创建:<load-on-startup>的值为负数。

              2、服务器启动时创建:值为0或正数。

        * Servlet的 init 方法,只执行一次,说明一个Servlet在内存中只存在一个对象,Servlet是单例的。所以在多个用户访问时,可能存在线程安全问题。

          * 解决:尽量不要在Servlet中定义成员变量。即使定义了,不要对其修改值。

      2、提供服务:执行service 方法,执行多次。

        * 每次访问Servlet时,service方法被调用一次

      3、被销毁:执行 destroy 方法,只执行一次。

        * 服务器关闭时(正常关闭),在Servlet销毁之前被执行,一般用于释放资源。

    4、Servlet3.0.

      好处:支持注解配置。可以不用web.xml。

      步骤:1、创建JavaEE项目,选Servlet3.0及以上版本,可不创建web.xml

         2、定义类实现接口,重写方法。

         3、类上使用@WebServlet 注解来配置:@WebServlet("资源路径")。

    5、IDEA和tomcat的相关配置。

      1、IDEA会为每个tomcat部署的项目单独建立一份配置文件。

        * 查看控制台的 Using CATALINA_BASE:

      2、项目有两个地方存储:工作空间项目  和  tomcat部署的web项目。

        * tomcat真正访问的是 “tomcat部署的web项目“ ,该项目对应着工作空间项目的web目录下的所有资源。

      3、tomcat断点调试:点小虫子来启动debug。

    6、Servlet体系结构。

      Servlet接口 <---GenericServlet 抽象类 <-- HttpServlet 抽象类。

      *GenericServlet:将Servlet接口的其他方法作了默认实现,只将service()方法作为抽象方法,所以以后定义Servlet类时,可以继承该抽象类,实现service()方法即可。

      *HttpServlet :对http协议的一种封装,简化操作(判断请求类型)   常用

        实现:1、定义类继承HttpServlet  2、复写doGet/doPost 方法。

    7、Servlet相关配置。

      1、urlPartten:Servlet访问路径。

        * 一个Servlet可以定义多个访问路径。

        * 路径定义规则:1、/XXX  2、/xxx/xxx 3、*.do

    8、HTTP。

      1、概念:Hyper Text Transfer Protocol  超文本传输协议。

        传输协议:定义了客户端和服务器通信时,发送数据的格式。

        * 特点:1、基于TCP/IP的高级协议。

            2、默认端口号:80

            3、基于请求/响应模型的: 一次请求对应一次响应。

            4、无状态的 :每次请求之间相互独立,不能交互数据。

      2、请求消息数据格式。

        1、请求行:请求方式  请求url  请求协议/版本 : GET /login.html HTTP/1.1

        2、请求头:浏览器告诉服务器一些信息。 请求名称:请求值

          常见的请求头:1、User-Agent:告诉服务器浏览器的版本信息。

                 2、Referer:告诉服务器,当前请求从哪里来。作用:防盗链、统计。

        3、请求空行:空行,用来分隔。

        4、请求体(正文):封装POST请求消息的请求参数的。

  • 相关阅读:
    OpenAL播放pcm或wav数据流-windows/ios/android(一)
    Windows录音API学习笔记--转
    Windows基础-实时录音程序(WaveXXX)
    Windows基础-使用XAudio2播放音频(本质是WASAPI)
    XAudio2播放PCM
    jps的用法及常见问题介绍
    eureka添加security验证之后,client注册失败
    Maven中央仓库地址大全,Maven中央仓库配置示例
    Maven入门指南:仓库
    Maven中央仓库地址
  • 原文地址:https://www.cnblogs.com/zhangyuhao/p/10973506.html
Copyright © 2020-2023  润新知