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