您的位置:首页 > Web前端 > JavaScript

JSP学习笔记(二)之JSP的内置对象

2018-03-30 22:58 645 查看

01 介绍

jsp内置对象是web容器创建的一组对象,不使用new关键字就可以使用内置对象



语法

<%
int value[]={1,2,3,4,5};
for(int i : value){
out.println(i);//out即内置对象,可以直接使用
}
%>


常用的五大内置对象:out,request,response,session,application

不太常用的内置对象:page,pageContext,exception,config

02 常用内置对象的介绍

2.1 out对象

jspWriter类的实例,是向客户端输出内容常用的对象

常用的方法:

void println()向客户端打印字符串

void clear()清除缓存区的内容,在flush方法之后调用会异常

void clearBuffer()清除缓存区的内容,在flush方法之后调用不会异常

void flush()将缓冲区内容输出到客户端

int getBufferSize()返回缓冲区以字节数的大小

int getRemaining()返回缓冲区还剩余多少可用

boolean isAutoFlush()返回缓冲区满时,时自动清空还是抛出异常

void close()关闭输出流<
4000
/li>

2.2 request对象

客户端的请求信息封装在request对象中,通过它才能了解客户的需求,然后做出响应,

request对象具有请求域,在完成客户端的请求之前,该对象一直有效。

常用方法:

String getParameter(String name)返回name指定参数的参数值

String getParameterValues(String name)返回包含参数name的所有值的数组,在页面中常用checkbox

void setAtrribute(String name,Object object)存储此请求中的属性

object getAttribute(String name)返回指定属性的属性值

request方法在获取页面的信息时,出现乱码要加语句:

request.setCharacterEncoding("utf-8");


2.3 response对象

response对象包含了响应客户端请求的有关信息,但在jsp中很少直接用到,

response对象具有页面作用域,即访问一个页面时,该页面的response对象只能对这次访问有效,其他页面的response对象对当前页面无效

常用方法:

String getCharacterEncoding()返回响应应用的时何种字符编码

void setContentType(String type)设置响应的mime类型

PrintWriter getWriter()返回可以向客户端输出字符的一个对象(即向客户端输出)

sendRedirect(java.lang.String location)重新定向客户端的请求

注意比较priterwriter与内置out对象的区别:当同时用priterwriter对象和out对象,无论二者的先后,最终显示都是先输出out对象的内容,除非先调用out对象的flush方法,强制输出缓存区的内容



2.4 session对象



表示客户端与服务器的一次会话

具体到web中的session指的就是用户在浏览一个网站时,从进入网站到浏览器关闭所经历的这段时间

session是保存在服务器的内存中,同时一个用户对应一个session,客户与session是一一对应



session对象是jsp的内置对象,在用户打开第一个jsp页面时自动创建,完成会话期管理

服务器通过session对象来确定在不同页面切换的是否是同一个用户

常用方法:

long getCreationTime() 返回session创建的时间(毫秒)

public String getId() 返回session创建时jsp引擎为他设定的唯一id号

Public Object setAttribute(String name,Object value) 使用指定名称将对象绑定到此会话

Public Object getAttribute(String name) 返回与此会话中指定名称绑定在一起的对象,没有返回null

String[] getValueNames() 返回一个包含session所有可用属性的数组

int getMaxInactiveInterval() 返回两次请求间隔多长时间此session被取消

void setMaxInactiveInterval()通过此方法设定session最长生存周期,单位是秒

如果想从毫秒转换成时分秒,使用Java自带类就可以,先在page的include属性中导入java.text.*包,之后

SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
Date date = new Date(sesson.getCreateTime());
sdf.format(date);


2.5 application对象

application对象实现了用户间的数据共享,可存放全局变量

application开始于服务器的启动,终止于服务器的关闭

在用户的前后连接或不同用户之间的连接中,可以对application对象的同一属性进行操作

在任何地方对application对象属性的操作,都将影响到其他用户对此的访问

常用方法:

public void setAttribution(String name,Object object)使用指定名称将对象绑定到此会话

public Object getAttribution(String name)返回与此会话指定名称绑定在一起的对象,没有则返回null

Enumeration getAtrributeNames()返回所有可用属性名的枚举

/**
*利用Java中自带的枚举类来遍历属性,这里要注意,
*application自带很多属性,所有枚举打印之后不仅仅有用户设定的
*/
Enumeration values =application.getAttributeNames();
while(values.hasMoreElements()){
out.println(values.nextElement()+"  ");
}


03 不常用内置对象

3.1 pageContext对象

pageContext对象提供了对jsp页面内所有对象及命名空间的访问

pageContext对象可以访问到本页所在的session,也可以获取本页面所在的application的某一属性值

pageContext对象相当于页面中所有功能的集大成者

常用方法

void setAttribute(String name,Object object)设置属性及属性值

int getAttributeScope(String name)返回某属性的作用范围

Object getAtrribute(String name,int Scope)在指定范围内取属性的值

void forward(String relativeURLpath)跳转到另一个页面

void include(String relativeURLpath)在当前位置包含另一个文件,在当前位置会显示包含页面的全部内容

3.1 Config对象

config对象是一个在servlet初始化时,jsp引擎向他传递信息用的,此信息包括servlet初始化时所要用到的参数(键值对的形式)以及服务器有关的信息

3.2 Exception对象

exception对象是一个异常对象,当一个页面在运行过程中发生了异常,就产生这个对象,

如果一个jsp页面要应用此对象,就必须把i**sErrorPage设置为true**(isErrorPage是page的一个属性,默认是false),否则无法编译。

流程:

A.jsp的page属性errorPage是用来设定发生异常时要跳转到的页面的url,假设是B.jsp,B.jsp的page属性的isErrorPage要设定为true,这样B.jsp就是作为异常处理的页面,显示异常信息

常用方法

String getMessage()返回描述异常的消息

String toString()返回关于异常简短描述消息

接下来请学习:

JSP学习笔记(三)之状态管理与参数传递
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: