chap04内置对象与属性范围

合集下载

JSP内置对象和作用范围

JSP内置对象和作用范围
.Throwable
仅在错误处理页面
getAttribute
setAttribute
out
javax.servlet.jsp.JspWriter
page(页面执行期)
config
javax.servlet.ServletConfig
page(页面执行期)
page
javax.servlet.jsp.HttpJspPage
page(页面执行期)
getAttribute
setAttribute
application
javax.servlet.ServletContext
application(整个web应用运行期)
application对象实现了所有用户间数据的共享,可存放全局变量。它开始于应用的启动,直到应用的关闭,在此期间,此对象将一直存在;在用户的前后连接或不同用户之间的连接中,可以对此对象的同一属性进行操作;在任何地方对此对象属性的操作,都将影响到其他用户对此的访问。服务器的启动和关闭决定application对象的生命。
表1内置对象说明
对象
类型
作用范围及描述
常用方法举例
request
javax.servlet.http.HttpServletRequest
request(用户请求期)
封装客户端的请求信息
getParameter
getParameterValues
getAttribute
setAttribute
response
javax.servlet.http.HttpServletResponse
page(页面执行期)
包含了响应客户请求的有关信息,但在JSP中很少直接用到它。

第4章JSP内置对象

第4章JSP内置对象
便播放音乐或视频文件。<embed>标记的基本格式为:
s
<embed src="音乐或视频文件的URL" >描述文字</embed >
如果音乐或视频文件和当前页面在同一Web服务目录中,<embed>标记中 src属性的值就是该文件的名字;如果视频文件在当前Web服务目录一个子 目录中,比如avi子目录中,那么<embed>标记中src属性的值就是“avi/视 频文件的名字”。
用户在请求JSP页面时,通常会使用HTML表单提交信息,表 单的一般格式是:
<FORM method=get|post action="提交信息的目的地页面"> 提交手段
</FORM>
P 例如用户提交信息表单:
<FORM action="tom.jsp" method=post > <INPUT type="text" name="boy" value="ok" > <INPUT TYPE="submit" value="送出" name="submit">
P <embed>标记中经常使用的属性及取值如下:
autostart 属 性 的 值 用 来 指 定 音 乐 或 视 频 文 件 传 送 完 毕 后 是 否 立 刻 播 放 , autostart取值 “true”或“false”,该属性的默认值是false。
loop属性的取值为正整数,该属性的值用来指定音乐或视频文件重复播放 的次数。
P
<FORM action="tom.jsp" method="post" >

JSP程序设计 第四章 内置对象汇总

JSP程序设计 第四章 内置对象汇总

济南大学信息科学与工程学院 制作人:乔善平
课程:JSP应用程序设计 e-mail:ise_qiaosp@
11/65
3. 基本概念
4 个主要的包 ng
javax.servlet
javax.servlet.http javax.servlet.jsp
济南大学信息科学与工程学院 制作人:乔善平
20/ 页面的 URL String url = request.getHeader(“referer”);
http://127.0.0.1:8084/ch04/index.jsp
济南大学信息科学与工程学院 制作人:乔善平
课程:JSP应用程序设计 e-mail:ise_qiaosp@
使用 session 识别用户
济南大学信息科学与工程学院 制作人:乔善平
课程:JSP应用程序设计 e-mail:ise_qiaosp@
28/65
4. 主要内容
session 对象的 ID 当一个用户首次访问 Web 服务目录中的某个 JSP 时,JSP 引擎为其产生一个 session 对象 该对象中含有一个 String 类型的 ID 号 JSP 引擎同时将这个 ID 号发送到用户端并存储 在 cookie 中 同一用户在不同服务目录中的 session 不同
教材:例 4-12
济南大学信息科学与工程学院 制作人:乔善平
课程:JSP应用程序设计 e-mail:ise_qiaosp@
25/65
4. 主要内容
重定向 sendRedirect(String location );
sendError(int sc);
sendError(int sc, String msg); response.sendRedirect(“error.jsp”); 教材:例 4-13

chap4_类与对象1

chap4_类与对象1
– #include "类名.h"
例:Circle类定义
/*类的声明circle.h class declaration, circle.h */ class Circle { private: double radius; public: double getArea(); double getPerimeter(); }; /*类的实现circle.cpp circle.cpp, class implementation */
例:定义圆类 (形式3)
声明与实现分离,但是 存放在同一个文件中
成员函数的定义形式为:
函数返回类型 类名::成员函数名(形参表) { 函数体; }
class Circle { private: double radius; public: double getArea(); double getPerimter(); };
(2) 在类内不允许对其数据成员进行初始化:因为类是一个数 据类型,定义后并没有存储空间,因此不能对数据成员进行 初始化(静态数据成员可在类外进行初始化)。 (3) 类中的数据成员的类型可以是任意的,包括整型、浮点型、 字符型、数组、指针和引用等,也可以是对象(即另一个类 的对象可以作为该类的成员,但不能是自身类的对象)。
封装
类封装(class encapsulation)
• 数据与函数封装在一起; • 数据成员封装(data field encapsulation).
– 类的使用者无需了解类是如何实现的,类实现的细 节被封装起来,对用户是隐藏的。
– 例:一个PC机由很多部件构成,如CPU,CD-ROM,主板等。 每个部件可看作一个对象,有自己的属性和功能。为了使这 些部件协同工作,我们所需要知道的全部信息就是这些部件 如何使用以及如何交互,而无需知道它们内部是如何工作的。 部件的内部实现是封装的,对我们来说是隐藏的。在不了解 部件如何实现的情况下也能组装出一台计算机。

内置对象的概念

内置对象的概念

内置对象的概念内置对象是指在编程语言中提供的一组已定义好的对象,可以直接使用而无需再进行额外的定义或实现。

这些内置对象具有常用的属性和方法,以便开发人员更加便捷地进行编程和开发。

在不同的编程语言中,内置对象的具体名称和功能可能会有所不同,但它们的作用是非常相似的。

内置对象的存在,为开发人员提供了许多常用功能的实现,大大简化了开发流程,提高了开发效率。

在JavaScript中,常见的内置对象包括全局对象、数学对象、数组对象、字符串对象、日期对象等。

全局对象包括全局变量和函数,如window、document 等。

数学对象提供了一系列数学计算相关的函数和常量,如Math.PI、Math.abs()等。

数组对象提供了对数组进行操作的方法和属性,如push()、pop()、length 等。

字符串对象则提供了对字符串的操作方法和属性,如indexOf()、substring()等。

日期对象则提供了对日期的操作和处理方法,如getFullYear()、getTime()等。

这些内置对象为开发人员提供了丰富的功能,可以用于完成各种复杂的编程任务。

比如,在JavaScript中,我们可以使用内置对象Math来进行常用的数学计算。

例如,要计算一个数的绝对值,可以调用Math对象的abs()方法。

除此之外,Math对象还提供了许多其他常用的数学计算方法,如对数、三角函数等等。

通过利用这些内置对象,开发人员可以更加方便地进行数学计算,避免了自己手动编写复杂的数学计算代码。

另一个例子是数组对象,在JavaScript中,数组对象提供了一组用于操作和处理数组的方法和属性。

通过这些方法和属性,开发人员可以很方便地对数组进行添加、删除、修改等操作。

比如,可以使用数组对象的push()方法向数组中添加一个元素,使用pop()方法删除数组的最后一个元素。

通过使用这些方法,开发人员可以轻松地处理数组,并且无需再编写繁琐的数组操作代码。

第六讲内置对象

第六讲内置对象
• 预览后,显示的信息为:
缓冲区总容量=8192 缓冲区空闭容量=8175 缓冲区是否自动刷新=true
3.3 request隐含对象
• 3.3.1 用request读取客户端传递来的参数 • 客户端传递给服务器的参数最常见的是表单 数据或附在URL中的参数,其中URL中的参 数是指URL“?”后面的参数,称之为查询 串 (query string) 参 数 , 例 如 http://localhost/exam.jsp?name=tomcat 中的“name=tomcat”。
3.1 JSP页面中的九个隐含对象
3.1 JSP页面中的九个隐含对象
• 2、四种属性范围 • 提示:四种属性范围现在只能了解其概念,而具体的应用, 要结合后面的开发模式才能有所了解。 • 所谓的属性范围就是一个属性设置之后,可以经过多少个 其他页面后仍然可以访间的保存范围。 • 四种属性范围分别指的是以下四种: • 当前页:一个属性只能在一个页面中取得,跳转到其他 页面无法取得。 • 一次服务器请求范围:一个页面中设置的属性,只要经 过了服务器跳转,则跳转之后的页面可以继续的。 • 一次会话:一个用户设置的内容,只要是与此用户相关 的页面都可以访问。 • 上下文中:在整个服务器上设置的属性,所有人都可以 访间。· .2.1.
<%
out.print("缓冲区总容量="+out.getBufferSize()+"<br>"); out.print("缓冲区空闭容量="+out.getRemaining()+"<br>"); out.print("缓冲区是否自动刷新="+out.isAutoFlush()); %>

jsp page指令 九个内置对象 四种属性范围 两种跳转的区别

jsp page指令九个内置对象四种属性范围两种跳转的区别@include和jsp:in... jsp中的page指令语法规则:<@%page attribute1=”value1” attribute2=”value2”…………%>,page 指令以<%@page开始,以%>结束。

page常用指令表:属性定义language=”ScriptLanguage”指定JSP Container用什么语言来编译,目前只支持JAVA语言。

默认为JAVAextends=”className”定义此JSP网页产生的Servlet是继承哪个import=”importList”定义此JSP网页要使用哪些Java APIsession=”true|false”决定此页面是否使用session对象。

默认为truebuffer=”none|size in kb”决定输出流(Input stream)是否又缓冲区。

默认为8kbautoFlush=”true|false”决定输出流的缓冲区慢了后是否需要自动清除,缓冲区慢了后会产生异常错误(Exception).默认为trueisThreadSafe=”true|false”是否支持线程。

默认为trueerrorPage=”url”如果此页发生异常,网页会重新指向一个url isErrorPage=”true|false”表示此页面是否为错误处理页面。

默认为false contentType=”text/html;charset=gb2312”表示MIME类型和JSP的编码方式。

笔者使用例左pageEncoding=”ISO-8859-1”编码方式。

(笔者已经加入使用的编码)isELLgnored=”true|false”表示是否在此JSP页面中EL表达式。

true则忽略,反之false则支持。

默认为falsepage指令是针对当前页面的指令,常用的page指令有8个:1.<>设置jsp中用到的语言,用到的是java,也是目前唯一有效的设定2.<>设置目前jsp要继承的父类,一般不需要设置,在默认情况下,jsp页面默认的父类是HttpJspBase。

Asp程序设计第4章 内置对象

user_name=Request.Cookies("user_name").Value
(2)有关键字的用法
user_name=Request.Cookies("user")("name") age=Request.Cookies("user")("age")
(3)判断Cookies是否包含关键字
语法如下:
Request.BinaryRead(字节大小)
说明:其中字节大小是用TotalBytes属性获得 的响应数据的字节大小。
4.4 Response对象
在第3章中讲过利用Label标签控件向客户端 输出信息。其实,也可以利用Response对象 向客户端输出信息。而且,Response对象还 有一些特殊功能,如重定向等。
Session("user_name")= "萌萌" Session.Abandon Response.Write(Session("user_name")) 说明: 先将前两句复制到一个文件中执行,然后再将第3句复制
到另一个文件中执行。
4.7 Application对象
Session对象可以记载特定客户的信息,与此 相反的是,Application对象可以记载所有客 户信息。
简而言之,不同的客户必须访问不同的 Session对象,但可以访问公共的Application 对象。
它的最典型的应用是聊天室。
4.7.1 Application对象简介
由System.Web.HttpApplication类实现 方法:
Lock (锁定Application 对象) Unlock (解除锁定)

面向对象分析与设计 侯爱民 chapter04

限定符的作用就是在给定关联一端的一个对 象和限定符值以后,可以确定另一端的一个对 象或对象集
4.2.1 关联
例:使用限定符的例子:
(bank, account) 0 or 1 person person many (bank, account) 图5.8没有说明 Person类和Bank类 之间是1对多的关系, 还是1对1的关系。
例:一些属性声明的例子:
size: Area = (100,100) theArea; /** * @roseuid 3DAFBF0F01A2 */ public B() { } }
4.1.1 类的属性
图5.2
图5.3
例:单向关联所生成的Java代码:(可以选择 是否生成类的缺省构造方法)
public class A { public B theB; /** * @roseuid 3DAFBF0F01FC */ public A() { }
public class B {
/** * @roseuid 3DAFBF0F01A2 */ public B() {
4.1 类的定义
类是什么: 可从4个角度来看类。 从建模的角度: 1、类将特征(属性)定义为数据变量。 2、类将服务(行为)定义为操作(包括接 口与实现)。 3、类将规则和策略定义为应用的约束。 4、类定义了对象间的关系(对等或层次); 也可有泛化/特化关系。
4.1 类的定义
类是什么: 可从4个角度来看类。 从设计的角度: 1、类是一种特殊类型的对象。 2、类是它所创建(实例化)的所有对象的 集合。 3、类用来创建并销毁属于它的集合的对象。 4、类可以为这个对象集合保存数据并提供 服务。
4.2.1 关联

第4章-JSP内置对象

String userName = request.getParameter("name");
前一页
休息
南京理工大学计算机学院
19
第4章 JSP内置对象
request对象----[1]访问请求对象
例4-1 访问请求参数示例

index.jsp <html> <head><title>用户登录</title></head> <body> <form id="form1" name="form1" method="post" action="login_deal.jsp"> 用户名: <input name="username" type="text" id="username"><br> 密&nbsp;&nbsp;码: <input name="pwd" type="text" id="pwd"><br> <input type="submit" name="Submit" value="提交"> <input type="reset" name="Reset" value="重臵"> </form> </body> </html> login_deal.jsp <%@ page contentType="text/html;charset=gb2312"%> <% request.setCharacterEncoding("gb2312"); String username=request.getParameter("username"); String pwd=request.getParameter("pwd"); out.println("用户名为:"+username); out.println("密码为:"+pwd); %>
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

内置对象与属性范围
•认识9个内置对象•四个属性范围
–page范围
–request范围
–session范围
–application范围
•在之前的例子中,我们使用了
request.getParameter()方法来接收表单提交过来的参数,那么request实际上就是一个对象。

•在Java中如果要使用一个对象,需要先通过构造方法实例化,但是在使用request对象的时候,并不需要直接使用构造方法实例化就可以直接调用,所以这样的对象在JSP中称为内置对象。

No.内置对象类型
1pageContext javax.servlet.jsp.PageContext
2request javax.servlet.http.HttpServletRequest 3response javax.servlet.http.HttpServletResponse 4session javax.servlet.http.HttpSession
5application javax.servlet.ServletContext
6config javax.servlet.ServletConfig
7out javax.servlet.jsp.JspWriter
8page ng.Object
9exception ng.Throwable
•认识9个内置对象•四个属性范围
–page范围
–request范围
–session范围
–application范围
•属性范围就是一个属性设置之后,可以经过多少个其他页面仍然可以访问的保存范围。

•四个属性范围:
–当前页:一个属性只能在一个页面中取得,跳转到其他页面无法取得
–一次服务器请求范围:一个页面中设置的属性,只要经过了服务器的跳转,则跳转之后的页面可以继续访问
•四个属性范围:
–一次会话:一个用户设置的内容,只要是与此用户相关的页面都可以访问
–上下文中:在整个服务器上设置的属性,所有人都可以访问
•四个属性范围现在只能了解其概念,而具体应用,要结合后面的开发模式才能有所了解。

•JSP既然提供了四种属性范围,则这四种属性都将包含以下的属性操作方法:
No.方法描述
1public void setAttribute(String name,Object value)设置属性2public Object getAttribute(String name)取得属性3public void removeAttribute(String name)删除属性
•认识9个内置对象•四个属性范围
–page范围
–request范围
–session范围
–application范围
•page属性范围相对容易理解:
–在一个页面设置的属性,跳转到其他页面就失效了。

•在使用page属性范围的时候必须注意的是,虽然
习惯上将页面范围的属性称为page范围,但是实际上操作的时候是使用pageContext内置对象完成的。

•pageContext从字面上定义:一个页面的上下文,可以表示一个页面中的所有内容。

•pageContext的属性操作流程如下图所示:
在本页中确实可以取得设置的pageContext范围属性。

下面使用跳转语句,观察跳转之后是否还可以取得属性。

PageScopeDemo02.jsp
只是设置了2个属性
PageScopeDemo03.jsp
跳转到此页面后,再从page范围中取得属性。

•此时,使用了服务器端跳转,但是发现内容无法取得,证明page范围的属性只能在本页中取得
•如果希望跳转到其他页面后依然可以取得,则可以扩大属性范围,使用
request属性范围即可。

•认识9个内置对象•四个属性范围
–page范围
–request范围
–session范围
–application范围
•request属性范围表示在一次服务器跳转中有效,只要是服务器跳转,request设置的属性就可以一致传递下去。

跳转
跳转
超链接
超链接跳转后,地址栏就会改变,因此这种跳转也称为客户端跳转。

经过两次跳转,属性值依然可以取得
但是采用了超链接的方式,属性
是无法向下传递的。

•认识9个内置对象•四个属性范围
–page范围
–request范围
–session范围
–application范围
•session范围:只要设置的属性不管如何跳转,都是可以取得的。

当然:session只针对一个用户。

服务器跳转客户端跳转SessionScopeDemo01.jsp
SessionScopeDemo02.jsp
SessionScopeDemo03.jsp
从客户端跳转到SessionScopeDemo03.jsp ,观察运行效果。

如果此时新开一个浏览器,则肯定无法取得。

Session 只是保留了一个人的信息,如果一个属性想让所有的用户都可以访问,则可以使用最后一种属性范围:application 范围。

•认识9个内置对象•四个属性范围
–page范围
–request范围
–session范围
–application范围
•application属性范围是在服务器上设置的一个属性,所以一旦设置之后,任何用户都可以浏览到此属性。

客户端跳转
•application属性范围设置在服务器中,因此任何用户都可以浏览到此属性。

•不过,服务器一旦关闭,此属性就会消失。

•如果在服务器上设置过多的application属性,则会影响到服务器的性能。

相关文档
最新文档