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或两者结合,可以有效地管理用户状态和提高用户体验。
 

  • 13
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值