中国高校课件下载中心 》 教学资源 》 大学文库

内蒙古科技大学:《JSP编程》课程教学资源(授课教案)第三章 JSP内置对象

文档信息
资源类别:文库
文档格式:DOC
文档页数:10
文件大小:136KB
团购合买:点击进入团购
内容简介
内蒙古科技大学:《JSP编程》课程教学资源(授课教案)第三章 JSP内置对象
刷新页面文档预览

内蒙古科技大学 教案 第三章JSP内置对象 有些成员变量不用声明就可以在JSP页面的脚本(Java程序片和Java表达式 中使用,这就是所谓的内置对象。 二、内置对象有:resquest、response、session、application、out。 §3.1 request对象 一、内置对象 equest对象是实现了ServletRequest接口类的一个实例 (一)request对象获取客户提交的信息 1.表单的组成对象:输入字段、提交按钮、处理程序 - 2.表单的几个重要属性: aciton:表示按下提交钮之后,指定Sever端处理这个输入表单的程序。 method:表示表单数据传送到Server的方式,其设置值有get和post两种, ype:表单类型 name:表单 3.get与poa的区别 (I)gt方式以显式提交表单,可以在URL(地址栏)看见我们传的参数:pot方 式是隐式传值,不可见 或据量较,不能大于2KB。P0传送的数据量较大,一 (3)gt安全性非常低,post安全性较高 (4)get执行效率却比Post方法好。 4.读取数据的方法 ()获取客户提交的信息最常用的方法是; (2)reques 二、request对象处 汉字信息 g到 (一)当用r©quest对象获取客户提交的汉字字符时,会出现乱码问题,所以对含有汉 字字符的信息必须进行特殊的处理。 (二)首先,将获取的字符串用S0-88591进行编码,并将编码存放到一个字节数组 中,然后再将这个数组转化成字符串对象。 String te Content=requestgetParameter("boy) byte b[]=textContent.getBytes("ISO-8859-1"). textContent=new String(b): 三、request对象常用方法举例 (一)getProtocol():获取请求使用的通信协议,如http/L.1等。 (仁)getServletPath():获取请求的JSP页面所在的目录。 (三)geiContentLength():获取HTTP请求的长度。 (四)getMethod():获取表单提交信息的方式,如POST或GET。 第1页

内 蒙 古 科 技 大 学 教 案 第 1 页 第三章 JSP 内置对象 一、有些成员变量不用声明就可以在 JSP 页面的脚本(Java 程序片和 Java 表达式) 中使用,这就是所谓的内置对象。 二、内置对象有:resquest、response、session、application、out。 §3.1 request 对象 一、内置对象 request 对象是实现了 ServletRequest 接口类的一个实例. (一) request 对象获取客户提交的信息 1. 表单的组成对象:输入字段、提交按钮、处理程序 . 2. 表单的几个重要属性: aciton:表示按下提交钮之后,指定 Sever 端处理这个输入表单的程序。 method:表示表单数据传送到 Server 的方式,其设置值有 get 和 post 两种。 type:表单类型 name:表单名称 3. get 与 post 的区别 (1)get 方式以显式提交表单,可以在 URL(地址栏)看见我们传的参数;post 方 式是隐式传值,不可见 (2)get 传送的数据量较小,不能大于 2KB。post 传送的数据量较大,一般被默认为 不受限制 (3)get 安全性非常低,post 安全性较高。 (4)get 执行效率却比 Post 方法好。 4. 读取数据的方法 (1)获取客户提交的信息最常用的方法是: (2)request.getParameter(String s) 二、request 对象处理汉字信息 (一) 当用 request 对象获取客户提交的汉字字符时,会出现乱码问题,所以对含有汉 字字符的信息必须进行特殊的处理。 (二) 首先,将获取的字符串用 ISO-8859-1 进行编码,并将编码存放到一个字节数组 中,然后再将这个数组转化成字符串对象。 String textContent=request.getParameter("boy"); byte b[]=textContent.getBytes("ISO-8859-1"); textContent=new String(b); 三、request 对象常用方法举例 (一) getProtocol():获取请求使用的通信协议,如 http/1.1 等。 (二)getServletPath():获取请求的 JSP 页面所在的目录。 (三)getContentLength():获取 HTTP 请求的长度。 (四)getMethod():获取表单提交信息的方式,如 POST 或 GET

内蒙古科技大学 教 案 (五)getRemoteAddr():获取客户的IP地址。 (六)getRemoteHost(:获取客户机的名称(如果获取不到,就获取P地址)。 :获取服务器的名称 (八)getServerPort(O:获取服务器的端口号 (九)getParameter0):返回包含指定参数的单独值的字符串 四、request对象用户注册 (一)散列表:使用相关关键字查找被存储的数据项的一种数据结构。关键字不可以发 生逻辑冲突。散列表在他需要更多存储空间时会自动增大容量。HashTable通常称为哈 希表,它表示健(key)值(value)对的集合 l.HashTable的构造函数:HashTable(0/初始化为0个元素的空实例:Hash Table(32)W 初始化为32个元素的新实例。 例子:HashTable myHash Tablel=new hash Tabler: Hash Table myHashTablel =new HashTable(5). 2,插入相应的键和值组成的元素 myHashTable.put(1."H"); myHashTable put(2 "e") myHashTable.put("int".5) myHashTable ut“double"3g 相应的健和值维成 元素 myHash Table["int]=3 myHashTablef"double"]=1.5: 4.输出相应的键和值组成的元素 Console writeline(myHashTablel11) Console.WriteLine(myHashTable[2]) Console.WriteLine(myHashTable["int). Console.WriteLine(myHashTable["double"): 5.删除操作: HashTable Clearo 刚除所有元素,不带任何参数,清空后Hash Table的元素个 数为0。 示例:myHashTable.Clear(( HashTable.Remove(∥除指定"键"所在的元素。 其定义如下: public virtual void Remove(Obiect kev) 示例:myHashTable.Remove("int"方 6.Hashtable的查询 Hashtable.Contains /判断HashTable中是否包含指定"键 Hashtable.ContainsKey 判断Hash'Table中是否包含指定“键” Hashtable.ContainsValue∥判断HashTable中是否包含指定值。 示例: myHashTable.Contains(1) myHashTable.ContainsKey(6) myHashTable.ContainsValue(3.9) 第2页

内 蒙 古 科 技 大 学 教 案 第 2 页 (五)getRemoteAddr():获取客户的 IP 地址。 (六)getRemoteHost():获取客户机的名称(如果获取不到,就获取 IP 地址)。 (七)getServerName():获取服务器的名称。 (八)getServerPort():获取服务器的端口号。 (九)getParameter ()::返回包含指定参数的单独值的字符串 四、request 对象用户注册 (一)散列表:使用相关关键字查找被存储的数据项的一种数据结构。关键字不可以发 生逻辑冲突。散列表在他需要更多存储空间时会自动增大容量。HashTable 通常称为哈 希表,它表示键(key)/值(value)对的集合。 1.HashTable 的构造函数:HashTable() //初始化为 0 个元素的空实例:HashTable(32) // 初始化为 32 个元素的新实例。 例子: HashTable myHashTable1 = new HashTable(); HashTable myHashTable1 = new HashTable(5); 2.插入相应的键和值组成的元素 myHashTable. put(1,"H"); myHashTable. put(2,"e"); myHashTable. put(“int”,5); myHashTable. put(“double”,3.9); 3.修改相应的键和值组成的元素 myHashTable["int"] = 23; myHashTable["double"] = 1.5; 4.输出相应的键和值组成的元素 Console.WriteLine(myHashTable[1]); Console.WriteLine(myHashTable[2]); Console.WriteLine(myHashTable[“int”]); Console.WriteLine(myHashTable[“double”]); 5.删除操作: HashTable.Clear() //删除所有元素,不带任何参数,清空后 HashTable 的元素个 数为 0。 示例:myHashTable.Clear() HashTable.Remove() //删除指定“键”所在的元素。 其定义如下: public virtual void Remove(Object key) 示例:myHashTable.Remove("int"); 6.Hashtable 的查询 Hashtable.Contains //判断 HashTable 中是否包含指定“键”。 Hashtable.ContainsKey //判断 HashTable 中是否包含指定“键”。 Hashtable.ContainsValue //判断 HashTable 中是否包含指定值。 示例: myHashTable.Contains(1) myHashTable.ContainsKey(6) myHashTable.ContainsValue(3.9);

内蒙古科技大学 教 案 8.Hash Table表的优点 HashTable中的key/value均为object类型,所以HashTable可以支持任何类型的 key/value键/值对 HashTable的优点就在于其索引的方式,速度非常快。 (二)散列表和数组的区别: 1.哈希表是通过元素ky直接查找元素存储位置的数据结构:数组是通过下标可以 直接访问到下标对应位置上元素的数据结构: 对应的元素上去:。但是由于散射函数的作用 3.哈希表:优点:直接访问到ky对应的元素: 缺点:占用空间很大: 数组: 优点:结构紧漆: 缺点:不能直接访问到关键码值所对应的元素 五、request对象获取HTML表单提交的数据 表单的一般格式: ■例:radio.jsp answer.jsp ■例:select.isD sum.jsp §3.2 response对象 一、r心sponse对象对客户的请求做出响应,向客户端发送数据 (一)由于page指令只能为contentType属性指定一个值来决定响应的MME类 型,如果想动态的改变这个属性的值来响应客户,就要使用response对象的 setContentType(Strings)方法来改变contentType的属性值 (二)该方法动态设置响应的MME类型, 般MIME 类型可以取text/htm application/msword (三)response重定向 可以使用response对象的sendRedirect(URLurl)方法实现客户的重定向。 二、request和re rqut是客户端向服务端发出请求,在服务端可以获得客户端提交过来的参数 r©p0c用于动态响应客户端请求,并将动态生成的响应结果返回到客户端测览 §3.3 session对象 、伸用会话记录连接的有关信息 二、客户打开浏览馨连接服务馨的某个服务目录,到客户关闭浏览器离开服务器称 个会话。对一个页面的请求称为一个TCPP连接;一个会话包含多个连接。 三、服务器通过如下办法知道这是同一个客户.-session(会活)对象。 (一)session对象的id 1.当一个客户首次访问服务目录中的一个JSP页面时,JSP引擎产生一个session 对象,这个对象调用相应的方法可以存储客户在访问各个页面期间提交的各种信息 Session对象被分配 个String类型的id号,JSP引擎将该id号发送给 户端,存放有 客户的cookies中,这样,session对象就和客户端建立起一一对应的关系。 第3页

内 蒙 古 科 技 大 学 教 案 第 3 页 8.HashTable 表的优点 HashTable 中的 key/value 均为 object 类型,所以 HashTable 可以支持任何类型的 key/value 键/值对。 HashTable 的优点就在于其索引的方式,速度非常快。 (二)散列表和数组的区别: 1.哈希表是通过元素 key 直接查找元素存储位置的数据结构;数组是通过下标可以 直接访问到下标对应位置上元素的数据结构; 2.哈希表可以直接访问到元素 key 对应的元素上去;。但是由于散射函数的作用, 元素不能占满整个哈希表,哈希表不是每一个位置都有元素的; 3.哈希表:优点:直接访问到 key 对应的元素; 缺点:占用空间很大; 数组: 优点:结构紧凑; 缺点:不能直接访问到关键码值所对应的元素; 五、request 对象获取 HTML 表单提交的数据 表单的一般格式: ◼ 例:radio.jsp answer.jsp ◼ 例:select.jsp sum.jsp §3.2 response 对象 一、response 对象对客户的请求做出响应,向客户端发送数据 (一) 由于 page 指令只能为 contentType 属性指定一个值来决定响应的 MIME 类 型,如果想动态的改变这个属性的值来响应客户,就要使用 response 对象的 setContentType(String s)方法来改变 contentType 的属性值。 (二) 该方法动态设置响应的 MIME 类型,一般 MIME 类型可以取 text/html; application/msword 等. (三)response 重定向 可以使用 response 对象的 sendRedirect(URL url)方法实现客户的重定向。 二、request 和 response 区别: request 是客户端向服务端发出请求,在服务端可以获得客户端提交过来的参数 response 用于动态响应客户端请求,并将动态生成的响应结果返回到客户端浏览器 中 §3.3 session 对象 一、使用会话记录连接的有关信息。 二、客户打开浏览器连接服务器的某个服务目录,到客户关闭浏览器离开服务器称作 一个会话。对一个页面的请求称为一个 TCP/IP 连接;一个会话包含多个连接。 三、服务器通过如下办法知道这是同一个客户-session(会话)对象。 (一)session 对象的 id 1.当一个客户首次访问服务目录中的一个 JSP 页面时,JSP 引擎产生一个 session 对象,这个对象调用相应的方法可以存储客户在访问各个页面期间提交的各种信息。 Session 对象被分配一个 String 类型的 id 号,JSP 引擎将该 id 号发送给客户端,存放在 客户的 cookies 中,这样,session 对象就和客户端建立起一一对应的关系

内蒙古科技大学 教 案 Cookies就是服务器暂存放在你的电脑里的资料(.wt格式的文本文件),好让服务 器用来辨认你的计算机。cookies右什么作用呢? (山现在上许多网站都用新用户注册这一项,有时注册了一下,等到下次再访问该 站点时,会自动识别到你 (2)网站可以利用cookies跟踪统计用户访问该网站的习惯,比如什么时间访问, 访问了哪些页面,在每个网页的停留时间等 (3)生存周期 C0oke可以保持登录信息到用户下次与服务器的会话,换句话说,下次访问 同一网站时, 会发现不必输入用户名和密码就已经登录了。 Cookie在生成时就会被指定一个Expire值,这就是Cookie的生存周期,在运 个周期内Cookie有效,超出周期Cookie就会被清除。有些页面将Cookie的生存 周期设置为0"或负值,这样在关闭浏览器时,就马上清除Cookie,不会记录用广 信息,加安全 ()④使用和禁用Cookie 用户可以改变汹览墨的设置,以使用或者禁里Cookies。 (5)微软Internet Explorer 工具>Internet选项>隐私页,调节滑块或者点击“高级”,进行设置 2直到攻户关闭浏览器或这个邓s0n对象达到最大生存时间,服务婴岩该客户的 对象被取消,和客户的会话对应关系消失。 ·当客户重新打开测览器再连接到该服务目录时,服务器为该客户再创建一个新 的session对象. ·同一个客户在不同的服务目录中的s心ssion是互不相同的。 二)ession对象与URL重写 1 session对象 ()Session对象是否与客户建立起 一一对应的关系依赖于客户的浏览器是否支持 Cookie。如果客户端不支持Cookie,.那么客户在不同的网页之间的session对象可能是 互不相同的。 (2)可以通过URL重写来实现session对象的唯一性 2URL重写 当客户 一个页面重新连接到另一个页面,通过向这个新的UL添加参数,把 sion对象的id传带过去,这样就可以保障客户在该网站各个页面中的session对象 是完全相同的。 使用response对象调用encodeURL()或encodeRedirectURL()方法实现URL重写。 (三)session对象的常用方法 e(s ing Key.Object obj session对象类似于散列表,可以调用该方法将参数Object指定的对象o添加到 ession对象中,并为其添加的对象指定了一个索引关键字Ky如果添加的两个对象的 关键字相同,则先前添加的对象被清除 object是JAVA类中的超类~任何JAVA类都是object类的子类,所以当object 作为参数传值时,你可以用任意类型作为参数传进去。 2.public Object getAttribute(String y 获取session对象中含有的关键字是Ky的对象由于任何对象都可以添加到 第4页

内 蒙 古 科 技 大 学 教 案 第 4 页 Cookies 就是服务器暂存放在你的电脑里的资料(.txt 格式的文本文件),好让服务 器用来辨认你的计算机。cookies 有什么作用呢? (1)现在上许多网站都用新用户注册这一项,有时注册了一下,等到下次再访问该 站点时,会自动识别到你; (2)网站可以利用 cookies 跟踪统计用户访问该网站的习惯,比如什么时间访问, 访问了哪些页面,在每个网页的停留时间等 (3)生存周期 Cookie 可以保持登录信息到用户下次与服务器的会话,换句话说,下次访问 同一网站时,用户会发现不必输入用户名和密码就已经登录了。 Cookie 在生成时就会被指定一个 Expire 值,这就是 Cookie 的生存周期,在这 个周期内 Cookie 有效,超出周期 Cookie 就会被清除。有些页面将 Cookie 的生存 周期设置为“0”或负值,这样在关闭浏览器时,就马上清除 Cookie,不会记录用户 信息,更加安全。 (4)使用和禁用 Cookie 用户可以改变浏览器的设置,以使用或者禁用 Cookies。 (5)微软 Internet Explorer 工具 > Internet 选项 > 隐私页 ,调节滑块或者点击“高级”,进行设置. 2.直到客户关闭浏览器或这个 session 对象达到最大生存时间,服务器端该客户的 session 对象被取消,和客户的会话对应关系消失。 ·当客户重新打开浏览器再连接到该服务目录时,服务器为该客户再创建一个新 的 session 对象。 ·同一个客户在不同的服务目录中的 session 是互不相同的。 (二)session 对象与 URL 重写 1.session 对象 (1)Session 对象是否与客户建立起一一对应的关系依赖于客户的浏览器是否支持 Cookie。如果客户端不支持 Cookie,那么客户在不同的网页之间的 session 对象可能是 互不相同的。 (2)可以通过 URL 重写来实现 session 对象的唯一性。 2.URL 重写 (1) 当客户从一个页面重新连接到另一个页面,通过向这个新的 URL 添加参数,把 session 对象的 id 传带过去,这样就可以保障客户在该网站各个页面中的 session 对象 是完全相同的。 使用 response 对象调用 encodeURL()或 encodeRedirectURL()方法实现 URL 重写。 (三)session 对象的常用方法 1.public void setAttribute(String Key,Object obj) session 对象类似于散列表,可以调用该方法将参数 Object 指定的对象 obj 添加到 session 对象中 ,并为其添加的对象指定了一个索引关键字 Key.如果添加的两个对象的 关键字相同,则先前添加的对象被清除. object 是 JAVA 类中的超类~任何 JAVA 类都是 object 类的子类,所以当 object 作为参数传值时,你可以用任意类型作为参数传进去。 2. public Object getAttribute(String Key) 获取 session 对象中含有的关键字是 Key 的对象.由于任何对象都可以添加到

内蒙古科技大学 教 案 sess1on对象中,因此,该方法取回对象时,应进行强制类型转换 3.public Enumeratio Atc个牧举对象该枚举对象使用pextElement方法宠' 0对象调用该方法产生 历session对象所含有的全部对象 4.public long getCreationTime() sss1on对象调用该方法要以获取对象创建的时间,单位是毫秒从1970年7月 日午夜起至该对象创建时刻所走过的毫秒数) 5.p ong getLastA 6.public int getMaxInactivelnterval() 得到允许session对象处于非活动状态的最长时间, 7 public vodi n) 设置允许sCs1On对象处于非活动状态的最长时间(单位是秒) 8.publicvoid removeAuribute(String Key) 从当前session对象中刚除关健字是key的对象。 9.public String getld() 获取ession对象的编号 10.invalidate() 使得session对象无效 (四)计数器 1.使用session对象设计计数器时,可以禁止客户通过刷新页面增加计数。 2.当客户刷新页面时,可以使用session对象的public boolean isNew()方法判断是否 是同一个客户。因为客户刷新页面不会改变服务器分配给该客户的session对象。 §3.40ut对象 0t对象是一个输出流,用来向客户端输出数据 一、out对象的数据输出方法 (一(boolean),out.printin(booean)用于输出一个布尔值。 out.printin(char) ()outprint(double),out.printin(double) 铃出一个双精度的浮点数。 (out print(float),out println(float 用于输出一个单精度的浮点数。 out.printin(long) (六)out.print(String) (out.println(String) 输出一个字符串对象的内容 (九)out.flush(0 第5页

内 蒙 古 科 技 大 学 教 案 第 5 页 session 对象中,因此, 该方法取回对象时,应进行强制类型转换. 3 .public Enumeration getAttributeName() session对象调用该方法产生一个枚举对象.该枚举对象使用nextElement()方法遍 历 session 对象 所含有的全部对象. 4.public long getCreationTime() session 对象调用该方法要以获取对象创建的时间.单位是毫秒(从 1970 年 7 月 1 日午夜起至该对象创建时刻所走过的毫秒数). 5. public long getLastAccessedTime() 获取当前 session 对象最后一次被操作的时间. 6.public int getMaxInactiveInterval() 得到允许 session 对象处于非活动状态的最长时间. 7. public vodi setMaxInactiveInterval(int n) 设置允许 session 对象处于非活动状态的最长时间.(单位是秒) 8.public void removeAttribute(String Key) 从当前 session 对象中删除关键字是 key 的对象. 9. public String getId() 获取 session 对象的编号. 10.invalidate() 使得 session 对象无效. (四)计数器 1.使用 session 对象设计计数器时,可以禁止客户通过刷新页面增加计数。 2.当客户刷新页面时,可以使用 session 对象的 public boolean isNew()方法判断是否 是同一个客户。因为客户刷新页面不会改变服务器分配给该客户的 session 对象。 §3.4 out 对象 out 对象是一个输出流,用来向客户端输出数据 一、 out 对象的数据输出方法 (一)out.print(boolean),out.println(boolean)用于输出一个布尔值。 (二)out.print(char),out.println(char) 输出一个字符。 (三)out.print(double),out.println(double) 输出一个双精度的浮点数。 (四)out.print(float),out.println(float) 用于输出一个单精度的浮点数。 (五)out.print(long),out.println(long) 输出一个长整型数据。 (六)out.print(String), (七)out.println(String) 输出一个宇符串对象的内容。 (八)out.newLine() 输出一个换行符。 (九)out.flush()

内蒙古科技大学 教 案 输出缓冲区里的内容。 (out.close() 关闭流。 §3.4 application对象 一、application对象的作用范围比session更大,不仅仅是在同一个窗口,而是作用于 整个应用程序,所有的客户端窗口都可以共享该对象。他从服务器启动开始就存在, 直到服务关闭为止服务器启动后,就产生了这个 对象。当 一个安户访 服务目录上的 页面时, JSP引为该客户分配这个application对象 当客片 在所访问的服务目录的各个页面之间浏览时,这个application对象都是同一个,直到 服务器关闭,这个application对象才被取消。所有客户的application对象是相同的。 (一application对象的常用方法 调用方法将参数O key Obiect value t指定的对象value添加到apli 对象中,并为添加的对象指定了一个索引关键字,如果添加的两个对象的关键字相同 则先前添加对象被清除。 2.void getAttribute(String key) p收o对象含有的关健字是koy的对象.由于任何对象都可以添加到 对象中,因此用该方法取回对象时,应强制转化为原来的类型。 public Enumeration getAttributeName( application对象调用该方法产生一个妆举对象.该枚举对象使用nextElement()方法 遍历application对象所含有的全部对象 public yoid removeattribute(String kev) 从当前appl n对象中删除关键字是k©y的对象 的 applicatio 的客户都是相同的,任何客户对该对象的操作都会影响到 他客户,所以,在某些情况下,对该对象的操作需要实现同步处理。 有些服务器不支持application对象,必须先用ServletContext类声明这个变量再使用 getServletContext()方法对这个application对象进行初始化。 (二)用application制作留言板 利用」 ation对象对所有客户有效的特性,可以将用户提交的留言添加到ic 对象的向量中,然后历该向量显示存储的信总。 1.向量 (I)使用Vector类负责创建一个向量对象。 ■(2)add(Objecto)把任何对象添加到向量的末尾: ■(3)add(nt index Object )把 个对象添加到向量的指定位置 (4)elementAt〔(int index)获取指定索引处的向量的元素 ■(⑤)sizc()获取向量所含有的元素的个数。 2.向量和数组 ()向量的元素类型不要求一致,但是,当从向量中取出一个元素时,必须使用强制 类型转化将其转化成原来的类型。 ②)发组里只能存放指定类型的数据 向量可以存储对象: 第6页

内 蒙 古 科 技 大 学 教 案 第 6 页 输出缓冲区里的内容。 (十)out.close() 关闭流。 §3.4 application 对象 一、application 对象的作用范围比 session 更大,不仅仅是在同一个窗口,而是作用于 整个应用程序,所有的客户端窗口都可以共享该对象。他从服务器启动开始就存在, 直到服务器关闭为止服务器启动后,就产生了这个 application 对象。当一个客户访问 服务目录上的一个 JSP 页面时,JSP 引擎为该客户分配这个 application 对象,当客户 在所访问的服务目录的各个页面之间浏览时,这个 application 对象都是同一个,直到 服务器关闭,这个 application 对象才被取消。所有客户的 application 对象是相同的。 (一)application 对象的常用方法 1.void setAttribute(String key Object value) application 对象可以调用该方法将参数 Object 指定的对象 value 添加到 application 对象中,并为添加的对象指定了一个索引关键字,如果添加的两个对象的关键字相同, 则先前添加对象被清除。 2.void getAttribute(String key) 获取 application 对象含有的关键字是 key 的对象。由于任何对象都可以添加到 application 对象中,因此用该方法取回对象时,应强制转化为原来的类型。 ·public Enumeration getAttributeName() application 对象调用该方法产生一个枚举对象.该枚举对象使用 nextElement()方法 遍历 application 对象 所含有的全部对象. · public void removeAttribute(String Key) 从当前 application 对象中删除关键字是 key 的对象. 由于 application 对象对所有的客户都是相同的,任何客户对该对象的操作都会影响到 其他客户,所以,在某些情况下,对该对象的操作需要实现同步处理。 有些服务器不支持 application 对象,必须先用 ServletContext 类声明这个变量再使用 getServletContext()方法对这个 application 对象进行初始化。 (二)用 application 制作留言板 利用 application 对象对所有客户有效的特性,可以将用户提交的留言添加到 application 对象的向量中,然后遍历该向量显示存储的信息。 1.向量 ◼ (1)使用 Vector 类负责创建一个向量对象。 ◼ (2)add(Object o)把任何对象添加到向量的末尾; ◼ (3)add(int index,Object o)把一个对象添加到向量的指定位置; ◼ (4)elementAt(int index)获取指定索引处的向量的元素; ◼ (5)size()获取向量所含有的元素的个数。 2.向量和数组 (1)向量的元素类型不要求一致,但是,当从向量中取出一个元素时,必须使用强制 类型转化将其转化成原来的类型。 (2)数组里只能存放指定类型的数据; 向量可以存储对象;

内蒙古科技大学 教 案 (3)数组不能自动调整大小: 向量是个动态数组,元素多时会自动增加容量 以服务器将用户的请求封装在内置对象心c中,该对象调用相应的方 Tome 三、客户使用TML表单向服务器的某个JSP页面提交信息。 §2.2变量和方法的声明 在” ”标记符号之间声明变量和方法 (一)变量的声明 1.在””标记符号之间放置Java的变量声明语句。 2.变量的类型可以是Java语言允许的任何数据类型。 3.这些变量称为JSP页面的成员变量 %1 int x.y=100.z String tom="study JSP" Date date: %3 4.之间声明的变量在整个JSP页面都有效 5.因为J5P引擎 换sP页面成Jav 文件时,将这些变量作为类的成员变量 这些变量的内存空间直到服务器关闭才被释放 6.所以所有请求该页面的线程共享JSP页面的成员变量,任何客户对该成员变 量的操作结果都影响其它客户。 (一)方法的声明 之间声明方法,该方法在整个JS即页面有效,但是该方法内定义 的变量只在该方法内有效 2.这些方法在Ja程序片中调用。当方法被调用时,方法中的变量被分配内存 调用完毕释放所占的内存。 3当多个家户请求一个JS卫页面时,可以使用方法损作成员变量, 4%:和9%>之间声明方法, 该方法在整个JSP页面有效,但是该方法内定义 的变量只在该方法内有效 5.这些方法在Java程序片中调用。当方法被调用时,方法中的变量被分配内存, 调用完毕释放所占的内存。 6.当多个客户请求一个JSP页面时,可以使用方法操作成员变量。 §2.3java程序片 一、之间插入Java程序片。一个页面的多个程序片将按顺序执行。 二、局部变量的性质:在SP页面的所有程序片及表达式中有效:不同客户的局部变 量互不影响。 §2.4java表达式 能求值。表达式的值由服务器计算,并之间插入一个表达式。这个表 达式必须将结果以字符串形式发送到客户端显示。 第7页

内 蒙 古 科 技 大 学 教 案 第 7 页 (3)数组不能自动调整大小; 向量是个动态数组,元素多时会自动增加容量。 二、Tomcat 服务器将用户的请求封装在内置对象 request 中,该对象调用相应的方法 可以获取封装的信息 . 三、客户使用 HTML 表单向服务器的某个 JSP 页面提交信息。 §2.2 变量和方法的声明 一、在” ”标记符号 之间声明变量和方法。 (一)变量的声明 1.在””标记符号之间放置 Java 的变量声明语句。 2.变量的类型可以是 Java 语言允许的任何数据类型。 3.这些变量称为 JSP 页面的成员变量 4.之间声明的变量在整个 JSP 页面都有效。 5. 因为 JSP 引擎转换 JSP 页面成 Java 文件时,将这些变量作为类的成员变量, 这些变量的内存空间直到服务器关闭才被释放。 6. 所以所有请求该页面的线程共享 JSP 页面的成员变量,任何客户对该成员变 量的操作结果都影响其它客户。 (二)方法的声明 1. 之间声明方法,该方法在整个 JSP 页面有效,但是该方法内定义 的变量只在该方法内有效。 2. 这些方法在 Java 程序片中调用。当方法被调用时,方法中的变量被分配内存, 调用完毕释放所占的内存。 3. 当多个客户请求一个 JSP 页面时,可以使用方法操作成员变量。 4. 之间声明方法,该方法在整个 JSP 页面有效,但是该方法内定义 的变量只在该方法内有效。 5. 这些方法在 Java 程序片中调用。当方法被调用时,方法中的变量被分配内存, 调用完毕释放所占的内存。 6. 当多个客户请求一个 JSP 页面时,可以使用方法操作成员变量。 §2.3 java 程序片 一、之间插入 Java 程序片。一个页面的多个程序片将按顺序执行。 二、局部变量的性质:在 JSP 页面的所有程序片及表达式中有效;不同客户的局部变 量互不影响。 §2.4 java 表达式 一、能求值。表达式的值由服务器计算,并之间插入一个表达式。这个表 达式必须将结果以字符串形式发送到客户端显示

内蒙古科技大学 教 案 §2.5JSP中的注释 二、 HTML注释格式 注释内容 二、JSP注释格式: §2.6JSP指令标记 一、page指令标签 (一)pag©指令用来定义整个JSP页面的一些属性和这些属性的值,属性值 用单引号或双引号括起来。可以用一个ag©指令指定多个属性的值,也可以使用 多个page指令分别为每个属性指定值】 (三)例如 或 %@page 属性2=属性2的值”%> %@page 属性n="属性n的值”% (四)page指令标记可以指定如下属性的值: contentType,import、language、session、buffer、autoFlush、.isThreadSafe~.pageEncoding ype属性值确定JSP页面响应的MME(Mt )类型(wb浏览器指定应用程序响应接受的服务器米的程序)和SP页面 字符的编码。 (2)例如: (3)contentType的默i认值是text/htmlcharset=ISO-8859.1” (④)不允许两次使用page指令给contentType属性指定不同的属性值, 性 ()定义JSP页面使用的脚本语言,该属性的值目前只能取“java” (2)为language属性指定值的格式: %page language="java"%> 3.import属性 ()该属性的作用是为JSP页面引入Java运行环境提供的包中的类,这样就可 在SP页面的程序片部分、变量及函数声明部分、表达式部分使用包中的类。 (2)例如: 4.session属性 (1)设置是否需要使用内置的session对象。 (2)session属性的值可以是true和false )默认的属性值是e, 5.buffer属性 第8页

内 蒙 古 科 技 大 学 教 案 第 8 页 §2.5 JSP 中的注释 一、 HTML 注释格式: 二、 JSP 注释格式: §2.6 JSP 指令标记 一、page 指令标签。 (一) page 指令用来定义整个 JSP 页面的一些属性和这些属性的值,属性值 用单引号或双引号括起来。可以用一个 page 指令指定多个属性的值 ,也可以使用 多个 page 指令分别为每个属性指定值 . (二) page 指令的作用对整个 JSP 页面有效,与其书写的位置无关,习惯把 page 指令 写在 JSP 页面的最前面。 (三) 例如: 或 . . (四) page 指令标记可以指定如下属性的值: contentType、import、language、session、buffer、autoFlush 、isThreadSafe、pageEncoding 1. contentType 属性 (1) contentType 属性值确定 JSP 页面响应的 MIME(Multipurpose Internet Mail Extention)类型(web 浏览器指定应用程序响应接受的服务器来的程序)和 JSP 页面 字符的编码。 (2) 例如: (3) contentType 的默认值是“text/html;charset=ISO-8859-1” (4) 不允许两次使用 page 指令给 contentType 属性指定不同的属性值。 2. language 属性 (1) 定义 JSP 页面使用的脚本语言,该属性的值目前只能取“java”。 (2)为 language 属性指定值的格式: 3. import 属性 (1) 该属性的作用是为 JSP 页面引入 Java 运行环境提供的包中的类,这样就可以 在 JSP 页面的程序片部分、变量及函数声明部分、表达式部分使用包中的类。 (2)例如: 4. session 属性 (1) 设置是否需要使用内置的 session 对象。 (2) session 属性的值可以是 true 和 false。 (3) 默认的属性值是 true。 5.buffer 属性

内蒙古科技大学 教 案 (1)指定内置输出流对象Ou设置的缓冲区的大小或不使用缓冲区。 (2)buffer属性可以取值none,设置out不使用缓冲区。buffer属性的默认值是8kt (3)例: (四)当该标记与 动作标记一起使用时, 可将 param标记中的值传递到 include动作标记要加载的文件中去,被加载的JSP文件可以使用Tomeat服务器提供的 request内置对象获取include动作标记的param子标记中name属性所提供的值.。 第9页

内 蒙 古 科 技 大 学 教 案 第 9 页 (1) 指定内置输出流对象 out 设置的缓冲区的大小或不使用缓冲区。 (2) buffer 属性可以取值 none,设置 out 不使用缓冲区。buffer 属性的默认值是 8kb。 (3) 例: 6. autoFlush 属性 (1) 指定 out 的缓冲区被填满时,缓冲区是否自动刷新。 autoFlush 属性可以取值 true 或 false。 (2) autoFlush 属性的默认值是 true。 (3) 当 autoFlush 属性取值 false 时,如果 out 的缓冲区被填满,就会出现缓存溢出 异常。 (4) 当 buffer 的值是 none 时, autoFlush 属性值不能设置为 false。 7. isThreadSafe 属性 (1) 用来设置 JSP 页面是否可多线程访问。 (2) isThreadSafe 属性的属性值取 true 或 false。当 isThreadSafe 属性值设置为 true 时,JSP 页面能同时响应多个客户的请求,当 isThreadSafe 属性值设置为 false 时,JSP 页面能同一时刻只能处理响应一个客户的请求,其它客户须排队等待。 (3) isThreadSafe 属性的默认值是 true。 二、include 指令标签 (一) 可以在 JSP 页面某处整体嵌入一个文件。 (二)如果该文件和当前 JSP 页面在同一 Web 服务目录中,那么“文件的 URL”就 是文件的名字;如果该文件在 JSP 页面所在的 Web 服务目录的一个子目录中,比如 fileDir 子目录中,那么“文件的 URL”就是“fileDir/文件的名字”。 (三)静态插入,就是当前 JSP 页面和插入的文件合并成一个新的 JSP 页面,然后 JSP 引擎再将这个新的 JSP 页面转译成 Java 文件。 §2.7 JSP 动作标签 动作标签是一种特殊的标签,他影响 JSP 运行时的功能。 一、include 动作标签。 (一)该标签使 JSP 页面动态包含一个文件。JSP 页面运行时才将文件加入。 (二)JSP 服务引擎将当前 JSP 页面转译成 Java 类文件时,不把动作指令 include 所 包含的文件和原 JSP 页面合并成一个新的 JSP 页面,而是告诉 Java 解释器,当文件在 JSP 运行时才被包含进来。 Include 动作标签和 include 指令标签的区别 1.动作标签执行时对包含的文件处理,指令标签在转译前处理。 2.动作标签所包含的文件在逻辑和语法上独立。指令标签不独立。 二、param 动作标签。 (一) 以“名字-值”对的形式为其它标签提供附加信息. (二) param 标记不能独立使用,需作为 jsp:include、jsp:forward 标记的子标记来使用。 (三) 格式: (四) 当该标记与 jsp:include 动作标记一起使用时,可以将 param 标记中的值传递到 include 动作标记要加载的文件中去,被加载的 JSP 文件可以使用 Tomcat 服务器提供的 request 内置对象获取 include 动作标记的 param 子标记中 name 属性所提供的值

内蒙古科技大学 教 案 三、forward动作标签。 当该标记与jp:include动作标记一起使用时,可以将param标记中的值传递到 include动作标记要加载的文件中去,被加较的JSP文件可以使用 Dmc服务器提供的 request内置对象获取include动作标记的param子标i记中name属性所提供的值 和区别: l.<jsp:forward从一个JSP文件传递request信总到另外一个JSP文件 jsp:forward后面的部分将不会被执行。 可以使用心将包含的文件放在JSP中和他一起执行.可以使用仰pm心传 递参数。 四、useBean动作标签。 (一)该标记用来创建并使用一个Javabcan,是非常重要的一个动作标记 (二Sun公司的倡导是:用HTML完成JSP页面的静态部分,用Javabean完成动态 部分,实现真正意义上的静态和动态分离。 第10页

内 蒙 古 科 技 大 学 教 案 第 10 页 三、forward 动作标签。 当该标记与 jsp:include 动作标记一起使用时,可以将 param 标记中的值传递到 include 动作标记要加载的文件中去,被加载的 JSP 文件可以使用 Tomcat 服务器提供的 request 内置对象获取 include 动作标记的 param 子标记中 name 属性所提供的值. 和区别: 1.从一个 JSP 文件传递 request 信息到另外一个 JSP 文件, 后面的部分将不会被执行。 可以使用 传递参数。 2.将包含的文件放在 JSP 中和他一起执行。可以使用 传 递参数。 四、useBean 动作标签。 (一)该标记用来创建并使用一个 Javabean,是非常重要的一个动作标记. (二)Sun 公司的倡导是:用 HTML 完成 JSP 页面的静态部分,用 Javabean 完成动态 部分,实现真正意义上的静态和动态分离

已到末页,全文结束
刷新页面下载完整文档
VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
相关文档