JavaWeb中的四大作用域对象
一、page对象
有效范围pageContext:只在一个页面中保存属性,跳转后无效
作用:代表jsp中
二、request对象
作用:提供对请求数据的访问,提供用于加入特定请求数据访问
有效范围:只在第一次请求中保存,服务器跳转有效,客户端跳转无效
主要用于处理用户的提交信息
方法 | 描述 |
---|---|
setAttribute( String name,Object obj ) | 设置属性以及属性值 |
getAttribute(String name) | 返回name的属性值,若不存在指定的属性,就返回null |
getParameter(String name) | 获取客户端用户传到服务端的参数值 |
removeAttribute(String name ) | 删除指定的属性 |
setCharacterEncoding(编码) | 指定getParameter接收的编码 |
1、获取请求参数
request.setCharacterEncoding("UTF-8"); //指定getparameter接收的编码为utf-8(在接收z)
request.getParameter("表单name"); //接收客户端传过来的值(账号/密码/其它用户信息)
三、session对象
作用:用于保存客户端与服务端之间的数据
有效范围:在一次会话中有效,无论何种跳转都有效。
方法 | 描述 |
---|---|
setAttribute( String name,Object obj ) | 设置属性以及属性值 |
getAttribute(String name) | 返回name的属性值,若不存在指定的属性,就返回null |
removeAttribute(String name ) | 删除指定的属性 |
HttpSession session=request.getSession(true); //新建session
session.setAttribute("name1","session值"); //为session设置值,通常在用户登陆成功后设置
String name2=(String)session.getAttribute("name1") //获取前面session设置的值,并且赋值给name2
if(name2=="session值"){ //判断session是否正确
//jsp主页面
}else{
//跳转网页
}
if(name2==null){ //判断是否获取到了session值,session值是否失效
//执行验证界面
} else{
//跳转到主页面,无需验证
}
四、application对象
有效范围:在整个服务器中有效
方法 | 描述 |
---|---|
setAttribute( String name,Object obj ) | 设置属性以及属性值 |
getAttribute(String name) | 返回name的属性值,若不存在指定的属性,就返回null |
removeAttribute(String name ) | 删除指定的属性 |
链接跳转
response对象
作用:页面重定向
方法 | 描述 |
---|---|
SendRedirect(“跳转链接” | 跳转本地链接和超链接 |
setHeader(“refresh”;“秒数”) | 自动刷新 |
setHeader(“refresh”;“秒数;跳转链接”) | 定时跳转链接 |
客户端跳转
response.SendRedirect("跳转链接"); //跳转本地链接和超链接
response.setHeader("refresh";"秒数"); //自动定时刷新本页面
response.setHeader("refresh";"秒数;跳转链接"); //定时跳转链接
服务端跳转
<jsp:forword page="跳转链接"></jsp:forword> 只能跳转本地链接
使用<jsp:forward>页面跳转后的地址栏的地址不会改变