JSP内置对象application
application对象类似于系统的"全局变量",用于同一个应用内的所有用户之间的数据共享。
application对象的常用方法
方法 | 说明 |
---|---|
void setAttribute(String key,Object value) | 以key/value的形式将对象存储到application中 |
Object getAttribute(String key) | 通过key获取application中存储的对象 |
String getRealPath(String Path) | 返回相对路径的真实路径 |
JSP的常用内置对象
名称 | 说明 |
---|---|
out对象 | 用于向客户端输出数据 |
request对象 | 主要用于处理客户端请求的数据信息 |
response对象 | 用于响应客户端请求并向客户端输出信息 |
session对象 | 用于记录会话状态的相关信息 |
application对象 | 类似于系统的全局变量,用于实现数据共享 |
对象的作用域
- page作用域
page作用域指单一JSP页面的范围,page作用域内的对象只能在创建该对象的页面中访问。page作用域在客户端请求时创建,在服务器发送响应或请求转发到其他页面时失效。 - request作用域
request作用域与客户端的请求绑定在一起,作用范围比page大。request作用域在页面转发或包含中同样有效。request作用域对于每次客户端的请求都是不同的,对于任何一个新的请求,都会重新创建与本次请求相对应的request作用域。请求结束时,request作用域失效。 - session作用域
在会话期有效内,只要将数据绑定到session作用域中,该数据可以被本次会话中的其他页面所访问。当会话关闭时,session作用域失效。 - application作用域
application作用域针对于整个web应用,被该应用下所有用户共享。其作用域最大。当web应用停止时application作用域失效。
作用域的范围:application作用域>session作用域>request作用域>page作用域
Cookie
什么是cookie
cookie是最常用的跟踪用户会话的方式。它是由服务器端生成并发给客户端浏览器的,浏览器会将其保存为某个文本文件。
cookie作用表现在以下方面:
- 对特定的对象追踪
- 统计网页浏览次数
- 在cookie有效期内,记录用户登录信息
- 实现各种个性化服务
如何使用cookie
- 创建cookie
Cookie newCookie = new Cookie(String name,String value);
name:代表cookie的名称。
value:表示该名称所对应的值。
- 写入cookie
response.addCookie(newCookie);
cookie对象的常用方法
方法 | 描述 |
---|---|
void setMaxAge(int expiry) | 设置cookie的有效期,以秒为单位 |
void setValue(String value) | 在cookie创建后,为cookie赋予新的值 |
String getName() | 获取cookie的名称 |
String getValue() | 获取cookie的值 |
int getMaxAge() | 获取cookie的有效时间,以秒为单位 |
- 读取cookie
读取时需要调用request对象的getCookies()方法,该方法返回cookie对象数组,因此需要遍历来进行访问。
Cookie[] cookies = request.getCookies();
String name = "";
String value = "";
if(cookies != null){
for(Cookie cookie : cookies){
if (cookie.getName().equals("username")){
name = cookie.getValue();
}else if (cookie.getName().equals("password")){
value = cookie.getValue();
}
}
}
- cookie的有效期
cookie在客户端存在的时间并不是无限期的,也有其生命周期。我们可以用setMaxAge(int expiry)方法来指定cookie的有效期,参数expiry表示cookie的有效时间,以秒为单位。当cookie到达有效期,cookie会被客户端清除。 - cookie与session作用域对比
- session作用域是在服务器端保存用户信息的技术,cookie是在客户端保存用户信息。
- session作用域中保存的值时Object类型,cookie保存的值时String类型。
- session作用域会随着会话的结束而将其存储的数据销毁,cookie可以长期存储在客户端。
- cookie通常保存不重要的信息,重要的信息使用session保存。
JavaBean
介绍
JavaBean是Java中开发的可以跨平台的重用组件。在JSP程序中常用与封装业务逻辑、数据库操作等。
JavaBean实际上是一个Java类,这个类可以重用。
JavaBean的功能上可以分为两类:
- 封装数据
- 封装业务
使用
NewsUser user = new NewsUser();
user.setUname("admin");
user.getUpwd();