jsp九大隐藏对象

转载自   jsp九大隐藏对象

jsp内置对象(隐藏对象):不加声明和创建就可以在jsp页面脚本中使用的成员对象。

内置对象类型作用域
requestjavax.servlet.http.HttpServletRequestrequest
responsejavax.servlet.http.HttpServletResponseresponse
pageContextjavax.servlet.jsp.PageContextpage
sessionjavax.servlet.http.HtpSessionsession
applicationjavax.servlet.jsp.ServletContextapplication
outjavax.servlet.jsp.JspWriterpage
configjavax.servlet.ServletConfigpage
pagejava.lang.Objectpage
exceptionjava.lang.Throwablepage


一、out输出流对象

Servlet和Jsp中输出数据都需要使用out对象。Servlet中的out对象是通过response.getWriter( )方法获取的,Jsp中并没有定义out对象,可以直接使用,简单方便。对象out为javax.servlet.jsp.JspWriter类的实例,用来向页面输出信息。常用的方法:

方法返回值类型方法说明
clear()void清除网页上输出内容
clearBuffer()void清除缓冲区内容
close()void关闭缓冲区,清除所有内容
getBufferSize()int取得缓冲区大小
getRemaining()int取得缓冲区剩余大小
isAutoFulsh()boolean获得缓冲区是否进行自动清除的信息
print(String str)void进行页面输出
println(String str)void进行页面输出并换行


二、request请求对象

对象request为javax.servlet.ServletRequest类的实例,代表客户端的请求。request对象不但可以用来设置和取得request范围变量,还可以用来获取客户端请求参数、请求的来源、表头、Cookies等。常用方法:

 方法返回值类型 方法说明 
 getParameter(String name)String  获取参数名为name的参数值
 getParameterNames()Enumeration  获取所有参数的名称,可与上一个方法合用获取所有参数的值
 getParameterValues(String name) String[] 获取参数名为name的所有参数,比如参数是多个checkbox
 getParameterMap() Map 获取所有参数封装的Map实例,通过Map实例的String[] get("id")方法返回对应参数名为id的值数组

getHeader(String name)String获取指定标题名称为name的标头
getHeaderName()Enumeration获取所有的标头名称
getIntHeader(String name)int获取标题名称为name的标头,内容以整数类型返回
getDateHeader(String name)long获取标题名称为name的标头,内容以日期类型返回
getCookies()Cookie获取相关的Cookie
getContextPath()String获取Context的路径
getMethod()String获取客户端的提交方式
getProtocol()String获取使用的HTTP协议
getQueryString()String获取请求的字符串
getRequestSessionId()String获取客户端的Session ID
getRequestURI()String获取请求的URI
getRemoteAddr()String获取客户端IP地址


三、response响应对象

对象response为javax.servlet.ServletResponse类的实例,代表客户端的响应。服务器端的任何输出都是通过response对象发送到客户端浏览器。每次服务器端都会响应一个response实例。常用方法:

方法返回值方法说明
addCookie(Cookie cookie)void 
addDateHeader(String name,long date)void 
addHeader(String name,String value)void 
addIntHeader(String name,int value)void 
setDateHeader(String name,long date)void 
setHeader(String name,String value)void 
setIntHeader(String name,int value)void 
sendError(int sc)void传送状态码
sendError(int sc,String msg)void传送状态码和错误信息
setStatus(int sc)void设置状态码
sendRedirect(String URL)void页面重定向,用来实现页面跳转


四、config配置对象

对象config是javax.servlet.ServletConfig类的实例。ServletConfig封装了配置在web.xml中初始化Jsp的参数。Jsp中通过config来获取这些参数。每个Jsp文件有一个config对象。常用方法:

方法返回值类型方法说明
getInitParameter(name)String获取Servlet初始化参数
getInitParameterNames()Enumeration获取Servlet所有初始化参数名称
getServletContext()ServletContext获取当前Application context
getServletName()String获取Servlet名称


五、session会话对象

对象session是javax.servlet.http.HttpSession类的实例。session和cookie是记录客户访问信息的两种机制,session用于在服务器端保存用户信息,cookie用于在客户端保存用户信息。常用方法:

方法返回值类型方法说明
getId()String获取session的ID
getCreationTime()long获取session的生成时间
getLashAccessedTime()long获取用户最后通过session发送请求时间
getMaxInactiveInterval()long获取session生命周期,如果超过这个时间则失效
invalidate()void清空session内容
isNew()boolean判断session是否为“新”的
setMaxInactiveInterval()void设置session生命周期,如果超过这个时间则失效
getAttribute()Object获取session中属性名为name的对象
getAttributeNames()Enumeration获取session中的所有属性名


六、application应用程序对象

对象application是javax.servlet.ServletContext类的对象。application封装了Jsp所在的Web应用程序的信息。Servlet中application对象需要通过ServletConfig.getServletContext()来获取。整个Web应用程序只有一个application对象。常用方法:

方法返回值类型方法说明
getMajorVersion()int获取主要的Servlet API版本
getMinorVersion()int获取次要的Servlet API版本
getServerInfo()String获取服务器版本
getMimeType()String获取指定文件的MIME类型
getContext()ServerContext获取指定Local的Application context
getRealPathString获取指定path的绝对路径


七、page页面对象

对象page是javax.servlet.jsp.HttpJspPage类的实例。page对象代表当前jsp页面,是当前jsp编译后的Servlet类的对象。page相当于普通java类的关键字this。


八、pageContext页面上下文对象

对象pageContext是javax.servlet.jsp.PageContext类的实例。pageContext对象代表当前jsp页面的编译后的内容。通过次对象可以获取到jsp中的资源。常用方法:

方法返回值方法说明
getException()Exception获取当前的exception内置对象
getOut()JspWriter 
getPage()Object 
getRequest()ServletRequset 
getResponse()ServletResponse 
getServletConfig()ServletConfig 
getServeltContext()ServletContext 
getSession()HttpSession 
getAttribute(String name,int scope)Object获取指定范围的name属性值
getAttributeNamesInScope(int scope)Enumeration获取指定范围所有属性名称
getAttributesScope(String name)int获取属性名称为name的属性范围
removeAttribute(String name)void移除属性名称为name的 属性
removeAttribute(String name,int scope)void移除指定范围的属性名称为name的 属性
setAttribute(String name,Object value,int scope)void设置指定范围的name属性
findAttribute(String name)Object寻找所有范围的属性名称为name的属性


九、exception异常对象

对象exception是java.lang.Exception类的对象。exception封装了jsp中抛出的异常信息。要使用exception对象,需要设置<%@page isErrorPage="true" %>。此对象通常被用来处理错误页面。例如:

1、包含错误的页面:error.jsp

<%@ page language="java" contentType="text/html;charset=gb2312" errorPage="ExceptionDemo01.jsp"%> 
<html> <head> <title>错误页面</title> </head> <body> <% int[] arr = {1,2,3}; out.println(arr[3]); %> </body> 
</html>

 注:error.jsp中arr[3]数组下表越界.需在page指令中指定errorPage的属性值为相应的异常处理程序。

2、异常处理页面:exceptionDo.jsp

<%@ page language="java" contentType="text/html;charset=gb2312" isErrorPage="true"%> 
<%@page import="java.io.PrintStream"%> 
<html> <head> <title>处理错误异常</title> </head> <body> <%=exception%><br><%=exception.getMessage()%><br> <%=exception.getLocalizedMessage()%><br> <% exception.printStackTrace(new java.io.PrintWriter(out)); %> </body> 
</html> 

注:必须在page指令中指定属性isErrorPage属性值为true。也就是说这个页面可以用于异常处理。

将会在exceptionDo.jsp中打印出error.jsp中的数组下标越界异常信息。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/328383.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

新闻发布项目——数据库脚本(直接导入即可)

数据库sql servel 2012版本&#xff0c;以下是脚本&#xff1a; USE [master] GO /****** Object: Database [newsDB] Script Date: 2016/11/24 19:48:46 ******/ CREATE DATABASE [newsDB]CONTAINMENT NONEON PRIMARY ( NAME NnewsDB, FILENAME NE:\第二期\第六本书使…

最新版Intellij IDEA视频教程 20170814

01课程介绍和软件安装.avi 02Intellij IDEA常用快捷键1132.avi 03Intellij IDEA安装Tomcat和Maven.avi 04Intellij IDEA使用Maven Helper插件分.avi 05Intellij IDEA中Git安装和使用.avi 06Intellij IDEA连接MySQL数据库.avi 07Intellij IDE使用GsonFormat转化json.avi …

Docker容器环境下ASP.NET Core Web API应用程序的调试

本文主要介绍通过Visual Studio 2015 Tools for Docker – Preview插件&#xff0c;在Docker容器环境下&#xff0c;对ASP.NET Core Web API应用程序进行调试。在自己做实验的过程中也碰到了一些问题&#xff0c;经过一些测试和搜索资料&#xff0c;基本解决了这些问题&#xf…

php 查看spl,PHP使用标准库spl实现的观察者模式示例

本文实例讲述了PHP使用标准库spl实现的观察者模式。分享给大家供大家参考&#xff0c;具体如下&#xff1a;前面使用纯php实现了一个观察者模式(php观察者模式)&#xff0c; 现在使用php标准库spl在次实现观察者模式&#xff0c;好处是&#xff1a;随意的生成您想使用的观察者&…

深入体验JavaWeb开发内幕——简述JSP中的自定义标签叫你快速学会

转载自 深入体验JavaWeb开发内幕——简述JSP中的自定义标签叫你快速学会自定义标签&#xff0c;顾名思义&#xff0c;就是自己定义的标签。那么我们为什么要自己定义一些标签呢&#xff1f; 我们知道&#xff0c;如果要在JSP中获取数据我们可以采用通过JSP的隐式对象request来…

ps查看所有php进程,ps命令就是最基本进程查看命令

1、ps是什么&#xff1f;要对进程进行监测和控制&#xff0c;首先必须要了解当前进程的情况,也就是需要查看当前进程&#xff0c;ps命令就是最基本进程查看命令。使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵尸、哪些进程占用了过多的资源等…

如何测试微信应用号

每一次微信的动作都是商机&#xff0c;而随着微信应用号的即将面世&#xff0c;微信应用号的开发和测试又会成为一股新的风向。 其实经常有人问到微信服务号或者微信订阅号怎么测试的相关内容&#xff0c;可能总觉得比较缺乏技术含量不太想说&#xff0c;这次看了下应用号&…

git 拉代码

git clone 。。 拉取代码master git clone -b 分支名 。。。 拉取分支名 git——更新分支、提交代码、切换分支、合并分支 还是直接贴教程吧&#xff1a;https://git-scm.com/book/zh/v2 如何把本地idea上的项目上传到github上&#xff1a;https://www.cnblogs.com/…

javaweb学习总结(二十四)——jsp传统标签开发

转载自 javaweb学习总结(二十四)——jsp传统标签开发一、标签技术的API 1.1、标签技术的API类继承关系二、标签API简单介绍 2.1、JspTag接口JspTag接口是所有自定义标签的父接口&#xff0c;它是JSP2.0中新定义的一个标记接口&#xff0c;没有任何属性和方法。JspTag接口有Tag…

二级导航 sql php,帝国cms栏目导航调用之SQL语句调用一级栏目和二级栏目的方法...

帝国cms调用一级栏目及下面的二级栏目调用方法如下&#xff1a;SQL语句<?php $ecms_bq_sqlsys_ReturnEcmsLoopBq("select * from [!db.pre!]enewsclass where bclassid0 order by myorder limit 6",14,24,0);$bqno0;while($bqr$empire->fetch($ecms_bq_sql)){…

Java开发利器:IntelliJ IDEA的安装、配置与使用

1.尚硅谷-IDEA-IntelliJ IDEA的介绍和优势 2.尚硅谷-IDEA-版本介绍与安装前的准备 3.尚硅谷-IDEA-IDEA的卸载 4.尚硅谷-IDEA-IDEA的安装 5.尚硅谷-IDEA-安装目录和设置目录结构的说明 6.尚硅谷-IDEA-启动IDEA并执行HelloWorld 7.尚硅谷-IDEA-Module的使用 8.尚硅谷-IDEA…

开发者的利器:Docker 理解与使用

困扰写代码的机器难免会被我们安装上各种各样的开发工具、语言运行环境和引用库等一大堆的东西&#xff0c;长久以来不仅机器乱七八糟&#xff0c;而且有些相同的软件还有可能会安装不同的版本&#xff0c;这样又会导致一个项目正常运行了&#xff0c;却不小心破坏了另一个项目…

php环境搭建sqlserver,ThinkPHP5.0/5.1对接SQLServer数据库(宝塔环境)

SQLServer实际上是mssql&#xff0c;想要使用thinkphp的Db对象操作数据库前必须要在服务器上安装对应的扩展。宝塔面板的PHP安装路径为/www/server/php/ 且支持多个PHP版本共存&#xff0c;所以安装PHP扩展的方法与网上那些示例略有不同。下面是 PHP7.2 安装 pdo_sqlsrv5.6.0 扩…

<c:set>标签

转载自 <c:set> 标签 JSP 标准标签库 <c:set>标签用于设置变量值和对象属性。 <c:set>标签就是<jsp:setProperty>行为标签的孪生兄弟。 这个标签之所以很有用呢&#xff0c;是因为它会计算表达式的值&#xff0c;然后使用计算结果来设置 JavaBean 对…

layUI 日期组件单独使用 并且放大

日期类型 选择 layuI 的date 类型单独使用 <!DOCTYPE html> <html> <head><meta charset"utf-8"><title>layDate快速使用</title><link rel"stylesheet" href"/layui/css/layui.css" media"all…

Opserver开源的服务器监控系统(ASP.NET)

Opserver是Stack Exchange下的一个开源监控系统,系统本身由C#语言开发的ASP.NET&#xff08;MVC&#xff09;应用程序&#xff0c;无需任何复杂的应用配置&#xff0c;入门很快。下载地址&#xff1a;https://github.com/opserver/Opserver。据说&#xff0c;国内腾讯公司内部也…

jsp页面中JSTL/EL标签引用java后台静态static字段的方法总结

转载自 jsp页面中JSTL/EL标签引用java后台静态static字段的方法总结为什么使用该功能&#xff1f;项目中的每个页面都包含产品名称、Logo、版本等信息&#xff0c;我希望修改一处&#xff0c;其它所有的全部跟着变。 有同学会说那就都引用一个页面“”就Ok了&#xff1b;但是…

c 管理信息系统mysql,输入数据并输出信息的系统都称为()。A、信息系统B、数据库系统C、事务处理系统D、管理信息系统...

关于葡萄糖重吸收的叙述&#xff0c;错误的是()。A.只有近球小管可以重吸收B.与Na&#xff0b;的重吸收相耦联C.是一种主肌力评定时错误的做法是A、应使患者配合B、患者应适当去除衣物C、应检查涉及的所有关节D、应增加协同当使用竹笆脚手板时&#xff0c;纵向水平杆与横向水平…

一位跨平台开发者的自白

Andreia Gaita[1] 在 OSCON 开源大会上发表了一个题为跨平台开发者的自白[2]的演讲。她长期从事于开源工作&#xff0c;并且为Mono[3] 工程&#xff08;LCTT 译注&#xff1a;一个致力于开创 .NET 在 Linux 上使用的开源工程&#xff09;做着贡献&#xff0c;主要以 C#/C 开发。…

JS (intermediate value).Format is not a function问题解决

JS (intermediate value).Format is not a function问题解决 前言 最近项目遇到一个问题&#xff0c;就是在javascript中使用new Date().Format("YYYY-mm-dd")的时候&#xff0c;会出现报错现象&#xff0c;直接导致界面无法正常显示。下面为大家解答一下。 问题详情…