WEB-3-Servlet

一. 前言

1. Tomcat

Tomcat 是一个轻量级的 Servelet 容器,是一个 HTTP 服务器(封装了HTTP 协议),可以部署动、静态页面。

Tomcat是一个应用程序,核心工作就是处理HTTP请求和响应。Tomcat 能够处理 HTTP 请求,全靠操作系统内核中的网络协议栈来支撑的.
Tomcat自身作为一个平台(webapp的容器),又对上层进行了一些支撑,给用户写的代码提供了一些服务器.

一个操作系统包含了两部分:内核和配套的应用程序。
在这里插入图片描述
Tomcat 本身也是一个应用程序。

2. Maven

Maven 是一个项目管理工具。
作用:

  • 创建项目:创建一个java web项目(有特定的目录结构和配置文件)遵守tomcat的要求.
  • 打包构建:把已经写好的代码,以及依赖的资源都一起打成一个war包(tomcat能够识别的包).
  • 依赖管理:把项目中用到的第三方库jar都下载下来并导入到项目中.

二. Servlet

1. 什么是 Servlet ?

想要在 Tomcat上部署动态资源,就得依赖于 Tomcat 提供的一组 API —— Servlet,它能够开发动态页面。

2. Servlet 的作用

Servlet是官方提供的一种web开发的规范,用于web开发中,以java代码来处理请求及返回响应。由不同的web服务器厂商提供具体的Servlet规范的实现,这些web服务器也称为Servlet容器。

3. Tomcat 如何处理 Servlet 的代码?

  • 收到HTTP请求的时候(字符串),按照HTTP协议的格式,把这个请求解析成一个HttpServletRequest对象;
  • Tomcat根据请求的信息,(URL的路径,方法)定位到某个具体的Servlet类,以及调用其中的某个方法;
  • 用户自己写的代码,就会根据HttpServletRequest的内容,动态的计算,构造生成一个HttpServletResponse对象;
  • Tomcat拿到HttpServletRepsonse对象之后又会把这个对象按照HTTP协议的格式构造成一个字符串,通过内核中的下层协议栈,发送会给浏览器。

4. Servlet 对象的生命周期

  • 初始化阶段调用一次init;
  • 每次收到请求,调用service方法(HttpServlet里面的service方法又会调用doXXX方法);
  • 在服务器退出之前,再调用一次destroy。

5. 核心类

  • HttpServlet
  • HttpServletRequest
  • HttpServletResponse

构造了一个 GET 方法,想要在浏览器中发送 POST 请求,应该怎么做?
(1)form 表单:就是一个 HTML 标签,在里面标记一下 post 方法就可以了;
(2)在开发页面再次重写一个 doPost 方法,在里面调用 doGet 方法,并写入参数。

(1)HttpServletRequest 这个类常用的方法:

  • getMethod 获取方法.
  • getRequestURI 获取请求的 url
  • getQueryString 获取query string
  • getParameter 获取参数.

HttpServletRequest里面的方法主要都是get系列的方法获取属性.

(2)HttpServletResponse 这个类的常用方法:

  • setStatus 设置状态码
  • setHeader设置header头
  • setContentType 设置Content-Type(也能通过setHeader来完成)
  • getWriter().write 设置body

HttpServletResponse里面的方法主要都是set系列的方法设置属性.

6. cookie和session

客户端向服务器发送一个请求进行身份验证;服务器根据请求来验证用户的身份信息,分配一个session对象,并生成一个sessionId;服务器通过响应中的Set-Cookie字段返回sessionId给客户端;客户端拿到Set-Cookie字段的值,会保存到浏览器本地;下次客户端再次请求时,会自动带上Cookie 中保存的值;服务器根据Cookie的值,就知道客户端的身份是啥了。

Session表示一个“会话”,每一个用户访问服务器的时候,服务器都会给这个用户分配一个会话。服务器同时给多个用户提供服务,此时也就会存在多个会话,每个会话对象里面又可以包含一些键值对属性。

Cookie最常见的用法就是用来实现登陆机制,登陆机制中光用Cookie还不够,还需要用到Session。

  • 5
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赢锋尹

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值