`
cheng5259
  • 浏览: 62794 次
  • 性别: Icon_minigender_1
  • 来自: 河北
社区版块
存档分类
最新评论

详细了解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))

 

源自:http://www.examda.com/Java/jichu/20080929/111523276-3.html JAVA认证

分享到:
评论

相关推荐

    JSP中九个隐含对象

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

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

    以下是JSP中九个主要的隐含对象及其区别: 1. **page**: 这个对象代表当前JSP页面转换后的Servlet类实例,类型为`java.lang.Object`。在JSP页面中,通常不直接使用`page`对象,因为它主要用于内部实现。 2. **...

    textern-0.8-1.el8.x64-86.rpm.tar.gz

    1、文件说明: Centos8操作系统textern-0.8-1.el8.rpm以及相关依赖,全打包为一个tar.gz压缩包 2、安装指令: #Step1、解压 tar -zxvf textern-0.8-1.el8.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm

    基于STM32的循迹避障小车资料源码(高分项目)

    基于STM32的循迹避障小车资料源码(高分项目),个人大四的毕业设计、经导师指导并认可通过的高分设计项目,评审分99分,代码完整确保可以运行,小白也可以亲自搞定,主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者,也可作为课程设计、期末大作业。 基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(

    金属板卷自动捆扎机器step_三维3D设计图纸_包括零件图_机械3D图可修改打包下载_三维3D设计图纸_包括零件图_机械3D图可修改打包下载.zip

    金属板卷自动捆扎机器step_三维3D设计图纸_包括零件图_机械3D图可修改打包下载_三维3D设计图纸_包括零件图_机械3D图可修改打包下载.zip

    【SSM框架详解】全网最全的SSM详解

    内容概要:本文详细介绍了SSM框架(Spring、SpringMVC、MyBatis)的相关知识,涵盖Maven项目管理工具、前端开发技术、HTTP协议及Tomcat服务器等内容。文章首先讲解了SSM框架的组成,包括Spring的IOC、DI、AOP等功能,SpringMVC的请求处理流程以及MyBatis的数据操作。接着介绍了Maven作为项目管理工具的作用,如依赖管理和项目构建,并详细描述了Maven的配置文件pom.xml的使用方法。此外,还探讨了HTTP协议的特点、请求响应格式,以及Web服务器Tomcat的基本概念和工作原理。最后,文章对前端开发技术进行了概述,包括HTML、CSS、JavaScript等基础知识,并简要介绍了Ajax技术。 适合人群:具备一定编程基础,特别是Java开发经验的研发人员,尤其是那些正在学习或使用SSM框架进行Web开发的工程师。 使用场景及目标:①理解SSM框架的工作原理及其各组成部分的功能;②掌握Maven的使用,包括项目创建、依赖管理、生命周期等;③熟悉HTTP协议的请求响应机制,能够处理常见的HTTP请求和响应;④掌握前端开发技术,如HTML、CSS、JavaScript等,能够进行简单的前端页面开发;⑤了解Tomcat服务器的工作原理及其配置方法。 阅读建议:本文内容丰富,涵盖了从后端到前端的多个方面,建议读者在学习过程中结合实际项目进行实践,尤其是在Maven项目管理和SSM框架的具体应用上,多动手操作,加深理解。同时,对于HTTP协议和前端开发技术,可以通过实际的网络请求和页面开发来巩固所学知识。

    JAVA源码 + SpringBoot+vue+mysql 漫画天堂网 + 数据库 + 文档

    本系统以用户与管理员两类人,作为目标用户,其中用户主要功能包含用户的注册与登录,查看漫画信息进行订阅等,对账号相关信息的修改;管理员主要功能包括了对用户信息、漫画信息、订阅信息、更新通知、在线留言、社区互动等管理;管理员可以实现最高权限级别的全系统管理。 内含文档,可轻松上手。

    工业缺陷检测领域的NEU-DET数据集及其深度学习应用

    内容概要:本文详细介绍了NEU-DET数据集,这是一个包含六种常见表面缺陷(如涂层剥落、油污、锈蚀等)的1800张灰度图像的数据集。数据集分为训练集和测试集,分别为1620张和180张。文中探讨了数据集的特点,如灰度图像的优势、标注信息的重要性以及合理的数据集划分。此外,文章展示了如何使用Python读取标注信息,并提供了使用Keras和PyTorch搭建卷积神经网络(CNN)和Faster R-CNN模型的具体代码示例,用于缺陷分类和目标检测任务。通过数据增强技术和模型优化,可以在工业缺陷检测中取得较好的效果。 适合人群:从事工业缺陷检测、计算机视觉、机器学习等相关领域的研究人员和技术人员。 使用场景及目标:适用于希望利用深度学习技术进行表面缺陷检测的研究人员。具体应用场景包括但不限于产品质量检测、自动化生产线监控等。目标是帮助用户理解和掌握如何使用NEU-DET数据集进行模型训练和评估,提高缺陷检测的准确性。 其他说明:文中提到的数据集和代码示例可以帮助初学者快速入门,同时也为高级用户提供了一些优化建议,如使用预训练模型、调整损失函数权重等。

    基于Qt/CPP的多平台二维图形编辑器:功能实现与技术细节

    内容概要:本文详细介绍了使用Qt/C++开发的一款多平台二维图形编辑器。该编辑器旨在提供简单直观的图形可视化编辑体验,主要功能包括创建和参数化图形、支持多种图类型、多样化的边与节点端口、自定义属性、动态维护交换列表、搜索功能、自动布局与导出、以及多种文件格式的支持。作者分享了项目的实现路径和技术细节,如通过QGraphicsView框架实现图形绘制、利用GraphViz引擎进行自动布局、采用QProcess处理跨平台进程通信、以及性能优化技巧等。 适合人群:对图形编辑器开发感兴趣的研发人员,尤其是熟悉或想要深入了解Qt/C++框架的开发者。 使用场景及目标:适用于需要开发或改进图形编辑工具的技术团队,帮助他们理解和掌握Qt/C++在图形编辑领域的应用,提高开发效率和产品质量。 其他说明:文中不仅展示了具体的代码片段,还分享了许多实用的经验和技巧,如避免性能瓶颈的方法、处理跨平台兼容性的注意事项等。这对于希望深入研究图形编辑技术和Qt/C++框架的开发者来说是非常宝贵的参考资料。

    A股600000浦发银行秒级训练数据集

    股票代码:A股600000浦发银行 2023年-2024年2年秒级数据,可用作训练和回测 数据内容: 时间戳(间隔10-12秒,精确到秒) 买/卖成交量 成交价 开/收盘价 最高/低价 另有类似的大盘秒级数据

    JAVA源码 + SpringBoot+vue+mysql 高校实验室预约系统 + 数据库 + 文档

    内含文档,可轻松上手。

    电路仿真:频率响应分析.zip

    电子仿真教程,从基础到精通,每个压缩包15篇教程,每篇教程5000字以上。

    冲击试验机sw22_三维3D设计图纸_包括零件图_机械3D图可修改打包下载_三维3D设计图纸_包括零件图_机械3D图可修改打包下载.zip

    冲击试验机sw22_三维3D设计图纸_包括零件图_机械3D图可修改打包下载_三维3D设计图纸_包括零件图_机械3D图可修改打包下载.zip

    各院校专业录取分数线.zip

    各院校专业录取分数线.zip

    电力电子领域逆变器VSG阻抗建模与扫频法验证的技术详解及应用

    内容概要:本文深入探讨了逆变器虚拟同步控制(VSG)技术中的阻抗建模及其验证方法。首先介绍了VSG的基本概念和技术背景,强调了正负序阻抗对系统稳定性和电能质量的影响。随后详细讲解了阻抗建模的理论基础,包括正负序阻抗的计算方法和虚拟同步发电机的序阻抗建模。接着阐述了阻抗扫描的具体步骤,包括扫描范围、点数设置以及通过扫频法在不同频率下注入小信号并测量响应的方法。文中提供了详细的Python和MATLAB代码示例,帮助读者理解和实现阻抗建模和扫描验证。最后,通过对比实测阻抗曲线和理论模型,讨论了常见问题及解决方法。 适合人群:从事电力电子、电力系统稳定性和控制的研究人员和工程师,尤其是对VSG技术和阻抗建模感兴趣的读者。 使用场景及目标:适用于需要评估逆变器在不同工况下的电气特性,确保电力系统稳定性和优化电能质量的研究和工程实践中。主要目标是掌握VSG阻抗建模和扫频法验证的理论与实践技能。 其他说明:本文不仅提供理论知识,还附带了详细的代码实现和注释,便于读者快速上手并在实际项目中应用。此外,文中提到的一些实用技巧和注意事项也有助于提高实验效率和准确性。

    c语言打字母游戏源码.zip

    c语言打字母游戏源码.zip

    基于SOGI+DQ结构的PLL锁相环在STM32G431上的实现及其MATLAB仿真

    内容概要:本文详细介绍了基于SOGI(二阶广义积分器)和DQ变换的数字锁相环(PLL)在STM32G431芯片上的实现过程,并通过MATLAB进行了仿真验证。主要内容涵盖SOGI初始化、ADC采样配置、中断服务程序设计、DQ变换以及PLL频率跟踪等关键技术环节。文中特别强调了定点运算的应用,以提高运算效率和稳定性。同时,通过MATLAB仿真展示了系统的频率跟踪性能,在40Hz-65Hz范围内能够稳定跟踪电网频率变化,误差控制在±0.2Hz以内。此外,文章还讨论了移植性和硬件适配问题,提供了详细的代码片段和调试经验。 适合人群:从事电力电子、嵌入式系统开发的技术人员,尤其是对锁相环(PLL)和SOGI+DQ结构感兴趣的工程师。 使用场景及目标:适用于需要精确频率跟踪和相位同步的应用场合,如光伏逆变器并网、电机控制系统等。目标是帮助开发者理解和实现高效的PLL算法,确保系统在复杂电网环境下的稳定运行。 其他说明:文章不仅提供了理论分析和技术实现,还包括了大量的实践经验分享,如定点运算优化、硬件适配技巧等。对于希望深入理解PLL工作原理和实际应用的读者来说,是一份非常有价值的参考资料。

    【科学计算软件】MATLAB下载安装教程:涵盖Windows与macOS系统详细步骤及验证方法

    内容概要:本文档详细介绍了 MATLAB 在 Windows 和 macOS 系统上的下载与安装步骤。首先简述了 MATLAB 的应用领域,包括科学计算、数据分析和工程仿真。接着分别针对 Windows 和 macOS 用户提供了详细的安装指南,涵盖从访问官网、下载安装程序、选择许可证类型、指定安装路径、选择工具箱到最后的激活步骤。最后,通过输入特定命令验证 MATLAB 是否安装成功,确保用户能够顺利开始使用 MATLAB 进行相关工作。; 适合人群:对科学计算、数据分析和工程仿真有需求的科研人员、工程师以及学生等。; 使用场景及目标:①科研人员和工程师在工作中进行复杂的数据处理和建模;②学生学习数学、物理等相关课程时进行实验和模拟。; 阅读建议:本教程操作性强,建议读者按照步骤逐一操作,确保每一步都正确无误。遇到问题可随时查阅官方帮助文档或社区论坛,以便顺利完成 MATLAB 的安装和激活。

    【Linux详解】常用命令与系统配置:虚拟机搭建、文件管理及网络配置详解

    内容概要:本文详细介绍了Linux操作系统的概念、特点及其常见命令,旨在帮助用户掌握Linux的基础知识和操作技能。文章首先概述了Linux的操作系统特性,如免费、稳定、高效,以及其广泛的应用领域,包括服务器和个人设备。接着介绍了Linux的安装与配置,包括虚拟机的创建、分区设置、网络配置等。随后,重点讲解了Linux命令行的基本命令,涵盖文件和目录管理、用户和权限管理、进程和服务管理等方面。此外,还涉及了远程登录、文件传输、文本编辑器(如vi/vim)、定时任务、磁盘管理、网络配置、服务管理和包管理工具(如rpm/yum)。最后简要介绍了Shell编程的基础知识,包括变量、条件判断和脚本编写。 适合人群:适合初学者和有一定经验的Linux用户,特别是希望深入了解Linux系统管理和操作的IT从业者。 使用场景及目标:①帮助用户熟悉Linux操作系统的特性和应用场景;②掌握Linux系统的基本命令和操作技巧;③学会配置和管理Linux服务器,包括文件系统、用户权限、网络设置和服务管理;④能够编写简单的Shell脚本来自动化日常任务。 阅读建议:由于本文内容丰富且涉及面广,建议读者在学习过程中结合实际操作进行练习,特别是在命令行操作、文件管理、用户权限设置和Shell编程方面。对于复杂命令和概念,可以通过查阅官方文档或在线资源进一步加深理解。

Global site tag (gtag.js) - Google Analytics