Servlet API 表白墙

news2025/2/21 21:52:23

Servlet API 详解

主要三个:

1.HttpServlet

2.HttpServletRequest

3.HttpServletResponse

1.HttpServlet

方法名称

调用时机

init

HttpServlet 实例化之后被调用一次

destroy

HttpServlet 实例不再使用的时候调用一次

service

收到 HTTP 请求的时候调用

doGet

收到 GET 请求的时候调用( service 方法调用)

doPost

收到 POST 请求的时候调用( service 方法调用)

doPut/doDelete/doOptions/...

收到其他请求的时候调用( service 方法调用)

  • Init 创建HttpServlet实例会调用一次, 首次被访问会被实例化, 作用就是用来初始化 --- 就很像懒汉模式
  • Destroy 不一定真的调用到,tomcat关闭,则不再调用HttpServlet
  • Service tomcat收到请求,实际先调用service,再在service里根据方法,调用不同doXXX,实际很重少写service,直接重写doXXX

谈谈Servlet的生命周期

  • 当一个请求从HTTP服务器转发给Servlet容器时,容器检查对应的Servlet是否创建,没有创建就实例化该Servlet,并调用init()方法,init()方法只调用一次,之后的请求都从第二步开始执行;
  • 请求进入service()方法,根据请求类型转发给对应的方法处理,如doGet, doPost, 等等
  • 容器停止前,调用destory()方法,进行清理操作,该方法只调用一次,随后JVM回收资源

 

2.HttpServletRequest

方法

描述

String getProtocol()

返回请求协议的名称和版本。

String getMethod()

返回请求的 HTTP 方法的名称,例如,GETPOST PUT

String getRequestURI()

返回该请求的 URL 的一部分。

String getContextPath()

返回指示请求上下文的请求 URI 部分。

String getQueryString()

返回包含在路径后的请求 URL 中的查询字符串。

Enumeration getParameterNames()

返回一个 String 对象的枚举,包含在该请求中包含的参数的名
称。

String getParameter(String name)

以字符串形式返回请求参数的值,或者如果参数不存在则返回
null

String[] getParameterValues(String name)

返回一个字符串对象的数组,包含所有给定的请求参数的值,
如果参数不存在则返回 null

Enumeration getHeaderNames()

返回一个枚举,包含在该请求中包含的所有的头名

String getHeader(String name)

以字符串形式返回指定的请求头的值。

String getCharacterEncoding()

返回请求主体中使用的字符编码的名称。

String getContentType()

返回请求主体的 MIME 类型,如果不知道类型则返回 null

int getContentLength()

以字节为单位返回请求主体的长度,并提供输入流,或者如果
长度未知则返回 -1

InputStream getInputStream()

用于读取请求的 body 内容. 返回一个 InputStream 对象

 

 

3.HttpServletResponse

void setStatus(int sc)

为该响应设置状态码。

void setHeader(String name,String value)

设置一个带有给定的名称和值的 header. 如果 name 已经存在,覆盖旧值.

void addHeader(String name, String value)

添加一个带有给定的名称和值的 header. 如果 name 已经存在,不覆盖旧的值, 旧值新值同在

void setContentType(String type)

设置被发送到客户端的响应的内容类型。

void setCharacterEncoding(String charset)

设置被发送到客户端的响应的字符编码

void sendRedirect(String location)

使用指定的重定向位置 URL 发送临时重定向响应到客户端。

PrintWriter getWriter()

用于往 body 中写入文本格式数据.

OutputStream getOutputStream()

用于往 body 中写入二进制格式数据.

后两个 -> http响应是什么样的数据(显示在浏览器上的)

 

 

 

一个表白墙~~~

唉芝士的融合后很好吃,就是有点难融合

1 首先, 介绍一下功能~

  • 你发送消息,谁,对谁,说什么 (比如: 小明 小芳 爱你)
  • 这个表白墙是用来 提交 谁对谁 说了什么 并且把数据保留(上一次发的数据,再次打开这个界面能显示)~

2. 实现什么,交互:

  • 当前端发送了消息点击了’提交’, 数据一定要发一份给服务器
  • 再打开这个页面, 要从服务器获取到之前的信息

3. 探讨细节:

发送给服务器的

  • 我们用post方法(里面有body)
  • Content-Type 用json
  • 数据的格式
  • 响应返回200

获取数据的

  • 用get方法
  • 响应
  • 格式

4. okk我们看图

 

 就这些+数据库的JDBC 大功告成

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/48312.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vue开发测评系统思路及踩坑

最近公司做了一个测评系统,因为时间很短,本以为会很简单,没有想到踩了很多坑。 先看下部分效果图吧 然后在说下需求 1:所有的答案都是动态的(例如选择是出来的是第二题,选择否出来的是第五题&#xff09…

【Linux】文件权限的理解

不用心做一件事情,你永远不知道自己有多么的强大! 文章目录一、shell命令以及运行原理(centos7下,shell为命令行解释器bash)1. 什么是shell(Kernel外层的软件层)?2. shell的交互方式存在意义3. windows GUI对比Linux shell(都是Ke…

算法: C# 中将 Dictionary 集合用作 Hashmap 等价类型

一.只出现一次的数字 1.1 题目描述 给你一个整数数组 nums ,除某个元素仅出现 一次 外,其余每个元素都恰出现 三次 。请你找出并返回那个只出现了一次的元素。 示例 1: 输入:nums [2,2,3,2] 输出:3 示例 2&#…

Faster RCNN全文翻译

Abstract—State-of-the-art【最先进的】 object detection networks depend on region proposal algorithms to hypothesize【假设、推测】 object locations.Advances like SPPnet [1] and Fast R-CNN [2] have reduced the running time of these detection networks, expos…

赞叹AI的力量-TopazLabs 全家桶使用经历

一、Topaz Gigapixel AI 之前有用过日本的一个2x提升的在线网站服务waifu2x 是通过深度卷积神经网络来实现的,对于anime-style的图片效果是非常好的,使用过之后发现对于一些真实图片效果也不错,只是放大之后能明显的看到局部失真。 效果图&…

详解nginx的root与alias

文章目录1. 结论2. 详解root2.1 基本用法2.2 location的最左匹配原则2.3 index2.4 nginx location解析url工作流程2.5 末尾/3. 详解alias3.1 基本用法4. 特殊情况4.1 alias指定文件4.2 root指定文件nginx版本: 1.18.0 1. 结论 location命中后 如果是root,会把请求…

Anaconda、Conda、pip、Virtualenv的区别

一、Anaconda 1.1 简介 Anaconda是一个包含180的科学包及其依赖项的发行版本。其包含的科学包包括:conda, numpy, scipy, ipython notebook等。 二、Conda 2.1 简述 conda是包及其依赖项和环境的管理工具。 适用语言:Python, R, Ruby, Lua, Scala, …

什么是CRM系统,它如何支持客户营销管理?

简道云回款&销售排名看板什么是CRM控制系统,它怎样全力支持顾客网络营销管理工作? 顾客关系管理工作(CRM)是国际品牌用以培育与顾客关系的技术。这些应用软件系统意在协助产品销售和服务全权更有效地与顾客沟通交流。由于91%的雇员超过11人的企业使用CRM&…

Vue3 —— 利用vite+vue创建一个vue3项目

前言 本文主要讲解如何利用vitevue创建第一个项目以及vue3的基础知识点 一、创建一个vue3项目 这里我们主要介绍如何利用 vitevue3创建项目 1.有关vite Vite(法语意为 "快速的",发音 /vit/,发音同 "veet")是…

AWS Lambda函数实战

AWS Lambda函数实战 实战效果&#xff1a;开发一个函数&#xff0c;它会关注事件中的某个名字&#xff0c;并返回“Hello<名字>&#xff01;”。如果输入事件没有提供名字&#xff0c;则函数返回一个更加通用的问候语“Hello World&#xff01;”。 AWS Lambda函数实战A…

vue后台实现点击图片放大

需求&#xff1a; 点击小图可以放大&#xff0c;放大后&#xff0c;通过手势等比例放大缩小、左右切换图、旋转、关闭。由于element-ui版本较低不支持使用图片放大的image组件。 代码 父组件&#xff1a; <template><div><!-- 放大图 --><el-image-vie…

数商云供应链管理系统助力化工行业企业实现客户订单管理可视化

订单管理是现代企业商务业务的重要组成部分&#xff0c;可以帮助企业解决订单管理低效、混乱等问题。随着产业互联网时代的到来&#xff0c;越来越多企业放弃传统费时费力的手动操作&#xff0c;开始应用数字化的管理工具来提高企业订单管理的水平。这里以化工行业企业为例&…

一文详解,数据仓库、数据库、数据中台、数据湖的区别

数据时代&#xff0c;各行业的企业都已经开始通过数据库来沉淀数据&#xff0c;但是真的论起数据库、数据仓库、数据中台&#xff0c;还是新出现的数据湖&#xff0c;它们的概念和区别&#xff0c;可能知道的人就比较少了&#xff0c;今天我们详细来比较了解一下。 数据仓库是…

ArrayList 和 LinkedList 之间应该怎么选择

这篇文章是来自知乎上的一个问题。 相信很多人在面试时都被问过这个问题&#xff0c;然后一般回答&#xff1a;ArrayList在指定下标访问时快&#xff0c;LinkedList在插入/删除元素时快。 其实这是一种人云亦云的谬误。可能最初有人这么回答&#xff0c;然后不加验证地转来转…

猿如意开发工具|JetBrains GoLand

一、猿如意是什么&#xff1f; 是CSDN推出的桌面客户端&#xff0c;旨在为广大开发者提供效率工具、文档、代码等优质工具和内容&#xff0c;提升开发者的学习和工作效率&#xff0c;详情点击&#x1f449;【猿如意官网】。为了让更多开发者更好的认识、了解、使用猿如意中的每…

项目管理(如何进行项目质量管理)

需要进行的工作&#xff1a; 1、规划项目质量管理&#xff1a;识别项目及其可交付成果的质量要求和/或标准&#xff0c;并书面描述项目将如何证明 符合质量要求和/或标准的过程。 2、管理质量&#xff1a;管理质量是把组织的质量政策用于项目&#xff0c;并将质量管理计划转化…

蓝桥杯嵌入式cubeMX自动生成的gpio.c文件解析

文章目录前言一、如何生成gpio.c文件二、gpio.c内部实现总结前言 这篇文章将带大家了解一下cubeMX自动生成的gpio.c文件。 一、如何生成gpio.c文件 在LED这篇文章中我们配置了控制LED的GPIO引脚&#xff0c;选择了PD2和PC8 PC9这三个引脚&#xff0c;并且将他们都设置为了输…

数图互通高校房产管理系统——住房管理

1、住房管理 1.1 住房档案 住房模块的管理主要是针对学校的承租住宅和已售住宅的管理&#xff0c;用于登记已售住宅的产权人信息&#xff0c;记录承租住宅的租赁起止日期、月租金等基本信息。 支持住房的坐落信息、楼栋、房间信息的维护。坐落位置主要维护校区编号、校区名称…

说明白正反向代理,以及Nginx和Gunicorn

一&#xff1a;什么是Nginx Nginx的产生 没有听过Nginx&#xff1f;那么一定听过它的"同行"Apache吧&#xff01;Nginx同Apache一样都是一种WEB服务器。基于REST架构风格&#xff0c;以统一资源描述符(Uniform Resources Identifier)URI或者统一资源定位符(Uniform …

图像质量评价指标metrics:PSNR 、SSIM、LPIPS

一、PSNR&#xff08;峰值信噪比&#xff09; 1.定义 是基于对应像素点间的误差&#xff0c;即基于误差敏感的图像质量评价&#xff0c;由于并未考虑到人眼的视觉特性&#xff08;人眼对空间频率较低的对比差异敏感度较高&#xff0c;人眼对亮度对比差异的敏感度较色度高&…