Servlet/Http协议基础知识

Servlet/Http协议

一. Servlet基础
  1. Servlet :server applet(运行在服务器端的小程序)
  2. Servlet 就是一个接口,定义了Java类被浏览器访问到(被Tomcat识别)的规则
  3. 实现Servlet接口的类须要依赖服务器(如Tomcat)才能运行,由Tomcat执行
  4. 基本操作:
  • 实现Servlet接口,重写方法,在重写的service()方法中写要输出的内容
  • 在web.xml中添加访问类的映射地址
  • 启动服务器,访问对应路径 (注意虚拟路径)
    在这里插入图片描述
    在这里插入图片描述
    5.执行原理
  • tomcat服务器解析请求url路径,获取访问Servlet的资源路径
  • 查找web.xml文件,查找是否有对应的< url-pattern>
  • 找到对应的< servlet-class>全类名,将此类的字节码文件加载进内存,创建其对象,调用对应方法
  • 注:tomcat服务器会创建request(封装请求消息)和response对象传递给service()方法,并调用
  1. Servlet的生命周期
  • init()方法,在Servlet被创建时执行,只会执行一次(在内存中只存在一个对象,单例)
  • service()执行服务的方法可以执行多次
  • destroy()方法,在服务器正常关闭时执行,只会执行一次
  1. 指定Servlet的创建时机
 <servlet>
        <servlet-name>demo3</servlet-name>
        <servlet-class>cn.itcast.web.servlet1.MyServlet</servlet-class>
        <!--
        Servlet的创建时机
        1. 负数:第一次被访问时创建,默认是负数
        2. 0或正数: 在启动服务器是被创建
        -->
        <load-on-startup>0</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>demo3</servlet-name>
        <url-pattern>/demo3</url-pattern>
    </servlet-mapping>
  1. 映射路径的注解配置
  • @WebServlet("/xxx"):代替web.xml中的配置(JavaEE6 之后支持Servlet3.0,Servlet3.0之后支持注解配置)
  1. Servlet的体系结构
  • Servlet(接口)
  • GenericServlet(抽象类), 只需要重写service()方法
  • HttpServlet(抽象类),内部的service()方法根据请求方式做了方法分发。最常用的是重写doGet()方法和doPost方法
  • 浏览器直接访问为get方式,post方式如表单提交
    在这里插入图片描述
  1. 路径的定义规则(可以为数组{"/xxx","/xxx"})
  • /xxx
  • /xxx/xxx (*代表任意)
  • *.do (不加斜杠)
HTTP协议
  1. HTTP: Hyper Text Transfer Protocal 超文本传输协议
  2. 特点
  • 基于TCP/IP的高级协议,默认端口80
  • 基于请求/响应模型:一次请求对应一次响应
  • 无状态的:每次请求之间相互独立,不能交互数据
  1. 请求消息的数据格式(request)
  • 请求行
  • 请求头 :客户端浏览器告诉服务器一些信息(如User-Agent ,referer )
  • 请求空行:分割作用
  • 请求体:正文 (get请求没有请求体部分)
  1. GET请求方式和POST的区别
  • GET
  • 请求参数会在地址栏中显示,URL后,封装在请求行中
  • 请求参数的长度是有限制的
  • 不太安全(在地址栏能看见)
  • POST
  • 请求参数不会在地址栏中显示,会封装在请求中
  • 请求参数的大小没有限制(文件上传)
  • 较为安全
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值