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

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

1.1、需求说明


image.png

image.png

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

1.2、流程分析


image.png

1.3、案例代码实现


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

login.jsp

image.png

UserServlet

image.png

 msg.jsp

image.png

1.4、案例问题说明


image.png

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

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

image.png

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

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


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

相当于某个项目的身份证

作用:

获取项目配置信息;

项目内进行信息共享;

Servlet 中的获取方式:

image.png

image.png

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

image.png

1.6、案例代码实现


UserServlet

image.png

1.3、知识讲解-response


在 Servlet API 中,定义了一个 HttpServletResponse 接口,它继承自 ServletResponse 接口,专门用来封装 HTTP 响应消息。

Response 对象封装了响应行、头、体三部分信息,我们可以通过调用 response 对象的方法,来轻松控制服务器向浏览器写响应信息

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


setStatus(int status);

该方法用于设置 HTTP 响应消息的状态码,并生成响应状态行。由于响应状态行中的状态描述信息直接与状态码相关,而 HTTP 版本由服务器确定,因此,只要通过setStatus(int status) 方法设置了状态码,即可实现状态行的发送。

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

sendError(int sc,String errorMsg);

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

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

1.3.2response 对象操作响应头


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

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

image.png

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

image.png

1.3.3response 对象操作响应体


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

getOutputStream()

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

getWriter()

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

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

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

相关文章
|
21天前
|
jenkins Java 测试技术
如何使用 Jenkins 自动发布 Java 代码,通过一个电商公司后端服务的实际案例详细说明
本文介绍了如何使用 Jenkins 自动发布 Java 代码,通过一个电商公司后端服务的实际案例,详细说明了从 Jenkins 安装配置到自动构建、测试和部署的全流程。文中还提供了一个 Jenkinsfile 示例,并分享了实践经验,强调了版本控制、自动化测试等关键点的重要性。
55 3
|
21天前
|
小程序 前端开发 算法
|
22天前
|
存储 Java 关系型数据库
在Java开发中,数据库连接是应用与数据交互的关键环节。本文通过案例分析,深入探讨Java连接池的原理与最佳实践
在Java开发中,数据库连接是应用与数据交互的关键环节。本文通过案例分析,深入探讨Java连接池的原理与最佳实践,包括连接创建、分配、复用和释放等操作,并通过电商应用实例展示了如何选择合适的连接池库(如HikariCP)和配置参数,实现高效、稳定的数据库连接管理。
43 2
|
24天前
|
Java 关系型数据库 数据库
面向对象设计原则在Java中的实现与案例分析
【10月更文挑战第25天】本文通过Java语言的具体实现和案例分析,详细介绍了面向对象设计的五大核心原则:单一职责原则、开闭原则、里氏替换原则、接口隔离原则和依赖倒置原则。这些原则帮助开发者构建更加灵活、可维护和可扩展的系统,不仅适用于Java,也适用于其他面向对象编程语言。
14 2
|
29天前
|
安全 Java
Java多线程通信新解:本文通过生产者-消费者模型案例,深入解析wait()、notify()、notifyAll()方法的实用技巧
【10月更文挑战第20天】Java多线程通信新解:本文通过生产者-消费者模型案例,深入解析wait()、notify()、notifyAll()方法的实用技巧,包括避免在循环外调用wait()、优先使用notifyAll()、确保线程安全及处理InterruptedException等,帮助读者更好地掌握这些方法的应用。
17 1
|
1月前
|
Java 数据库
案例一:去掉数据库某列中的所有英文,利用java正则表达式去做,核心:去掉字符串中的英文
这篇文章介绍了如何使用Java正则表达式从数据库某列中去除所有英文字符。
50 15
|
1月前
|
jenkins Java 测试技术
如何使用 Jenkins 自动发布 Java 代码,通过一个电商公司后端服务的实际案例详细说明
【10月更文挑战第8天】本文介绍了如何使用 Jenkins 自动发布 Java 代码,通过一个电商公司后端服务的实际案例,详细说明了从 Jenkins 安装配置到自动构建、测试和部署的全流程。文中还提供了一个 Jenkinsfile 示例,并分享了实践经验,强调了版本控制、自动化测试等关键点的重要性。
37 5
|
1月前
|
数据采集 XML 前端开发
Jsoup在Java中:解析京东网站数据
Jsoup在Java中:解析京东网站数据
|
1月前
|
前端开发 Java 应用服务中间件
Javaweb学习
【10月更文挑战第1天】Javaweb学习
33 2
WK
|
22天前
|
安全 Java 编译器
C++和Java哪个更适合开发web网站
在Web开发领域,C++和Java各具优势。C++以其高性能、低级控制和跨平台性著称,适用于需要高吞吐量和低延迟的场景,如实时交易系统和在线游戏服务器。Java则凭借其跨平台性、丰富的生态系统和强大的安全性,广泛应用于企业级Web开发,如企业管理系统和电子商务平台。选择时需根据项目需求和技术储备综合考虑。
WK
36 0
下一篇
无影云桌面