ServLet 开发

Web 开发

  1. Servlet 开发
    1. 使用 IDEA 创建 Servlet 的流程
      准备阶段 + 开发阶段 @开发环境
      构建阶段 + 部署阶段 @构建环境
      运行阶段 @运行环境
    2. Servlet 标准规定了 环境运行上,的目录结构在这里插入图片描述
    3. Tomcat 在 Servlet 运行过程中所起的作用
      1. HTTP 服务器 Servlet 容器
        把浏览器发送的 HTTP 请求,进行解析, 并按照 Servlet 标准,封装成 HttpServlRequest 对象 ,根据指定规则 —— 找到对应的 Servlet 类中的方法进行处理,把HttpServletResponse 对象,重新构建成HTTP 响应,并发送给浏览器
        我的理解就是 HTTP服务器遵循HTTP协议,Tomcat遵循Servlet标准就是Servlet容器
    4. Servlet 标准中常见类的常见方法
      1. HttpServletRequest 中的常见方法
        HTTP请求的封装 —— 获取 HTTP 请求中的信息
        HTTP 请求中主要有:方法、urll、headers、body、paramters
      2. HttpServletResponse 中常见的方法
        Http响应的封装 —— 填充HTTP响应中的信息
        状态码、Headers、Body

借助Servlet中的API 认识一下

  1. 状态码:关于重定向的状态码(302/307/……)
  2. Cookie 和 Session (重点)

关于HTTP重定向

通过标准中的状态 通知浏览器 重新发起HTTP请求。一般用于资源被移到新的位置、用户管理
博客管理:发布文章 需要 用户先登录
如果用户没有登陆,就进入到发布文章页面,常见的方法重定向到用户登录页面

分为两大类 永久重定向 与 临时重定向

HTTP状态总结
一、五大类 1XX 、 2XX、3XX、4XX、5XX
二、常见的
200 一切正常
301、302、303、307 重定向相关,配合 Location 使用
404 请求的资源不存在了
500 代码中出现了异常、服务器内部错误


Cookie 和 Session(重点)

前置知识 1:
HTTP 协议是一种无状态协议(无记忆性)
在这里插入图片描述
思考 :如何解决 HTTP 协议无记忆性的问题?
在这里插入图片描述
收到一个请求,请求中缺少表示你身份的信息
在这里插入图片描述

但是引申出一个问题,身份信息在URL中可以随意修改,并不安全,身份无法确定是否是真实的
所以 HTTP 协议规定了一种标准化的方式 在请求中携带用户信息
把信息携带在Header 中 —— Cookie
在这里插入图片描述
但是并未解决是否你就是马冬梅

值得一提的是 请求是由浏览器发起,Cookie 中携带的信息不是由浏览器决定的,而是由服务器决定的。
在这里插入图片描述


使用 Cookie 机制 还遗留一个问题 —— 账号可以泄露和伪造
在这里插入图片描述
因为 Cookie 信息是交给客户端保存的,会泄露 会伪造
所以不适合把全部信息全部放到Cookie中

这时候就需要 Session 机制来弥补 Cookie 机制的缺陷
平时使用方式多是 Cookie + Session 配合使用。 独立起来,分别都可以工作,但配合工作是最好状态


在这里插入图片描述
通过使用一个加密柜(Session) 来保持安全
在这里插入图片描述


Cookie 想象成一个对象
/set-cookie/by/header 种cookie 的时候没有指定过 path 信息, 所以 , 默认的path 信息是 /set-cookie/by/
浏览器再发起请求时,只有请求/set-cookie/by/… 的资源时 ,才需要带着这个cookie

访问别的url不会带


Cookie 信息被种到浏览器中 —— 浏览器负责保存 Cookie 信息
Session 信息保存在 Session 服务器中,Tomcat 的默认 Session 策略 时保存在 内存中的(Map)
所以 重启Tomcat , Session 信息会丢失,Cookie 信息还在
重启浏览器 ,Cookie 信息会丢失 备注:在没有添加过期时间的情况下


在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值