JSP内置对象
JSP规范定义了9种内置对象分别为:
- out对象:负责管理对客户端的输出。
request对象:负责得到客户端的请求信息。
response对象:负责向客户端发出响应。
session对象:负责保存同一客户端一次会话过程中的一些信息。
application对象:表示整个应用环境的信息。
exception对象:表示页面上发生的异常,可以通过它获得页面异常信息。
page对象:表示的是当前JSP页面本身,就像Java类定义中的this一样。
pageContext对象:表示的是此JSP的上下文。
config对象:表示此JSP的ServletConfig。
其中用的最多的是out、request、response、session和application。
- out对象的常用方法:
- out.println():向客户端输出数据。
resquest对象的常用方法:
resquest.getCookies():读取客户端传过来的Cookie;
resquest.getParameter():获取客户端传给服务器的参数;
resquest.getParameterValues():以字符串的形式返回指点参数的所有值。
response对象的常用方法:
response.sendRedirect():重定向页面(本节结束时将分析该方法与JSP动作指令<jsp:forward page=””></jsp:forward>的区别);
response.addCookie():向客户端写入Cookie。(稍后会详细讲解Cookie的操作)。
session对象常用方法:
session.setAttribute(String name,Object obj):通过该方法将一个对象放入购物车。
session.getAttribute(String name):通过该方法从session中取出一个对象;
session.removeAttribute(String name):移除session中的某一个对象;
session.invalidate():移除session中的全部内容;
session.getId():获取session的id。
注意session的功能非常强大,例如可以利用session实现购物车,保存登录信息等等。
application对象的常用方法:
application.setAttribute():
application.getAttribute():
application.removeAttribute():
各方法的作用同session
注意1、
session和application的区别:
session是会话级别的,只有当前客户端能访问;application是应用程序级别的,所有访问该应用程序的客户端都能访问。
注意2、
response.sendRedirect()和<jsp:forward>都能将页面跳转到另一个页面,但两者有本质的区别。
response.sendRedirect()重定向到一个新的页面时:会刷新地址栏;且request对象不会与原来的页面共享;该方式不仅可以跳转到本地服务器资源,还可以跳转到其他服务器资源。
<jsp:forward>跳转到新的页面时:不会刷新地址栏;与原来的页面共享request对象;该方式只能在同一web应用程序中转发请求,属于服务器内部跳转。