JSP九大内置对象,七大动作,三大指令

JSP之九大内置对象

隐藏对象入门探索

Servlet 和JSP中输出数据都需要使用out对象。Servlet 中的out对象是通过getWriter()方法获取的。而JSP中没有定义out对象却可以直接使用。这是因为out是JSO的内置隐藏对象。JSP中的常见的9个内置隐藏对象如下
这里写图片描述

out输出流对象

  隐藏对象out是javax.servlet.jsp.JspWriter类的实例服务器向客户输出的字符内容可以通过out对象输出。获取方法: PrintWriter out = response.getWriter();out对象常用的方法如下:
1   void clear()   清除缓冲区的内容
2   void clearBuffer()   清除缓冲区的当前内容
3   void flush()   将缓冲内容flush到客户端浏览器
4   int getBufferSize()   返回缓冲大小,单位KB
5   int getRemaining()   返回缓冲剩余大小,单位KB
6   isAutoFlush()   返回缓冲区满时,是自动清空还是抛出异常
7   void close()    关闭输出流

request请求对象

  隐藏对象request是javax.servlet.ServletRequest类的实例,代表客户端的请求。request包含客户端的信息以及请求的信息,如请求那个文件,附带的地址参数等。每次客户端的请求都会产生一个request实例。request对象的常用方法如
1   object getAttribute(String name)   返回指定属性的属性值
2   Enumeration getAttributeNames()    返回所有可用属性名的枚举
3  String getCharacterEncoding()   返回字符编码方式
4   int getContentLength()   返回请求体的长度(以字节数)
5   String getContentType()   得到请求体的MIME类型
6   ServletInputStream getInputStream()   得到请求体中一行的二进制流
7   String getParameter(String name)   返回name指定参数的参数值
8   Enumeration getParameterNames()   返回可用参数名的枚举
9   String[] getparameterValues(String name)    返回包含参数name的所有值的数组
10   String getProtocol()   返回请求用的协议类型及版本号
11   String getScheme()   返回请求用的计划名,如:http https及ftp等
12   int getServerPort()   返回服务器接受此请求所用的端口号
13   String getServerName()    返回接受请求的服务器主机名
14   BufferedReader getReader()    返回解码过了的请求体
15   String getRemoteAddr()    返回发送此请求的客户端IP地址
16   String getRemoteHost()   返回发送此请求的客户端主机名
17   void setAttribute(String key Object obj)   设置属性的属性值
18   String getRealPath(String path)   返回一虚拟路径的真实路径
19   void setCharacterEncoding(“gb2312”)   设置接受参数的字符集

response响应对象

  隐藏对象response是javax.servlet.ServletResponse类的实例,代表客户端的响应。服务器端的任何输出都通过response对象发送到客户端浏览器。每次服务器端都会响应一个response实例。response对象的常用方法如下:
1   String getCharacterEncoding()    返回响应用的是何种字符编码
2   ServletOutputStream getOutputStream()   返回响应的一个二进制输出流
3   PrintWriter getWriter()   返回可以向客户端输出字符的一个对象
4    void setContentLength(int len)   设置响应头长度
5   void setContentType(String type)   设置响应的MIME类型
6   sendRedirect(java.lang.String location)   重新定向客户端的请求
7   void setCharacterEncoding(“gb2312”)   设置响应头的字符集

config配置对象

  隐藏对象config是javax.servlet.ServletConfig类的实例,ServletConfig封装了配置在web.xml中初始化JSP的参数。JSP中通过config获取这些参数。每个JSP文件中共有一个config对象。config对象的常用方法如表:
1  String getInitParameter(String name)  返回配置在web.xml中初始化参数
2  Enumeration getInitParameterNames()   返回所有的初始化参数名称
3  ServletContext getServletContext()  返回ServletContext对象
4  String getServletName  返回Servlet对象

session会话对象

  隐藏对象session是javax.servlet.http.HttpSession类的实例。session与cookie是记录客户访问信息的两种机制,session是用于服务器端保存用户信息,cookie用于在客户端保存用户信息。Servlet中通过request.getSession()来获取session对象,而JSP中可以直接使用。如果JSP中配置了<%@page session=”false”%>,则隐藏对象session不可用。每个用户对应一个session对象。session对象的常用方法如下:
1   long getCreationTime()   返回Session创建时间
2   public String getId()   返回Session创建时JSP引擎为它设的唯一ID号
3   long getLastAccessedTime()   返回此Session里客户端最近一次请求时间
4   int getMaxInactiveInterval()   返回两次请求间隔多长时间此Session被取消(ms)
5   String[] getValueNames()   返回一个包含此Session中所有可用属性的数组
6   void invalidate()  取消Session,使Session不可用
7   boolean isNew()   返回服务器创建的一个Session,客户端是否已经加入
8   void removeValue(String name)   删除Session中指定的属性
9   void setAttribute(String key,Object obj)   设置Session的属性
10, Object getAttribute(String name)   返回session中属性名为name的对象

application应用程序对象

  隐藏对象application是javax.servlet.ServletContext类的对象。application封装JSP所在Web应用程序的信息,例如web.xml中国配置的全局的初始化信息。Servlet中application对象需要通过ServletConfig.getServletContext()来获取。整个Web应用程序对应一个application对象。application对象常用的方法如下:
1,  Object getAttribute(String name)  返回application中属性为name的对象
2,  Enumeration getAttributeNames()   返回application中的所有属性名
3,  void setAttribute(String name,Object value)  设置application属性
4,  void removeAttribute(String name)   移除application属性
5,  String getInitParameter(String name)  返回全局初始话函数
6,  Enumeration getInitParameterNames()  返回所有的全局初始话参数
7,  String getMimeType(String filename)  返回文件的文档类型,例如getMimeType(“abc.html”)将返回“text.html”
8,  String getRealPath(String relativePath)  返回Web应用程序内相对网址对应的绝对路径

page页面对象

  隐藏对象page是javax.servlet.jsp.HttpJspPage类的实例。page对象代表当前JSP页面,是当前JSP编译后的Servlet类的对象。page想当于Java类中的关键字this

pageContext页面上下文对象

  隐藏对象pageContext为javax.servlet.jsp.PageContext类的实例。pageContext对象代表当前JSP页面编译后的内容。通过pageContext能够获取到JSP中的资源。pageContext常用方法如下:
1    JspWriter getOut()   返回out对象
2    HttpSession getSession()    返回Session对象(session)
3    Object getPage()   返回page对象
4    ServletRequest getRequest()    返回request对象
5    ServletResponse getResponse()    返回response对象

6    void setAttribute(String name,Object attribute)    设置属性及属性值 ,在page范围内有效
7    void setAttribute(String name,Object obj,int scope)   在指定范围内设置属性及属性值 ,int1=page,2=request,3=session,4=application
8   public Object getAttribute(String name)   取属性的值
9   Object getAttribute(String name,int scope)   在指定范围内取属性的值
10   public Object findAttribute(String name)   寻找一属性,返回起属性值或NULL
11   void removeAttribute(String name)   删除某属性
12   void removeAttribute(String name,int scope)    在指定范围删除某属性
13   int getAttributeScope(String name)   返回某属性的作用范围
14  Enumeration getAttributeNamesInScope(int scope)   返回指定范围内可用的属性名枚举
15   void release()   释放pageContext所占用的资源
16  void forward(String relativeUrlPath)    使当前页面重导到另一页面
17   void include(String relativeUrlPath)    在当前位置包含另一文件

Eexception异常对象

  隐藏对象exception为java.lang.Exception类的对象。exception封装了JSP中抛出的异常信息。要使用exception隐藏对象,需要设置<%@page isErrorPage”true”%>。隐藏对象exception通常被用来处理错误页面,
  

JSP之三大指令

page指令

实例:<%@ page language=”java” import=”java.util.*” pageEncoding=”UTF-8”%>
import:等同与import语句
<%@ page import=”java.util.*” %>
<%@ page import=”java.util., java.net.” %>
在一个JSP页面中可以给出多个page指令,而且import是可以重复出现的
<%@ page import=”java.util.*” %>
<%@ page import=”java.next.*” %>

pageEncoding:指定当前页面的编码
如果pageEncoding没有指定,那么默认为contentType的值;
如果pageEncoding和contentType都没有指定,那么默认值为iso-8859-1

contentType:等同与调用response.setContentType(“text/html;charset=xxx”);
如果没有指定contentType属性,那么默认为pageEncoding的值;
如果contentType和pageEncoding都没有指定,那么默认值为iso-8859-1

errorPage:如果当前页面出现异常,那么跳转到errorPage指定的jsp页面。
例如:<%@ page errorPage=”b.jsp” %>
isErrorPage:上面示例中指定b.jsp为错误页面,但在b.jsp中不能使用内置对象exception,保有b.jsp中使用<%@page isErrorPage=”true”%>时,才能在b.jsp中使用错误页面。
autoFlush:当autoFlush为true时,表示out流缓冲区满时会自动刷新。默认为true
buffer:指定out流的缓冲区大小,默认为8KB
isELIgnored:当前JSP页面是否忽略EL表达式,默认为false,表示不忽略,即支持EL表达式

page指令不常用的属性:
language:当前JSP编译后的语言!默认为java,当前也只能选择java
info:当前JSP的说明信息
isThreadSafe:当前JSP是否执行只能单线程访问,默认为false,表示支持并发访问
session:当前页面是否可以使用session,默认为false,表示支持session的使用。
extends:指定JSP编译的servlet的父类!
Page指令相关的属性

include指令

JSP可以通过include指令来包含其他文件。被包含的文件可以是JSP文件、HTML文件或文本文件。包含的文件就好像是该JSP文件的一部分,会被同时编译执行。
Include指令的语法格式如下:
<%@ include file=”文件相对 url 地址” %>

taglib指令

taglib指令是用来在当前jsp页面中导入第三方的标签库
<%@ taglib uri=”http://java.sun.com/jsp/jstl/core” % prefix=”c” >
prefix:指定标签前缀,这个东西可以随意起名
uri:指定第三方标签库的uri(唯一标识)
当然,需要先把第三方标签库所需jar包放到类路径中。

JSP之七大动作

jsp:include:在页面被请求的时候引入一个文件。
jsp:useBean:寻找或者实例化一个 JavaBean。
jsp:setProperty:设置 JavaBean 的属性。
jsp:getProperty:输出某个 JavaBean 的属性。
jsp:forward:把请求转到一个新的页面。
jsp:plugin:根据浏览器类型为 Java 插件生成 OBJECT 或 EMBED 标记
详细查看:JSP 动作元素 | 菜鸟教程 .

转载于:https://www.cnblogs.com/snailclimb/p/9086515.html

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

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

相关文章

matlab变步长的梯形公式,用变步长梯形法计算积分∫sinx/x*x的近似值(二分二次即可)...

共回答了20个问题采纳率&#xff1a;90%题目没写全吧?现假定积分区间为[0,1],教材《数值分析》(华中科技大学出版)第87页,例题4.2就有详细的解答.貌似题目也有错?确定分母是【x^2】?现在附上该例题(分母是x)的全部解答过程&#xff1a;先对整个区间[0,1]使用梯形公式.对于函…

使用Cloud SQL的Google App Engine全文搜索

许多Google AppEngine开发人员一直在等待全文搜索功能&#xff0c;特别是来自网络上最大的搜索引擎Google。 很高兴看到Google团队正在努力&#xff0c;您可以在Google I / O 2011大会上签到&#xff1a; Bo Majewski和Ged Ellis进行的全文本搜索 。 据我所知&#xff0c;非常有…

php 数组值sum,php sum数组值(如果特定列的值重复)

我有一个阵列。我要检查是否有重复的费用,如果有,我要用相同的费用列汇总所有值。[12] > Array([type] > Other Miscellaneous Fees[fee] > 158[amount] > -22.56[code] > COL_AUDIO[feedesc] > COLLEGE AUDIO VISUAL FEE)[13] > Array([type] > Other…

hdu-5734 Acperience(数学)

题目链接&#xff1a; Acperience Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Problem DescriptionDeep neural networks (DNN) have shown significant improvements in several application domains including computer vision and…

Ninject依赖注入(一)

Ninject学习笔记&#xff08;一&#xff09; Ninject学习笔记&#xff08;一&#xff09;理解依赖注入DI概念什么是DI&#xff1f;DI是如何工作的&#xff1f;什么是DI容器使用Ninject如何使用NinjectNinject对象生命周期暂时范围单例范围线程范围请求范围自定义范围Ninject模块…

我如何向团队解释依赖注入

最近&#xff0c;我们公司开始开发基于Java的新Web应用程序&#xff0c;经过一些评估过程&#xff0c;我们决定使用Spring。 但是许多团队成员并不了解Spring和Dependency Injection的原理。 因此&#xff0c;我被要求给出一个速成班&#xff0c;介绍什么是Spring上的依赖注入和…

可以添加自定义的Select控件

1.控件dom <select name"WebSiteTarget" id"WebSiteTarget" class"w1" onchange"editable2(this);"><option value"-1">请选择城市</option><option>福州</option><option>厦门</op…

innodb_io_capacity =innodb_lru_scan_depth*inoodb_buffer_pool_instances。与 checkpoint

innodb_lru_scan_depth:每个缓冲池刷脏页的能力 innodb_io_capacity: iops inoodb_buffer_pool_instances8 :缓冲池的个数 .关系&#xff1a; innodb_io_capacity > innodb_lru_scan_depth * inoodb_buffer_pool_instances 转载于:https://www.cnblogs.com/zengkefu/…

Java中的责任链模式

当应有几个处理器来执行某项操作并为这些处理器定义特定顺序时&#xff0c;就需要采用责任链设计模式。 在运行时处理器顺序的可变性也很重要。模式的UML表示如下&#xff1a; 处理程序定义处理器对象的一般结构。 这里的“ HandleRequest”是抽象处理器方法。 处理程序还具有自…

php的excel源码下载,PHPExcel-5 - 源码下载|Windows编程|其他小程序|源代码 - 源码中国...

文件名大小更新时间PHPExcel02019-05-11PHPExcel\.gitattributes702019-01-02PHPExcel\.gitignore1082019-01-02PHPExcel\.travis.yml5122019-01-02PHPExcel\16329.xlsx510662019-05-11PHPExcel\19093.xlsx511932019-05-11PHPExcel\43877.xlsx530952019-05-11PHPExcel\62045.xl…

使用Visual Studio Code开发Asp.Net Core WebApi学习笔记(六)-- 依赖注入

本篇将介绍Asp.Net Core中一个非常重要的特性&#xff1a;依赖注入&#xff0c;并展示其简单用法。 第一部分、概念介绍 Dependency Injection&#xff1a;又称依赖注入&#xff0c;简称DI。在以前的开发方式中&#xff0c;层与层之间、类与类之间都是通过new一个对方的实例进行…

基于JAX-WS的webService开发实例

最近因为工作原因接触到webService&#xff0c;所以记录下开发中碰到的问题&#xff0c;方便自己以后复习&#xff0c;顺便发扬一下开源精神。刚刚接触webServie如果有什么错误欢迎大家指正。 本地环境&#xff1a;myEclipse10.6 tomcat7 JDK7 jaxws-ri-2.2.10 第一步&#xff…

完整的WebApplication JSF EJB JPA JAAS –第2部分

视图–创建和JSF设置 本教程是第1部分的继续。 让我们创建一个新的Dynamic Web Project 。 如下图所示创建它&#xff1a; 注意&#xff1a;在某些时候&#xff0c;Eclipse会询问您是否要添加JSF功能&#xff08;自动完成&#xff09;&#xff0c;然后启用它。 就像下面的屏幕…

lempel ziv matlab,基于Python的LempelZiv算法的熵估计

此函数允许估计时间序列的熵。它基于Lempel-Ziv压缩算法。对于长度为n的时间序列&#xff0c;熵估计为&#xff1a;E(1/n和L_i)^-1 ln(n)式中&#xff0c;L逯i是从位置i开始的最短子串的长度&#xff0c;该子串之前没有从位置1出现到i-1。当n接近无穷大时&#xff0c;估计的熵收…

Android使用绘图Path总结

Path作为Android中一种相对复杂的绘图方式&#xff0c;官方文档中的有些解释并不是很好理解&#xff0c;这里作一个相对全面一些的总结&#xff0c;供日后查看&#xff0c;也分享给大家&#xff0c;共同进步。 1.基本绘图方法 addArc(RectF oval, float startAngle, float swee…

2017.3.23下午

下午通过对OSPF基本原理进一步的学习&#xff0c;对上午学习的内容进行了复习。 转载于:https://www.cnblogs.com/bgd140206206/p/6606192.html

编写Eclipse插件教程–第1部分

Eclipse是三个最受欢迎的Java开发IDE之一。 其成功的原因之一是其可扩展性。 对于任何知道该怎么做并且已经做到的人来说&#xff0c;编写eclipse插件都可以非常轻松快捷。 不幸的是&#xff0c;第一次在Eclipse中进行操作可能会非常耗时且令人沮丧。 Eclipse框架非常庞大&…

简单Window下 Android Studio的安装

&#xff08;1&#xff09;首先安装JDK 下载JDK 本人觉得官方网站下JDK比较慢&#xff0c;可以直接百度JDK&#xff0c;&#xff08;如果是64位 百度搜索记得64位&#xff09; 类似于这样的下载 安装可以看下教程&#xff0c;包括环境变量的配置 如何安装JDK &#xff08;2&…

日期处理一之NSLalendar的使用

一、日期和时间模式 日期和时间格式由日期和时间模式字符串组成&#xff0c;在日期和时间模式字符串中未加引号的A到‘Z’和a到‘z’被解释为模式字母&#xff0c;用来表示日期或时间。字符串元素&#xff0c;文本可以使用单引号&#xff08;‘’&#xff09;引起来使用。定义以…

java的使用Pair要导入什么包,第三方jar包的使用

被导入的外部类所在源文件通常要打包成jar包&#xff0c;java中的jar文件装的是 .class 文件。它是一种压缩格式和zip兼容&#xff0c;被称为jar包。JDK提供的许多类&#xff0c;也是以jar包的形式提供的。在用的时候呢&#xff0c;你的文件里有很多个类&#xff0c;把这些类和…