1 JSP 内置对象 返回. 2 3.1 request request 对象的类型是一个执行 javax.servlet.http.HttpServletRequest 界面的 类。当客户端请求一个 JSP 网页时,客户端的请求信息将被 JSP 引擎封装在 这个 request 对象中。那么该对象调用相应的方法可以获取用户提交的信息。

Slides:



Advertisements
Similar presentations
Power point 制作 耿祥义 张跃平 配合 例子源代码一起使用. 第 4 章 内 置 对 象 有些成员变量不用声明就可以在 JSP 页 面的脚本( Java 程序片和 Java 表达式) 中使用,这就是所谓的内置对象。 内置对象有: resquest 、 response 、 session.
Advertisements

第 4 章 配合 例子源代码一起使用 Power point 制作:耿祥义 张跃平 普通高等教育 “ 十一五 ” 国家级规划教材 JSP 内置对象.
第 4 章 JSP 内置对象 本章主要内容:  内置对象的概念  内置对象的作用域和生命期  内置对象的作用和关系  内置对象的使用方法.
网络应用程序设计 2014 JavaBean. JavaBean 及其属性 JavaBean 就是一种 Java 的组件技术 JavaBean 是 Java 类 JavaBean 通过约定的方法名实现属性功能 简单属性 void setXxx(Type value) Type getXxx() boolean.
第五章 jsp 内置对象 1. request 对象 在 jsp 中,内置对象 request 封装了用户提交的信息, 那么该对象调用相应的方法可以获取封装的信息, 即使用该对象可以获取用户提交的信息。 客户一般使用 html 表单向服务器的某个 jsp 页面提 交信息,表单的一个格式 提交手段.
第 2 章 JSP 应用基础(三).  page 对象、 config 对象、 out 对象  response 对象  request 对象  session 对象  application 对象  pageContext 、 exception 对象 教学目标 :
7.1 内置对象概述及分类 JSP 视频教学课程. JSP2.2 目录 1. 内置对象简介 1. 内置对象简介 2. 内置对象分类 2. 内置对象分类 3. 内置对象按功能区分 3. 内置对象按功能区分 4. 内置对象作用范围 4. 内置对象作用范围.
第4章第4章 第4章第4章 JSP 内置对象. 本课教学内容  认识 JSP 内置对象  out 对象  request 对象  response 对象  Cookie 操作  利用 session 开发购物车  session 其他 API  application 对象.
第五章 JSP 的内置对象 西南科技大学网络教育系列课程 动态网页设计( JSP ). 动态网页设计( JSP ) 内置对象概述 特点 request :得到客户端的信息。 (HttpServletRequest) session :保存单个用户访问时的一些信息。
Java Web 开发 授课人:张鸽. 第三讲 JSP 内置对象  JSP 有以下九种内置对象,包括:  ·request ,请求对象  ·response ,响应对象  ·pageContext ,页面上下文对象  ·session ,会话对象  ·application ,应用程序对象.
动态页面设计 长沙民政职业技术学院 ☆ WEB 应用开发精品课程. 案例导入 项目 结合 JDBC 技术和 JSP 技术,实现考生登录验证 任务 用户登陆页面与后台验证实现 。 技术要点 ( 关键字 ) 1.JSP 标签和动作应用。 2.JSP 的内置对象 request , response 3.JSP.
第五章 JSP内置对象 第4章学习了页面组成元素和使用方法。本章学习JSP内置对象的使用。使用JSP内置对象,可以方便操作页面,访问页面环境,实现页面内、页面间、页面与环境之间的通讯。 学习目标 熟悉主要内置对象的概念 理解主要内置对象的作用域和生命期 理解主要内置对象的作用和关系 熟悉主要内置对象的使用方法.
7.5 其他对象 JSP 视频教学课程.
基于JSP搭建Web应用程序.
温故而知新! 2017年3月4日.
2017/3/6 V1 实习指导管理系统.
张孝祥IT课堂 -深入体验Java Web开发内幕
C++中的声音处理 在传统Turbo C环境中,如果想用C语言控制电脑发声,可以用Sound函数。在VC6.6环境中如果想控制电脑发声则采用Beep函数。原型为: Beep(频率,持续时间) , 单位毫秒 暂停程序执行使用Sleep函数 Sleep(持续时间), 单位毫秒 引用这两个函数时,必须包含头文件
在PHP和MYSQL中实现完美的中文显示
第九章 字符串.
移动开发的灵便迭代之道 黄凯.
Hello World 體驗實作第一個JSP程式.
专题4:JSP脚本和指令.
武汉纺织大学传媒学院 cm.wtu.edu.cn
第二讲 搭建Java Web开发环境 主讲人:孙娜
第八章 菜单设计 §8.1 Visual FoxPro 系统菜单 §8.2 为自己的程序添加菜单 §8.3 创建快捷菜单.
管理信息结构SMI.
SQL Injection.
走进编程 程序的顺序结构(二).
辅导课程六.
第11章:一些著名开源软件介绍 第12章:服务安装和配置 本章教学目标: 了解当前一些应用最广泛的开源软件项目 搭建一个网站服务器
PostgreSQL 8.3 安装要点 四川大学计算机学院 段 磊
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
Windows网络操作系统管理 ——Windows Server 2008 R2.
Hub Web System 主要功能: 1.查询库存(Query Current Storage) 2.创建PL(Create PL) 3.查询、打印PL单(Query & Print PL) 4.查询允交量、在途量 5.修改用户的基本信息(Update Password) 6.查询GR(Query.
以ISI平台为例,为您演示一下如何在Endnote文献中查看该文献的References
供应商登录CJLR SRM系统入口 CJLR供应商仅可以在互联网上访问SRM系统,无法在CJLR内网登录SRM系统.
用event class 从input的root文件中,由DmpDataBuffer::ReadObject读取数据的问题
任务1-3 使用Dreamweaver创建ASP网页
SOA – Experiment 2: Query Classification Web Service
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
简单介绍 用C++实现简单的模板数据结构 ArrayList(数组, 类似std::vector)
JSP程序设计 第9章 Servlet简介.
第四章 团队音乐会序幕: 团队协作平台的快速创建
计算机网络与网页制作 Chapter 07:Dreamweaver CS5入门
<编程达人入门课程> 本节内容 内存的使用 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群: ,
项目二:HTML语言基础.
Web安全基础教程
第4章 Excel电子表格制作软件 4.4 函数(一).
JSP实用教程 清华大学出版社 第2章 JSP运行环境和开发环境 教学目标 教学重点 教学过程 2019年5月7日.
3.16 枚举算法及其程序实现 ——数组的作用.
本节内容 文件系统 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
多层循环 Private Sub Command1_Click() Dim i As Integer, j As Integer
如何使用myApps平台配置各类应用 蔡坤和 一个可根据企业个性化需求快速搭建应用系统的工具平台
第六章 Excel的应用 五、EXCEL的数据库功能 1、Excel的数据库及其结构 2、Excel下的数据排序 (1)Excel的字段名行
基于列存储的RDF数据管理 朱敏
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
本节内容 动态链接库 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
使用myApps平台配置Bug管理系统练习大纲
第8章 创建与使用图块 将一个或多个单一的实体对象整合为一个对象,这个对象就是图块。图块中的各实体可以具有各自的图层、线性、颜色等特征。在应用时,图块作为一个独立的、完整的对象进行操作,可以根据需要按一定比例和角度将图块插入到需要的位置。 2019/6/30.
使用说明书 网址: 贵阳学院智慧实验室管理平台 用户中心 使用说明书 网址:
第四章 UNIX文件系统.
使用ADO访问数据库 李宝智 BonizLee 课程 10564A
创建、启动和关闭Activity 本讲大纲: 1、创建Activity 2、配置Activity 3、启动和关闭Activity
HTML表单 JSP借由标签所构成的表单区块中,取得用户在其中特定字段输入的数据內容 。 JSP 动态网页新技术.
使用Fragment 本讲大纲: 1、创建Fragment 2、在Activity中添加Fragment
顺序结构程序设计 ——关于“字符串”和数值.
1 Web基础知识 1.1 HTTP协议 1.2 Web服务器和浏览器 1.3 C/S模式与B/S模式 1.4 Web的访问原理
多个Activity的使用 本讲大纲: 1、使用Bundle在Activity之间交换数据 2、调用另一个Activity并返回结果
JUDDI安装手册.
Presentation transcript:

1 JSP 内置对象 返回

2 3.1 request request 对象的类型是一个执行 javax.servlet.http.HttpServletRequest 界面的 类。当客户端请求一个 JSP 网页时,客户端的请求信息将被 JSP 引擎封装在 这个 request 对象中。那么该对象调用相应的方法可以获取用户提交的信息。 下面我们介绍一下 request 对象中的常用方法。 getCookies() :返回客户端的 cookie 对象,结果是一个 cookie 数组。 getHeader(String name) :获得 http 协议定义的传送文件头信息,如: request.getHeader("User-agent") 返回客户端浏览器的版本号、类型等信息。 getAttribute(String name) :返回 name 指定的属性值,若不存在指定的属性, 就返回空值 (null) 。 getattributeNames() :返回 request 对象所有属性的名字,结果集是一个 Enumeration (枚举)类的实例。

3 getHeaderNames() :返回所有请求标头( request header )的名字, 结果集是一个 Enumeration (枚举)类的实例。 getHeaders(String name) :返回指定名字的请求标头( request header ) 的所有值,结果集是一个 Enumeration (枚举)类的实例。 getMethod() :获得客户端向服务器端传送数据的方法(如 GET 、 POST 和 PUT 等类型)。 getParameter(String name) :获得客户端传送给服务器端的参数值,该 参数由 name 指定。 get parameterNames() :获得客户端传送给服务器端的所有的参数名, 结果集是一个 Enumeration (枚举)类的实例。 getParameterValues(String name) :获得参数 name 所包含的值(一个或 多个)。 getQueryString() 获得由客户端以 GET 方式向服务器端传送的字符串。 getRequestURI() :获得发出请求字符串的客户端地址。 getServletPath() :获得客户端所请求的脚本文件的文件路径。 setAttribute(String strname , Java.lang.Object obj) :设定名字为 strname 的 request 参数值,该值由 Object 类型的 obj 指定。

4 getServerName() :获得服务器的名字。 getServerPort() :获得服务器的端口号。 getRemoteAddr() :获得客户端的 IP 地址。 getRemoteHost() :获得客户端电脑的名字,若失败,则返回客户端电 脑的 IP 地址。 getProtocol() :获取客户端向服务器端传送数据所使用的协议名称(如 http/1.1 ) 通常用户向 JSP 页面提交信息是借助于表单来实现的。表单中包含文本框、 列表、按钮等输入标记。当用户在表单中输入完信息后,按 Submit 按钮 这些信息将被提交。客户端可以使用 post 以及 get 两种方法实现提交。它 们的区别是 get 方法提交的信息会显示在 IE 浏览器的地址栏中,而 post 方 法不会显示。提交后的信息就被封装在 request 对象中。通常 request 对象 调用 getParameter() 方法获取用户提交的信息。下面我们给出利用 request 对象获取客户提交页面信息的例程,其源程序如下。

5 ex5-1.jsp 请输入您的尊姓大名: 该程序通过表单向 do51.jsp 提交信息。 do51.jsp 通过 request 对象获取用户提交 页面的信息。 do51.jsp 的源程序如下。

6 do51.jsp <% out.println(" 客户协议 : " + request.getProtocol()); out.println(" "); out.println(" 服务器名 : " + request.getServerName());out.println(" "); out.println(" 服务器端口号 : " + request.getServerPort()); out.println(" "); out.println(" 客户端 IP 地址: " + request.getRemoteAddr()); out.println(" "); out.println(" 客户机名 : " + request.getRemoteHost()); out.println(" "); out.println(" 客户提交信息长度 : " + request.getContentLength());out.println(" "); out.println(" 客户提交信息类型 : "+ request.getContentType());out.println(" "); out.println(" 客户提交信息方式 : " + request.getMethod()); out.println(" "); out.println("Path Info: " + request.getPathInfo());out.println(" "); out.println("Query String: " + request.getQueryString());out.println(" "); out.println(" 客户提交信息页面位置 : " + request.getServletPath()); out.println(" "); out.println("HTTP 头文件中 accept-encoding 的值 : " + request.getHeader("Accept-Encoding")); out.println(" "); out.println("HTTP 头文件中 User-Agent 的值 : " + request.getHeader("User-Agent")); out.println(" "); %> 您的名字是:

7 程序运行效果如下图所示 在文本框中输入名字 “ 孙悟空 ” 后,按 “ 我要提交 ” 按钮,效果 如下图所示

8 如果 do51.jsp 提交英文字符能正确显示,如果提交中文 时就会出现乱码。原因:浏览器默认使用 UTF-8 编码方 式来发送请求,而 UTF- 8 和 GB2312 编码方式表示字符 时不一样,这样就出现了不能识别字符。 解决办法 : 通过 request.seCharacterEncoding ("gb2312") 对 请求进行统一编码,就实现了中文的正常显示。

9 3.2 response response 对象的类型为 javax.servlet.http.HttpServletResponse 类。当用户向服务器端提 交了 HTTP 请求后,服务器将会根据用户的请求建立一个默认的 response 对象,然后传入 - jspService() 函数中,给客户端提供响应的信息。下面介绍 response 对象中所包含的方法。 setContentType(String s) :该方法可以改变 contentType 的属性值。当用户访问一个 contentType 属性值是 “ text/html ” 的 jsp 页面时, jsp 引擎将按照 ContentType 属性的值来响 应客户的请求信息。 Response 对象可以调用该方法来设置 contentType 的值,其中参数 s 可取 “ text/html ” 、 “ application/x-msexcel ” 和 “ application/msword ” 等。 sendRedirect(URL) :该方法将实现客户的重定向。即在处理客户请求的过程中,可能 会根据不同事件的将客户重新引导至另一个页面。其中参数 URL 的值为重定向页面所在的 相对路径。 addCookie(Cookie cookie) :该方法将实现添加 1 个 Cookie 对象。 Cookie 可以保存客户 端的用户信息。通过 request 对象调用 getcookies() 方法可获得这个 Cookie 。 addHeader(String name,String value) :该方法将实现添加 http 文件头。该 header 将会 传到客户端,若同名的 header 存在,原来的 header 会被覆盖。其中参数 name 指定 http 头 的名字,参数 value 指定 http 头的值。 containsHeader(String name) :该方法判断参数 name 所指名字的 HTTP 文件头是否存在, 如果存在返回 true ,否则为 false 。

10 sendError(int ernum) :该方法实现向客户端发送错误信息。其中参数 ernum 表示错误代码。 比如当 ernum 为 404 时,表示网页找不到错误。 setHeader(String name,String value) :该方法将根据 HTTP 文件头的名字来设定它的值。如果 HTTP 头原来有值,则它将会被新值覆盖。其中参数 name 表示 http 头的名字,参数 value 指定 http 头的值。 下面我们给出利用 response 对象实现自动刷新客户页面的例程,源程序如下 ex4-3.jsp 本例将给大家演示该页面每隔 1 秒钟的自动刷新过程 现在的时间是: <% response.setHeader("refresh","1"); out.println(new Date().toLocaleString()); %>

11 程序运行效果如下图所示

session Session 对象在第一个 jsp 页面被装载时自动创建,完成会话期管理。当用户第一次登陆网 站时,服务器端的 JSP 引擎将为该用户生成一个独一无二的 Session 对象。用以记录该用 户的个人信息,一旦该用户退出网站,那么属于他的 Session 对象将会注销。 Session 对 象可以绑定若干个人信息或者 Java 对象。如果不同 Session 对象内部定义了相同的变量名, 那么这些同名变量是不会相互干扰的。需要说明的是, session 对象中所保存和检索的信 息不能是基本数据类型,必须是 Java 语言中相应的 Object 对象。下面我们给大家介绍 session 对象中所包含的方法。 setAttribute(String key, Object obj) :该方法实现将参数 obj 所指定的对象添加到 session 对象中,并为添加的对象指定一个索引关键字。索引关键字的指由参数 key 确定。 getAttribute(String name) :该方法实现从 session 对象中提取由参数 name 指定的对象。 若该对象不存在,将返回 null 。 getattributeNames() : 该方法返回 session 对象中存储的第一个对象,结果集是一个 Enumeration 类的对象。我们可以使用 nextElements() 来遍历 session 中的全部对象。 getCreationTime() :该方法将返回创建 session 对象的时间,以毫秒为单位从 1970 年 1 月 1 日起计数。

13 getId() :每生成一个 session 对象,服务器都会给其分配一个独一无二的编号,该 方法将返回当前 session 对象的编号。 getLastAccessedTime() :该方法将实现返回当前 session 对象最后 1 次被操作的时 间,即 1970 年 1 月 1 日起至今的毫秒数。 getMaxInactiveInterval() :该方法将获得 session 对象的生存时间,单位为秒。 removeAttribute(String name) :该方法将实现从 session 中删除由参数 name 所指定 的对象。 isNew(): 该方法判断是否是一个新的用户。如果是返回 true ,否则为 false 。 为了说明 session 对象的具体应用,下面我们用三个页面模拟一个多页面的 Web 应用。用户 访问 ex5-4.jsp 时所输入的姓名在 do54.jsp 中被保存在 session 对象中,它对其后继的页面 newdo54.jsp 一样有效。它们的源程序如下。 ex5-4.jsp 请输入您的尊姓大名: ex5-4.jsp 的源程序

14 do54.jsp <% username=request.getParameter("user"); session.putValue("name",username); %> 很高兴认识 ! 请输入您最欣赏的歌星的名字: do54.jsp 的源程序

15 newdo54.jsp 的源程序 newdo54.jsp <% String name; singername=request.getParameter("singer"); name=(String)session.getValue("name"); %> 最欣赏的歌星是

16 运行效果如下图所示 输入姓名 “ 孙梨花 ” ,按 “ 提交 ” 按钮屏幕效果如下图所示 输入歌星名 “ 张学友 ” ,按 “ 提交 ” 按钮屏幕效 果如图所示

17 JSP 表单处理 返回

表单 下面我们给出表单实例 ex7-1.html ,介绍一些常用标记的应用技巧。 表单 用户注册 您的尊姓大名: 您的密码: 你最喜欢的运动: 足球 排球 您的性别: 男 女 请填写您的计算机配置:

19 CPU PIV 2700 Memory 256M DDR 您的计算机操作系统图标 您的家庭所在地: 福州 厦门 泉州 三明 程序运行效果如下图所示

20

表单在客户端确认的实例 以下程序将在客户端实现对表单的确认,防止用户输入的密码为空 。 表单 function formcheck(Fm) { var flag=true; if(isEmpty(Fm.pwd.value)) { alert(" 您没有输入密码,请重新输入! "); Fm.pwd.focus(); flag=false; } return flag; } 密码:

22 程序运行下效果如下图所示

从表单中提取参数 我们通过一个实例来讲述 JSP 是如何提取客户端表单中的数据。首先我们建立一个 HTML 表单如下所示: 用户注册网页 用户注册 您的尊姓大名: 您的密码: 您的性别: 男 女 您最喜欢的颜色: 红色 黄色 蓝色 白色 黑色

24 网页的效果如下图所示

25 下面编写服务器端的表单信息提取程序 formget.jsp ,其源代码如下 用户注册网页信息提取 <% String username=request.getParameter("user"); String pwdinfo=request.getParameter("pwd"); String sexinfo=request.getParameter("sex"); String colorinfo=request.getParameter("likecolor"); out.println(" "); out.println(" 您的姓名: "); out.println(username); out.println(" "); out.println(" 您的密码: "); out.println(pwdinfo); out.println(" "); if(sexinfo==null) out.println(" 很抱歉,您没有选择性别! "); else { out.println(" "); out.println(" 您的性别: "); out.println(sexinfo); out.println(" "); }

26 if(colorinfo==null) out.println(" 很抱歉,您没有选择您喜欢的颜色! "); else { out.println(" "); out.println(" 您喜欢的颜色: "); out.println(colorinfo); } %> 当我们输入完整的个人信息时,结果显示如图 A 所示,当我们输入信息不完 整时(例如没有输入喜欢的颜色或者没有选择性别),结果显示如图 B 所示

27 图A图A 图B图B