`
Joy.zhang
  • 浏览: 59022 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
社区版块
存档分类
最新评论

谈谈JSP的九个隐含对象

    博客分类:
  • Jsp
阅读更多
本文介绍谈谈JSP的九个隐含对象的文章专题,例如:储存和取得属性方法,取得请求参数的方法,能够取得请求HTTP?标头的方法,exception对象,pageContext对象,page对象,config对象等等内容。

一、page?对象

????page对象代表JSP本身,更准确地说它代表JSP被转译后的Servlet,它可以调用Servlet类所定义的方法。
????
   二、config?对象

????config?对象里存放着一些Servlet?初始的数据结构。
???? config?对象实现于javax.servlet.ServletConfig?接口,它共有下列四种方法:
???????? public?String?getInitParameter(name)
???????? public?java.util.Enumeration?getInitParameterNames(?)
???????? public?ServletContext?getServletContext(?)
???????? public?Sring?getServletName(?)

   三、request?对象

????request?对象包含所有请求的信息,如:请求的来源、标头、cookies和请求相关的参数值等等。
???? request?对象实现javax.servlet.http.HttpServletRequest接口的,所提供的方法可以将它分为四大类:
???? 1.储存和取得属性方法;

void?setAttribute(String?name,?Object?value)????       设定name属性的值为value
Enumeration?getAttributeNamesInScope(int?scope)????     取得所有scope?范围的属性
Object?getAttribute(String?name)???????????????        ?取得name?属性的值
void?removeAttribute(String?name)?????????????       ???移除name?属性的值

???? 2.取得请求参数的方法

String?getParameter(String?name)??????????????? ? 取得name?的参数值
Enumeration?getParameterNames(?)????????????????  取得所有的参数名称
String?[]?getParameterValues(String?name)?????????取得所有name?的参数值
Map?getParameterMap(?)?????????????????????????????取得一个要求参数的Map

???? 3.能够取得请求HTTP?标头的方法

String?getHeader(String?name)?????????????????????取得name?的标头
Enumeration?getHeaderNames()??????????????????? ??取得所有的标头名称
Enumeration?getHeaders(String?name)????????????  ?取得所有name?的标头
int?getIntHeader(String?name)?????????????????????取得整数类型name?的标头
long?getDateHeader(String?name)????????????????  ?取得日期类型name?的标头
Cookie?[]?getCookies(?)????????????????????????  ?取得与请求有关的cookies

???? 4.其他的方法

String?getContextPath(?)????????????????????取得Context?路径(即站台名称)
String?getMethod(?)?????????????????????????取得HTTP?的方法(GET、POST)
String?getProtocol(?)???????????????????????取得使用的协议?(HTTP/1.1、HTTP/1.0?)
String?getQueryString(?)????????????????????取得请求的参数字符串,不过,HTTP的方法必须为GET

String?getRequestedSessionId(?)??????????取得用户端的Session?ID
String?getRequestURI(?)?????????????????取得请求的URL,但是不包括请求的参数字符串
String?getRemoteAddr(?)????????????????????????????取得用户的IP?地址
String?getRemoteHost(?)????????????????????????????取得用户的主机名称
int?getRemotePort(?)???????????????????????????   ?取得用户的主机端口
String?getRemoteUser(?)????????????????????????    ?取得用户的名称
void?etCharacterEncoding(String????encoding)????????设定编码格式,用来解决窗体传递中文的问题

   四、response?对象

response?对象主要将JSP?处理数据后的结果传回到客户端。
response?对象是实现javax.servlet.http.HttpServletResponse?接口。response对象所提供的方法。
???? 1.设定表头的方法
void?addCookie(Cookie?cookie)?????????????????????新增cookie
void?addDateHeader(String?name,?long?date)????????新增long类型的值到name标头
void?addHeader(String?name,?String?value)??????? ?新增String类型的值到name标头
void?addIntHeader(String?name,?int?value)?????????新增int类型的值到name标头
void?setDateHeader(String?name,?long?date)????????指定long类型的值到name标头
void?setHeader(String?name,?String?value)??????? ?指定String类型的值到name标头
void?setIntHeader(String?name,?int?value)?????????指定int类型的值到name标头

???? 2.设定响应状态码的方法

void?sendError(int?sc)?????????????????????????????传送状态码(status?code)
void?sendError(int?sc,?String?msg)???????????????? 传送状态码和错误信息
void?setStatus(int?sc)?????????????????????????????设定状态码

???? 3.用来URL?重写(rewriting)的方法??
??
String?encodeRedirectURL(String????url)????????????对使用sendRedirect(?)方法的 URL予以编码

  五、out?对象

out?对象能把结果输出到网页上。
out主要是用来控制管理输出的缓冲区(buffer)和输出流(output?stream)。
void?clear(?)???????????????????????????????清除输出缓冲区的内容
void?clearBuffer(?)?????????????????????????清除输出缓冲区的内容
void?close(?)???????????????????????????????关闭输出流,清除所有的内容
int?getBufferSize(?)????????????????????????取得目前缓冲区的大小(KB)
int?getRemaining(?)?????????????????????????取得目前使用后还剩下的缓冲区大小(KB)
boolean?isAutoFlush(?)??????????????????????回传true表示缓冲区满时会自动清除;false表示不会自动清除并且产生异常处理
????????
  六、session?对象

session对象表示目前个别用户的会话(session)状况。
session对象实现javax.servlet.http.HttpSession接口,HttpSession接口所提供的方法
long?getCreationTime()????????????????????????????取得session产生的时间,单位是毫秒
String?getId()?????????????????????????????????????取得session?的ID
long?getLastAccessedTime()??????????????????????? ?取得用户最后通过这个session送出请求的时间
long?getMaxInactiveInterval()???????????????  ?????取得最大session不活动的时间,若超过这时间,session?将会失效
void?invalidate()????????????????????????????????  取消session?对象,并将对象存放的内容完全抛弃
boolean?isNew()????????????????????????????????????判断session?是否为"新"的
void?setMaxInactiveInterval(int????interval)???????设定最大session不活动的时间,若超过这时间,session?将会失效

  七、application对象

application对象最常被使用在存取环境的信息。
因为环境的信息通常都储存在ServletContext中,所以常利用application对象来存取ServletContext中的信息。
application?对象实现javax.servlet.ServletContext?接口,ServletContext接口容器所提供的方法
int?getMajorVersion(?)?????????????????????????????取得Container主要的 Servlet?API版本
int?getMinorVersion(?)?????????????????????????????取得Container次要的 Servlet?API?版本
String?getServerInfo(?)????????????????????????  ?取得Container的名称和版本
String?getMimeType(String?file)??????????????? ?? 取得指定文件的MIME?类型
ServletContext?getContext(String?uripath)????? ???取得指定Local?URL的 Application?context
String?getRealPath(String?path)???????????????  ??取得本地端path的绝对路径
void?log(String?message)???????????????????????? ?将信息写入log文件中
void?log(String?message,?Throwable?throwable)???? 将stack?trace?所产生的异常信息写入log文件中

   八、pageContext对象

pageContext对象能够存取其他隐含对象。
1.pageContext对象存取其他隐含对象属性的方法,此时需要指定范围的参数。
Object?getAttribute(String?name,?int?scope)
Enumeration?getAttributeNamesInScope(int?scope)
void?removeAttribute(String?name,?int?scope)
void?setAttribute(String?name,?Object?value,?int?scope)
范围参数有四个,分别代表四种范围:PAGE_SCOPE、REQUEST_SCOPE、SESSION_SCOPE、 APPLICATION_SCOPE
2.PageContext对象取得其他隐含对象的方法
Exception?getException(?)???????????????回传目前网页的异常,不过此网页error?page,
JspWriter?getOut(?)?????????????????????回传目前网页的输出流,例如:out?
Object?getPage(?)???????????????        回传目前网页的Servlet?实体(instance),例如:page
ServletRequest?getRequest(?)????????????回传目前网页的请求,例如:request
ServletResponse?getResponse(?)??????????回传目前网页的响应,例如:response
ServletConfig?getServletConfig(?)???????回传目前此网页的ServletConfig?对象,例如:config
ServletContext?getServletContext(?)?????回传目前此网页的执行环境(context),例如:application
HttpSession?getSession(?)???????????????回传和目前网页有联系的会话(session),例如:session

???? 3.PageContext对象提供取得属性的方法

Object?getAttribute(String?name,?int?scope)????????回传name?属性,范围为scope的属性对象,回传类型为Object
Enumeration?getAttributeNamesInScope(int?scope)????回传所有属性范围为scope?的属性名称,回传类型为Enumeration
int?getAttributesScope(String?name)?????????????回传属性名称为name?的属性范围
void?removeAttribute(String?name)?????????????????移除属性名称为name?的属性对象
void?removeAttribute(String?name,?int?scope)????移除属性名称为name,范围为scope?的属性对象
void?setAttribute(String?name,?Object?value,?int?scope)????????指定属性对象的名称为name、值为value、范围为scope
Object?findAttribute(String?name)????????寻找在所有范围中属性名称为name?的属性对象

  九、exception对象

????若要使用exception?对象时,必须在page?指令中设定。<%@?page?isErrorPage="true"?%>才能使用。
???? exception提供的三个方法:
?????getMessage(?)
?????getLocalizedMessage(?)、
?????printStackTrace(new?java.io.PrintWriter(out))?
分享到:
评论
1 楼 zhao103804 2010-07-16  
这个叫JSP九大内置对象,话说,怎么这么多乱码啊

相关推荐

    详细了解JSP中九个隐含对象

    详细了解JSP中九个隐含对象,page 对象,config 对象,request 对象,response 对象,out 对象,session 对象,application对象,pageContext对象,exception对象

    JSP的九个隐含对象

    综上所述,`page`, `config`, `request`, `response`这四个对象是JSP编程中非常核心的部分,它们各自承担着不同的职责,共同构成了JSP与客户端之间通信的基石。理解并熟练运用这些对象,对于开发高效、健壮的Web应用...

    JSP中九个隐含对象

    以上介绍的四个对象只是JSP中九个隐含对象的一部分,它们在开发JSP应用时非常重要。通过合理利用这些对象,可以更加灵活地处理客户端请求和服务器响应,从而构建出功能强大且易于维护的Web应用程序。

    JSP EL隐含对象

    了解并熟练使用这些隐含对象是每个JSP开发者必备的技能之一。 在实际项目中,结合EL和JSTL(JavaServer Pages Standard Tag Library)可以进一步提升代码的可读性和可维护性。例如,使用EL和JSTL的fmt标签库进行...

    Jsp中九个隐含对象的区别.doc

    2. **pageContext**: 类型为`javax.servlet.jsp.PageContext`,这个对象提供了对JSP页面上下文的访问,允许开发者获取和存储页面级别的数据。它可以访问`request`、`response`、`session`和`application`等其他隐含...

    jsp隐含对象详细解析

    ### jsp隐含对象详细解析 #### 一、概述 JSP(Java Server Pages)是一种基于Java技术的服务器端动态网页开发技术。它允许开发者在HTML文档中嵌入Java代码来实现动态内容的生成。在JSP开发中,有一些内置的对象...

    jsp的九个隐含对象

    **正文** 在Java Server Pages(JSP)技术中,隐含对象是一组预先定义的对象,它们为开发人员提供了便利,无需...对于初学者而言,深入理解每个对象的作用和使用场景至关重要,这将有助于成为一名合格的JSP开发者。

    jsp隐含对象 chm

    jsp隐含对象 jsp隐含对象 jsp隐含对象 jsp隐含对象

    jsp九大隐含对象及注解

    ### jsp九大隐含对象详解 #### 一、概述 在Java Server Pages(JSP)技术中,有九个预定义的对象(也称为内置对象),它们由容器自动创建,并且可以直接在JSP页面中使用而无需声明。这些内置对象简化了开发人员的...

    java中JSP和el表达式的隐含对象

    通过这个对象可以访问到页面的属性、方法等。 #### config对象 `config`对象用于表示Servlet的配置信息。它实现了`javax.servlet.ServletConfig`接口,提供了以下方法: - `getInitParameter(String name)`:获取...

    jsp隐含对象

    jsp 内置文档对象,可通过该文档进行简单查询!

    jsp九大内置对象讲解

    JSP九大内置对象详解 JSP(Java Server Pages)是一种基于Java技术的服务器端编程语言,用于创建动态网页。JSP九大内置对象是JSP技术中非常重要的一部分,它们是JSP引擎提供的一些预定义的对象,用于帮助开发者快速...

    jsp九大内置对象

    ### JSP九大内置对象详解 #### 一、Request对象 - **定义**:`javax.servlet.http.HttpServletRequest` 类型的对象。 - **用途**:用于接收客户端发送到服务器端的数据(包括但不限于HTTP请求头、请求参数等)。 - ...

    JSP隐含对象.ppt

    JSP 隐含对象 JSP 隐含对象是 Web 容器加载的一组类,它们不像一般的 Java 对象那样用” new” 去获取实例,而是可以直接在 JSP 页面使用的对象。这些隐式对象的名称是 JSP 的保留字,JSP 使用 Java 定义的隐式对象...

    JSP九大内置对象

    ### JSP九大内置对象详解 在Java Server Pages (JSP)技术中,为了简化Web开发,JSP提供了九个预定义的对象,也被称为内置对象或隐含对象。这些对象自动存在于JSP页面的上下文中,无需显式声明或实例化,它们在处理...

    JSP内置对象实验报告.doc

    在JSP中,有九个内置对象,它们是预定义的,可以直接在JSP页面中使用,无需声明或实例化。本实验主要探讨了四个关键内置对象:request、response、session和pageContext。 1. **request对象**:request对象代表HTTP...

    JSP九大内建对象案例讲解

    通过上述示例,我们不仅了解了每个对象的基本用途,还学习了如何在实际开发中应用它们。掌握这些内建对象,对于任何希望利用JSP技术构建高效、健壮的Web应用程序的开发者来说,都是必不可少的基础知识。

Global site tag (gtag.js) - Google Analytics