热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

JSP中隐含对象有哪些

这篇文章将为大家详细讲解有关JSP中隐含对象有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、page对

这篇文章将为大家详细讲解有关JSP中隐含对象有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

一、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 指令中设定。才能使用。

exception提供的三个方法:

getMessage( )

getLocalizedMessage( )、

printStackTrace(new java.io.PrintWriter(out))

关于“JSP中隐含对象有哪些”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。


推荐阅读
  • springmvc学习笔记(十):控制器业务方法中通过注解实现封装Javabean接收表单提交的数据
    本文介绍了在springmvc学习笔记系列的第十篇中,控制器的业务方法中如何通过注解实现封装Javabean来接收表单提交的数据。同时还讨论了当有多个注册表单且字段完全相同时,如何将其交给同一个控制器处理。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • 本文介绍了在MFC下利用C++和MFC的特性动态创建窗口的方法,包括继承现有的MFC类并加以改造、插入工具栏和状态栏对象的声明等。同时还提到了窗口销毁的处理方法。本文详细介绍了实现方法并给出了相关注意事项。 ... [详细]
  • Android实战——jsoup实现网络爬虫,糗事百科项目的起步
    本文介绍了Android实战中使用jsoup实现网络爬虫的方法,以糗事百科项目为例。对于初学者来说,数据源的缺乏是做项目的最大烦恼之一。本文讲述了如何使用网络爬虫获取数据,并以糗事百科作为练手项目。同时,提到了使用jsoup需要结合前端基础知识,以及如果学过JS的话可以更轻松地使用该框架。 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • Spring源码解密之默认标签的解析方式分析
    本文分析了Spring源码解密中默认标签的解析方式。通过对命名空间的判断,区分默认命名空间和自定义命名空间,并采用不同的解析方式。其中,bean标签的解析最为复杂和重要。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • Linux重启网络命令实例及关机和重启示例教程
    本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ... [详细]
  • 阿,里,云,物,联网,net,core,客户端,czgl,aliiotclient, ... [详细]
  • 在重复造轮子的情况下用ProxyServlet反向代理来减少工作量
    像不少公司内部不同团队都会自己研发自己工具产品,当各个产品逐渐成熟,到达了一定的发展瓶颈,同时每个产品都有着自己的入口,用户 ... [详细]
  • 本文介绍了一个在线急等问题解决方法,即如何统计数据库中某个字段下的所有数据,并将结果显示在文本框里。作者提到了自己是一个菜鸟,希望能够得到帮助。作者使用的是ACCESS数据库,并且给出了一个例子,希望得到的结果是560。作者还提到自己已经尝试了使用"select sum(字段2) from 表名"的语句,得到的结果是650,但不知道如何得到560。希望能够得到解决方案。 ... [详细]
  • 个人学习使用:谨慎参考1Client类importcom.thoughtworks.gauge.Step;importcom.thoughtworks.gauge.T ... [详细]
  • Python SQLAlchemy库的使用方法详解
    本文详细介绍了Python中使用SQLAlchemy库的方法。首先对SQLAlchemy进行了简介,包括其定义、适用的数据库类型等。然后讨论了SQLAlchemy提供的两种主要使用模式,即SQL表达式语言和ORM。针对不同的需求,给出了选择哪种模式的建议。最后,介绍了连接数据库的方法,包括创建SQLAlchemy引擎和执行SQL语句的接口。 ... [详细]
author-avatar
欣然沐羽民_699
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有