【JavaWeb】案例 1:记录网站的登录成功人数_javaweb


👀专栏介绍

【JavaWeb】 目前主要更新JavaWeb,一起学习一起进步。

👀本期介绍

本期主要介绍案例 1:记录网站的登录成功人数

文章目录

​1.1、需求说明​

​1.2、流程分析​

​1.3、案例代码实现​

​1.4、案例问题说明​

​1.5、知识讲解-ServletContext 快速入门​

​1.6、案例代码实现​

​1.3、知识讲解-response​

​1.3.1、response 对象操作响应行(了解)​

​1.3.2、response 对象操作响应头​

​1.3.3、response 对象操作响应体​

1.1、需求说明

【JavaWeb】案例 1:记录网站的登录成功人数_javaweb_02

【JavaWeb】案例 1:记录网站的登录成功人数_java_03

 

登录成功后,在页面中显示您是第 x 位登录成功的用户.


1.2、流程分析

【JavaWeb】案例 1:记录网站的登录成功人数_servlet_04


1.3、案例代码实现


该案例将模拟直接登录成功,需要的同学请自己参照昨天代码补全登录


login.jsp



【JavaWeb】案例 1:记录网站的登录成功人数_servlet_05


UserServlet

【JavaWeb】案例 1:记录网站的登录成功人数_java_06

 msg.jsp

【JavaWeb】案例 1:记录网站的登录成功人数_java_07


1.4、案例问题说明

【JavaWeb】案例 1:记录网站的登录成功人数_javaweb_08


因为只有一次请求响应,只有一个 request 对象。


UserServlet 为 request 设置数据, msg.jsp 从 request 获取数据



【JavaWeb】案例 1:记录网站的登录成功人数_javaweb_09


这是由于 request 作用范围太小了,数据的传递 只在某次请求和响应之间有效。


1.5、知识讲解-ServletContext 快速入门


服务器启动的时候 , 为每个 WEB 应用创建一个单独的 ServletContext 对象 , 将 web.xml 中的配置信


息进行封装。


相当于某个项目的身份证


作用:


获取项目配置信息;


项目内进行信息共享;


Servlet 中的获取方式:

getServletContext();


【JavaWeb】案例 1:记录网站的登录成功人数_javaweb_10


【JavaWeb】案例 1:记录网站的登录成功人数_javaweb_11

 servlet 的初始化参数, 通过 ServletConfig 对象获得

【JavaWeb】案例 1:记录网站的登录成功人数_web_12

整个项目的初始化参数, 通过 ServletContext 对象获得(getInitParameter(“参数名”))

【JavaWeb】案例 1:记录网站的登录成功人数_servlet_13

 

1.6、案例代码实现


UserServlet



【JavaWeb】案例 1:记录网站的登录成功人数_java_14


1.3、知识讲解-response


在 Servlet API 中,定义了一个 HttpServletResponse 接口,它继承自 ServletResponse 接口,专


门用来封


装 HTTP 响应消息。


Response 对象封装了响应行、头、体三部分信息,我们可以通过调用 response 对象的方法,来


轻松控


制服务器向浏览器写响应信息


1.3.1、response 对象操作响应行(了解)


setStatus(int status);


该方法用于设置 HTTP 响应消息的状态码,并生成响应状态行。由于响应状态行中的状态描述信


息直接与状态码相关,而 HTTP 版本由服务器确定,因此,只要通过 setStatus(int status) 方法设


置了状态码,即


可实现状态行的发送。


若未设置状态码,且服务器运行正常, Web 服务器会默认产生一个状态码为 200 的状态行。


sendError(int sc,String errorMsg);


该方法用于发送表示错误信息的状态码。


建议该方法仅发送 4xx 5xx 状态码。


1.3.2、response 对象操作响应头


当 Servlet 向客户端发送响应消息时,由于 HTTP 协议的响应头字段有很多种,为此,在


HttpServletResponse 接口中,定义了一系列设置 HTTP 响应头字段的方法,如表 4-1 所示。

表1-1 设置响应消息头字段的方法

【JavaWeb】案例 1:记录网站的登录成功人数_javaweb_15


【JavaWeb】案例 1:记录网站的登录成功人数_servlet_16

1.3.3、response 对象操作响应体


响应体信息无限,所以一般用来传递大量数据。


getOutputStream()


向响应体输出二进制字节流信息。【文件下载】


getWriter()


向响应体输出字符流信息。【字符串及前端代码输出】


若输出前端代码,则会被浏览器解析执行


两个方法我们都使用其 write() 方法进行数据输出。