JSP内置对象简单说明
内置对象,跟字面理解一样,就是嵌套在jsp页面中的不需要我们去定义的实例化的对象。在这些对象有的是
- 用于存储数据的,如request、response、session、application;
- 提供输出打印的,如 out;
- 其他功能的,如page 表示jsp页面本身,可以定义jsp页面属性,与类中this关键字相当,pageContext可以获取jsp上下文数据,config,表示jsp的ServletConfig,可以通过config获取ServletConfig的内容。
各内置对象的用法
-
out(负责管理客户端的输出)
用于向客户端输入各种类型的数据 输出数据有两种方法 out.print() out.println() 可以对应用服务器的输出缓冲区进行管理(一般很少这样手动设置,都是使用服务器默认的大小设置) 下面的方法与缓冲区有关 void close() 关闭输出流 void clear() 清除缓冲区数据,且不把数据写到客户端中去 void claerBuffer() 清除缓冲区数据,但将数据写到客户端中去 void flush() 输出缓冲区的数据,但是会将缓冲区先前的数据输出至客户端,然后清除缓冲区的数据 int getRemaining() 获取缓冲区未被占用的空间大小 int getBufferSize() 得到缓冲区的大小
-
request(得到客户端的信息)
主要获取客户端的参数和流(对应 javax.servlet.http.HttpServletRequest)。但是还可以 获取客户端的基本信息。 String getMethod() 获取提交方式 String getRequestURI() 获取请求的URL地址 String getProtocal() 获取协议名称 String getServletPath() 获取客户端的请求服务器文件所在的路径 String getQueryString() 获取url上参数部分,post提交方式不可用 String getServerName() 获得服务器名称 IP地址或域名 String getServerPort() 获得服务器端口号 String getServerAddr() 获得客户端的IP地址
-
response(向客户端发出响应)
服务器相应对象,对应javax.servlet.http.HttpServletReponse.经常使用于重定向或服务器内跳转。 response.sendRedirect("index.jsp") 路径可以是相对路径也可以是绝对路径,但是绝对路径需要将 虚拟路径写全。如:/Root/index.jsp。 <jsp:forwrad page="index.jsp"></jsp:forwrad> forwrad跳转浏览器路径不会放生变化,并共享Request 域的数据,重定向不共享的;forwrad跳转路径必须是同一站点的,可以理解为服务器内部跳转。 forwrad跳转效率更高 response.sendError(400) 也是进行跳转的,旨在向客户端发送HTTP状态码的错误信息。 可以设置HTTP的响应头 response.setHeader("Pragam","No-cache") response.setHeader("Cache-Control","no-cathe") response.setDateHeader("Expires",0) 都是表示客户端缓存中不保存页面的拷贝。 response.setHeader("Refresh","5") 浏览器每个5秒中刷新一次
-
session (保存同意客户端的会话过程中的一些信息)
Session 的实现是基于 Cookie 的,默认配置下,用户 Session 的内容加密后直接存储在 Cookie 中 的一个字段中,用户每次请求我们网站的时候都会带上这个 Cookie,我们在服务端解密后使用。 session.setAttribute("key","value") 可以设置session属性,以键值对保存。 session.getAttribute("key")获取session中键名为key的属性的值。 session.removeAttribute("key") 移除session中键名为key的属性。 session.invalidate() 将移除session中所有的内容。
-
application(整个应用的环境信息 相当于全局变量)
三个常用的方法,存储在application域中数据可以被所有用户共享. void setAttribute(String name,Object obj); Object getAttribute(String name); void removeAttribute(String name);
-
exception(可以通过它获取异常信息)
-
page (jsp自身页面,相当类中的this关键字)
-
pageContext(jsp页面的上下文)
-
config(当前jsp页面的上下文)
-
cookie (cookie 操作)