jsp隐含对象

1  attribute与scope

九个jsp隐含对象

1) 与servlet有关

page 如同java的this

config 表示此jsp的ServletConfig


2) 与input/output有关

out     输出流的标准输出

request     请求端信息

reponse      响应端信息


3)  jsp执行时,提供有关的context的隐含对象

session 联机中产生的session数据,目前只对http协议有意义

application

pageContext 此页面的pageContext


4)  与Error有关

exception 异常处理


一 属性和范围

有些jsp程序员会将request、session、application、pagecontext归为一类,在于:他们都能借助setAttribute()和getAttribute()来设定和取得其属性Attribute,通过这两种方法做到数据分享

pagecontext:在本页面中使用的属性

Request:jsp页面到页面之间传递的属性

session:一段用户持续和服务器所连接的时间,但与服务器断线后,属性无效

Application:服务器一开始执行,到服务器关闭,停留时间长,但同样会造成服务器负担越来越重

使用getAttribute(String name)去的name属性的值时,它会回传一个java.lang.Object,因此还必须根据name属性值的类型做一次转换工作

如:String name = (String) pageContext.getAttribut("name");


二 与servlet有关的隐含对象

page:代表jsp本身,或者说代表jsp被转义后的servlet,因此可以调用servlet类所定义的方法

config:存放一些servlet初始的数据结构,很少被用到


三 与 Input和output有关的对象

request:包含所有请求信息,如:请求来源,表头等

HttpServletRequest借口所提供的方法:

1 之前的存取属性方法

2去的请求参数的方法

String getParameter(String name)

Enumeration getParameterNames()

String [] getParameterValues(String name)

Map getParameterMap()

3 去的请求http标头的方法

String getHeader(String name)

Enumeratio getHeaderNames()

Enumeration getHeaders(String name)

int getIntHeader(String name)

long getDateHeader(String name)

Cookie[] getCookies()

4 其他方法

String getContextPath() 去的Context的路径(即站台名称)

String getMethod() 去的http的方法(get post)

String getProtocol() 取得使用的协议

String getQueryString()

String getRequestedSessionId()  取得用户端的session id

String getRequestURI()

Striing getRemoteAddr() 去的用户的ip地址

String getRemoteHost() 去的用户的主机名称

int getRemotePort() 去的用户的主机端口

String getRemoteUser() 去的用户的名称

void etCharacterEncoding(String encoding) 设定编码格式


response对象:

自动加载:

如果想每个三分钟加载页面,response.setIntHeader("Refresh",180);

如果过十秒加载另一个页面,response.setHeader("Refresh","10; URL = http://Serer/Path")


out对象:主要用来管理输出的缓冲区和输出流

方法:

void clear() 清除输出缓冲区内容

void clearBuffer() 清除输出缓冲区内容

void close() 关闭输出流,清除内容

int getBufferSize() 取的目前缓冲区的大小(KB)

int getRemaining() 去的目前还剩下缓冲区的大小

boolean isAutoFlush()若为true 表示缓冲区满了,会自动清除;若为false,表示缓冲区满了,不会自动清除,而会产生异常


四 与Context有关对象

session:表示目前个别用户的会话情况,此项机制可以轻易识别每一个用户,然后正对每一个个别用户,给予正确的响应,如购物车使用的session的概念,通常用来做跟踪用户的功能。

方法:

long getCreatingTime()  取得产生session的时间,单位毫秒

String getId() 取得session的id

long getLaseAcessedTime()取得用户最后通过session发出请求的时间,单位毫秒

long getMaxInactiveInterval()取得最大不活动时间

void invalidate() 取消session对象,并将对象存放的内容完全抛弃掉

boolean isNew() 产生的session是否client尚未使用

void setMaxInactiveInterval(int interval)设定最大不活动时间,超过,则session失效,时间单位秒


pageContext:可以存取其他的隐含对象,在取得属性的时候,需要制定范围的参数值

如:void removeAttribute(String name, int scope)

void setAttribute(String name, Object value, int scope)

参数范围:PAGE_SCOPE/REQUEST_SCOPE/SESSION_SCOPE/APPLICATION_SCOPE

某些方法:


五 exception对象

若使用,则需要在page指令中设定:<%@ page isErrorPage = "true" %>

不然,在编译时会产生错误

方法:

getMessage()

getLocalizedMessage()

printStackTrace(new java.io.PringWriter(out))    参数要为printwriter而不是jspWriter

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值