Servlet API 表白墙
创始人
2024-03-03 05:34: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 方法的名称,例如,GET、POST 或 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 大功告成

 

相关内容

热门资讯

埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...