WEB后端复习——javabean与会话cookie、session

JavaBean 是一种符合特定命名约定的 Java 类,它通常用于封装数据。

JavaBean 的主要特点是:
1. 无参构造器:JavaBean 必须有一个公共的(public)无参构造方法,以便于反射时能够创建对象实例。
2. 属性:JavaBean 的属性通常是通过私有(private)字段和公共(public)的 getter 和 setter 方法来定义的。属性可以是简单的(如 int、float、String)或复杂的(如其他 JavaBean 对象)。

JavaBean 的命名约定通常包括:
- 属性字段以小写字母开头,遵循驼峰命名法。
- getter 方法以 `get` 开头,后跟属性名,属性名的首字母大写。
- setter 方法以 `set` 开头,后跟属性名,属性名的首字母大写。
- 如果属性是布尔类型,getter 方法可能会以 `is` 开头。
例如,一个简单的 JavaBean 类可能如下所示:

public class Person  {private String name;private int age;public Person() {// 无参构造器}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}
}

在Web开发中,Cookie 和 Session是两种常用的技术,用于跟踪用户的状态和信息。

Cookie是存储在用户计算机上的一小段文本信息,通常用于记录用户的一些信息,以便在用户下次访问同一网站时,网站能够识别用户并记住用户的偏好设置或其他信息。
- **生命周期**:Cookie可以设置为临时的(会话Cookie),当用户关闭浏览器时就会消失;也可以设置为长期的(持久Cookie),直到设定的过期时间才会被删除。
- **存储限制**:每个域的Cookie数量和大小都有限制,不同浏览器有不同的限制。
- **安全性**:Cookie可以设置为安全的,只通过HTTPS传输,以防止中间人攻击。

Cookie不能直接存储中文
解决方案:
对中文进行URL编码,采用URLEncoder.encode(),将编码后的值存入Cookie中



 Session
Session 是存储在服务器上的一个对象,用于存储特定用户会话所需的属性及配置信息。当用户在应用程序的Web页面之间跳转时,存储在Session对象中的变量不会清除,而是在整个用户会话中一直存在下去。
- **生命周期**:Session的生命周期通常是从用户第一次访问网站开始,直到用户长时间未进行操作或明确退出时结束。
- **存储限制**:Session的存储依赖于服务器,因此理论上存储容量比Cookie大得多,但实际上服务器也会对Session存储大小进行限制。
- **安全性**:Session存储在服务器上,相对更安全,不容易被客户端篡改。


Cookie 与 Session 的关系
- **关联性**:Session通常依赖于Cookie来工作。服务器在创建Session时,会生成一个唯一的Session ID,并将其存储在用户的Cookie中。每次用户请求时,浏览器会将这个Session ID发送给服务器,服务器根据这个ID来识别用户。
- **无Cookie的Session**:如果用户禁用了Cookie,服务器可以通过其他方式(如URL重写)来传递Session ID。
### 使用场景
- **Cookie**:适合存储一些不敏感的信息,如用户的偏好设置、记住用户名等。
- **Session**:适合存储敏感和重要的信息,如用户的登录状态、购物车内容等。
在Web开发中,根据需要选择使用Cookie、Session或两者结合,可以有效地管理用户状态和提高用户体验。
 

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

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

相关文章

Android的视图显示和管理机制:layout view window WindowManager Canvas Surface

在Android系统中,Layout view window WindowManager Canvas Surface SurfaceFlinger这些组件协同工作,以实现图形的绘制和显示。需要搞明白这些组件是什么时候创建的以及他们之间的结构关系。 从上到下的层级关系:用户在View上进行操作&…

嵌入式交叉编译:ffmpeg及相关库

目前只编译了部分。其他库需要时再说。 fdk-aac 嵌入式交叉编译:linux fdk-aac-CSDN博客 libvpx 这个最麻烦,还是编译通过啦。 嵌入式交叉编译:libvpx(全网首发)-CSDN博客 x265 嵌入式交叉编译:x265…

考研踩坑经验分享

文章目录 写在前面自身情况简介自身学习路线优点坑点 学习路线建议1、2和3月份3、4和5月份6、7和8月份9、10月份11、12月份 一些私货建议结尾 写在前面 考研是一件非常有盼头的事,但绝对不是一件容易的事。 如果你不能做好来年三月份出成绩时,坦然接受…

Ubuntu 下使用 Scons 交叉编译嘉楠堪智 CanMV K230 大小核 Coremark 程序

在 Ubuntu 下使用 SCons 进行交叉编译嘉楠堪智 CanMV K230 大小核(不同的玄铁 C908 核心)的 C 程序,以 Coremark 程序为例,顺便测试一下大小核和编译器的性能。 2024年3月14日,嘉楠科技宣布推出了全球首款支持 RISC-V…

# 从浅入深 学习 SpringCloud 微服务架构(十七)--Spring Cloud config(1)

从浅入深 学习 SpringCloud 微服务架构(十七)–Spring Cloud config(1) 一、配置中心的 概述 1、配置中心概述 对于传统的单体应用而言,常使用配置文件来管理所有配置,比如 SpringBoot 的 application.y…

消费金融平台公司如何做大做强自营产品

本文来自于2019年的某次内部分享沟通会,部分敏感内容已做删减。

油泼辣子在食品类别可以申请成商标不!

前阵韩国人在美国申请“chili crunch”油泼辣子作为商标,还准备禁止华人餐馆使用投诉侵权并索赔,普推知产老杨在USPTO上面检索发现,这个人申请的主要是30类方便食品的调味品,商标分类是全球通用的。 商标名称不能申请本类所属的通…

C/C++常用的内置的宏定义

常用的C/C 内置宏 这是我在VS2015下运行的 cout << "file " << __FILE__ << endl;cout << "line " << __LINE__ << endl;cout << "date " << __DATE__ << endl;cout << "…

力扣HOT100 - 55. 跳跃游戏

解题思路&#xff1a; class Solution {public boolean canJump(int[] nums) {int n nums.length;int maxReach 0;// 正常来说每次至少跳一格&#xff0c;所以最多循环n次for (int i 0; i < n; i) {if (i > maxReach) return false;// 这种情况代表遇到了0&#xff0…

机器学习周报第三十八周 iTransformer

文章目录 week38 iTransformer摘要Abstract一、文献阅读1. 题目2. abstract3. 网络架构**转置Embedding&#xff1a;****LayerNorm&#xff08;层归一化&#xff09;****Feed-forward network&#xff08;前馈网络&#xff09;****Multivariate-Attention&#xff08;多变量注意…

大数据比赛-环境搭建(一)

1、安装VMware Workstation 链接&#xff1a;https://pan.baidu.com/s/1IvSFzpnQFl3svWyCGRtEmg 提取码&#xff1a;ukpo 内有安装包及破解方式&#xff0c;安装教程。 2、下载Ubuntu系统 阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区 (aliyun.com) 点击下载&#xff…

深度解析GoLand map原理及实现,手撕源码!(二)——写入、删除、遍历

前言 本文内容承接前文&#xff1a;深度解析GoLand map原理及实现&#xff0c;手撕源码&#xff01;&#xff08;一&#xff09;——基本介绍&#xff0c;初始化&#xff0c;读 建议先阅读前文哦~ 4.4 写入流程 —— mapassign 写流程主要分为以下步骤&#xff1a; 对key取h…

四川汇昌联信:拼多多运营属于什么行业?

拼多多运营属于什么行业?这个问题看似简单&#xff0c;实则涉及到了电商行业的深层次理解。拼多多运营&#xff0c;顾名思义&#xff0c;就是在拼多多这个电商平台上进行商品销售、推广、客户服务等一系列活动。那么&#xff0c;这个行业具体包含哪些内容呢?下面就从四个不同…

Verilog复习(四)| 组合逻辑

一位全加器结构描述&#xff1a; 数据流描述&#xff1a; 行为描述&#xff1a; 只要有事件发生&#xff08;列表中任何 信号有变化&#xff09;&#xff0c;就执行begin…end 的语句 。 always的事件控制方式 边沿触发 always (posedge clk) // clk从低电平->高&#x…

XML元素

XML 元素是XML文档中的基本组成单位&#xff0c;它由开始标签、结束标签和内容组成&#xff0c;格式如下&#xff1a; <element>content</element>常见的XML元素包括&#xff1a; 根元素&#xff08;Root Element&#xff09;&#xff1a;XML文档中的最外层元素&…

Java学习之异常抛出

异常抛出 1. 异常简介 import java.util.ArrayList;public class DemoException1 {public static void main(String[] args) {/*TODO异常&#xff1a;需求&#xff1a;要买菜做饭1.先制定计划做哪些菜 但是计划里面有问题 比如需要做红烧肉&#xff0c;但是菜单里面写的是排骨…

QT自适应界面 处理高DPI 缩放比界面乱问题

1.pro文件添加 必须添加要不找不到 QT版本需要 5。4 以上才支持 QT widgets 2.main界面提前处理 // 1. 全局缩放使能QApplication::setAttribute(Qt::AA_EnableHighDpiScaling, true);// 2. 适配非整数倍缩放QGuiApplication::setHighDpiScaleFactorRoundingPolicy(Qt::High…

机器学习入门:sklearn基础教程

Scikit-learn&#xff08;简称sklearn&#xff09;是Python中最受欢迎的机器学习库之一&#xff0c;它提供了丰富的机器学习算法和工具&#xff0c;适用于各种任务和场景。本文将为您介绍sklearn的基础知识和常用功能&#xff0c;带您踏入机器学习的世界。 1. 安装与导入 首先…

OpenCV图像转换处理

1.概述 在深度学习出现之前&#xff0c;图像处理主要有仿射变换与非仿射变换。 2.理论对比 2.1 仿射变换 2.2 非仿射变换 2.3 投射变换 3.代码实现 #include <iostream> #include <opencv2/opencv.hpp>int main(int argc, char** argv) {if(argc ! 2) {std::c…

打印图形(C语言)

一、N-S流程图&#xff1b; 二、运行结果&#xff1b; 三、源代码&#xff1b; # define _CRT_SECURE_NO_WARNINGS # include <stdio.h>int main() {//初始化变量值&#xff1b;int i, j;//循环打印&#xff1b;for (i 0; i < 5; i){//列&#xff1b;for (j 0; j &…