九大内置对象
jsp中的九大内置对象是自带的,不须要new 也能使用的对象java
out:
print(),println( )方法tomcat
输出对象,向客户端输出内容服务器
request:
请求对象,存储“客户端向服务端发送的请求信息”
request对象的常见方法:cookie
- String getParameter(String name) :根据请求的字段名key (input标签的name属性值) ,返回字段值value (input标签的value属性值)
- String[] getParameterValues(String name):根据请求的字段名key ,返回多个字段值value (checkbox)
- void setCharacterEncoding("编码格式utf-8") :设置post方式的请求编码 (tomcat7之前默认iso-8859-1,tomcat8之后改成了utf-8)
- getRequestDispatcher("B.jsp").forward(request,response) :请求转发 的方式跳转页面 A - > B
- ServletContext getServerContext():获取项目的ServletContext对象
- Cookie getCookies():获取一个cookie对象
- void setAttribute(String name,Object obj):设置属性值(新增,修改)
- Object getAttribute(String name):根据属性名,查找属性值
response:
响应对象session
response对象的常见方法:app
- void addCookie( Cookie cookie ), 服务端向客户端增长cookie对象
- void sendRedirect(String location ) throws IOException :页面跳转的一种方式(重定向)
- void setContetType(String type):设置服务端响应的编码(设置服务端的contentType类型)
session:
会话对象,session存储在服务端jsp
实现机制:客户端第一次请求服务端时,服务端会产生一个session对象(用于保存该客户的信息),而且每一个session对象 都会有一个惟一的 sessionId( 用于区分其余session),且产生一个cookie,而且该cookie的name=JSESSIONID ,value=服务端sessionId的值;而后服务端会在响应客户端的同时将该cookie发送给客户端post
客户端第二次请求服务端时,服务端会先用客户端cookie种的JSESSIONID 去服务端的session中匹配sessionid,若是匹配成功(cookie jsessionid和sesion sessionid),说明此用户 不是第一次访问,无需登陆;性能
session对象的常见方法:this
- String getId() :获取sessionId
- boolean isNew() :判断是不是 新用户(第一次访问)
- void invalidate():使session失效 (退出登陆、注销)
- void setAttribute(String name,Object obj):设置属性值(新增,修改)
- Object getAttribute(String name):根据属性名,查找属性值
- void setMaxInactiveInterval(秒) :设置最大有效 非活动时间
- int getMaxInactiveInterval():获取最大有效 非活动时间
application:
全局对象
application对象的常见方法:
- String getContextPath() :虚拟路径
- String getRealPath(String name):绝对路径(虚拟路径 相对的绝对路径)
- void setAttribute(String name,Object obj):设置属性值(新增,修改)
- Object getAttribute(String name):根据属性名,查找属性值
pagecontext:
JSP页面容器
- void setAttribute(String name,Object obj):设置属性值(新增,修改)
- Object getAttribute(String name):根据属性名,查找属性值
config:
配置对象(服务器配置信息)
page:
当前JSP页面对象(至关于java中的this)
exception:
异常对象
四个做用域
|
四种范围对象 |
做用域 |
pageContext |
(page对象) |
请求数据当前页面有效 |
request |
请求对象 |
请求数据同一次请求有效,(重定向后无效) |
session |
会话对象 |
请求数据同一次会话有效 |
appliation |
全局对象 |
请求数据全局有效(整个项目有效) |
以上4个对象共有的方法:
-
Object getAttribute(String name):根据属性名,查找属性值
-
void setAttribute(String name,Object obj) :设置属性值(新增,修改)
-
setAttribute("a","b") ;//若是a对象以前不存在,则新建一个a对象 ;若是a以前已经存在,则将a的值改成b
-
void removeAttribute(String name):根据属性名,删除对象
注意:尽可能使用最小的范围。由于对象的范围越大,形成的性能损耗越大。