一、pageContext表示页容器
pageContext对象的作用是取得任何范围的参数,通过pageContext对象可以获取JSP页面的out、request、response、session、application等对象,或者可以重新定向客户的请求等,较少使用
二、request服务器端取得客户端的信息:头信息 、Cookie、请求参数等
1. 获取头信息
String getHeader(String name):返回指定的Http头标
Enumeration getHeaderNames():返回请求给出的所有http头标名称的枚举值
2.Cookie
Cookie[] getCookies():返回与请求相关cookies的一个数组
3.请求参数
请求参数是在请求url后面以?开始的“参数名=参数值”,比如
浏览器:http://localhost:8080/app/delete.jsp?id=1
页面内:<ahref=“login.jsp?id=1&pwd=1234”>登录</a>
String getParameter(String name):获取参数名对应的参数,常用来获取表单数据
说明:
参数值获取后均为String类型
如果指定参数名不存在,返回值为null
如果参数名存在,但是没有指定值,返回空字符串“”
String[] getParameterValues(String name):常用来获取复选框和多选列表的多个值
4.属性
进行请求转发操作(request.getRequestDispatcher(路径))时,把一些数据带到转发后的页面处理,
可以使用request对象的属性
设置属性:
request.setAttribute("key", value):参数key为String类型的属性名,value为Object类型的属性值
获取属性:
request.getAttribute("key"):返回的是Object类型的属性值,常需要显性转化
Enumeration<String> names = request.getAttributeNames():返回request的所有属性的名称集的方法
三、response服务器端回应客户端信息:Cookie、重定向
1.重定向
response.sendRedirect(String location):指定重定向位置URL并向客户发送重定向响应,可以使用相对 URL,此方法会中止当前的请求和响应,也就是或重定向后的页面不能得到request的属性
2.添加一个Cookie
addCookie(Cookie cookie):添加一个Cookie对象
3. 设置头标
setHeader(String name, String value):设置指定名字和取值的一个头标
四、session表示每一个用户,用于登录验证上
session用于保存客户信息而分配给客户的对象,session的生命周期从客户端进行第一个request开始,到用户端结束对应用程序的访问终止,如关闭浏览器。session中的ID标识是唯一的,用了标识每个用户,当刷新浏览器时,该标识的值不变,可通过session.getId()获取ID
JSP通过request对象控制客户浏览器的请求;通过response对客户浏览器进行响应;而session对象就维持这个反反复复的过程中会话期间需要传递的数据信息
1. 设置session的属性
session.setAttribute("name", value):参数name为属性名,value为属性的值
2. 获取session的属性(session的属性可以看做全局变量,在同一个Web哪个页面都能够获取)
session.getAttribute("name"):返回值为Object型。
Enumeration<String> names = session.getAttributeNames():返回绑定在该session中的所有对象的名称
3. 移除属性
session.removeAttribute("name"):移除指定名称的属性
session.invalidate():删除该session中的所有属性
五、application表示整个服务器
application是多客户端共享对象,每个WEB应用程序开始运行时,会创建唯一的application对象,工所有访问该应用程序的客户端共享。当应用程序结束时,application对象被销毁
六、config取得初始化参数,初始化参数在web.xml文件中配置
1. 初始化参数的配置
<context-param>(位于<web-app></web_app>之间)
<param-name>email2</param-name>
<param-value>hacker@163.com</param-value>
</context-param>
也可以配置在这里
<init-param>(位于<servlet></servlet>之间)
<param-name>email</param-name>
<param-value>hacker@163.com</param-value>
</init-param>
七、exception表示的是错误页的处理操作
只有page指令的isErrorPage属性值为true时(<%@page isErrorPage="true" %>),JSP中的exception对象才有效。其他页面通过<%@page errorPage="JSP的路径和名字" %>,指定了错误处理页面
八、page如同this一样,代表整个jsp页面自身
page对象的声明类型是java.lang.Object。代表JSP本身,即对应的servlet类的对象,较少使用。
<%@page ........%>,此处的page是指令,不是page对象
九、out输出
out对象主要内容是向web浏览器内输出各种数据类型的内容,并且管理应用服务器上的输出缓冲器,缓冲器默认值为8KB