




免费预览已结束,剩余23页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
JSP内置对象 有些对象不同声明就可以在JSP页面的脚本部分使用 这就是JSP的内置对象 JSP的内置对象有 requestresponsesessionapplicationoutrequest和response对象是JSP较重要的两个内置对象 这两个对象提供了对服务器和浏览器通信方法的控制 讨论这两个对象前 要先对HTTP协议 WordWideWeb底层协议作简单介绍 使用浏览器从网站获取HTML页面时 实际上在使用HTTP协议 HTTP协议规定了信息在Internet上的传输方法 特别规定了浏览器与服务器的交互方法 从网站获取页面时 浏览器在网站上打开了一个对网络服务器的连接 并发出请求 服务器收到请求后回应 所以HTTP协议被称作 请求和响应 协议 浏览器请求具有某种结构 http请求中包括一个请求行 头域和可能的信息体 最普通的请求类型时对页面的一个简单请求 如下例 GET hello htmHTTP 1 1Host 这是对网站上hello htm页面的HTTP请求的例子 首行是请求行 规定了请求的方法 请求的资源及使用的HTTP协议的版本 此例中 请求的方法是GET方法 此方法用于获取特定的资源 其他的请求方法包括postheaddeletetrace及put方法等 此例中的第二行是头 header Host头规定了网站上hello htm文件的Internet地址 此例中 主机是 一个典型请求通常包含许多头 被称做请求的http头 头提供了关于信息体的附加信息及请求的来源 其中有些头是标准的 有些和特定的浏览器有关 一个请求还可能包含信息体 例如 信息体可包含html表单的内容 在html表单上单击submit按钮时 该表单使用action post 或action get 特征 输入表单的内容都被发送到服务器上 该表单内容就由post方法或get方法在请求的信息体中发送 服务器在收到请求时 返回http响应 响应也有某种结构 每个响应都由状态行开始 可以包含几个头及可能的信息体 被称作响应的http头和响应信息体 这些头和信息体由服务器送给客户的浏览器 信息体就是客户请求的网页的运行结果 对于JSP页面 就是页面的静态信息 状态行说明了正在使用的协议 状态代码及文本信息 一 request对象 HTTP通信协议是客户与服务器之间的一种提交 请求 信息与相应信息 request response 的通信协议 在JSP中 内置对象request封装了用户提交的信息 那么对该对象调用相应的方法可以获取封装的信息 即使用该对象可以获取用户提交的信息 客户通常使用HTML表单向服务器的某个JSP页面提交信息 表单的一般格式是 提交手段 一 request对象 其中是表单标签 提交手段包括通过文本框 列表 文本区域等 通过下面方法来获取这些信息 request getParameter 控件名 1 获取表单提交信息2 处理汉字信息当用request对象获取客户提交的汉字字符时 会出现乱码问题 所以对含有汉字字符的信息必须进行特殊的处理方式 首先 将获取的字符串用ISO 8859 1进行编码 并将编码存放到一个字节数组中 然后再将这个数组转化为字符串即可 一 request对象 Stringstr request getParameter girl byteb str getBytes ISO 8859 1 str newString b 通过上述过程 提交的任何信息 无论是汉字字符或西欧字符 都能正确地显示 例如 Example3 3 一 request对象 3 常用方法举例当客户访问一个页面时 会提交一个HTTP请求给服务器的JSP引擎 这个请求包括一个请求行 http头和信息体 例如 post tree2 jsp HTTP 1 1host localhost 8080accept encoding gzip deflate首行叫做请求行 规定了向访问的页面请求提交信息的方式 如post get等方式 以及请求的页面的文件名字和使用的通信协议 一 request对象 第2 3行分别是两个头 header 其中host accept encoding被称为头名字 而localhost 8080以及gzip deflate分别是他们的值 这里host的值tree2 jsp的地址 可以使用JSP引擎的内置对象来获取客户提交的信息 说明如下 1 getProtocol 获取客户向服务器提交信息所使用的通信协议 例如http 1 1 2 getServletPath 获取客户请求的JSP页面文件的目录 3 getContentLength 获取客户提交的整个信息的长度 一 request对象 4 getMethod 获取客户提交信息的方式 比如post或get 5 getHeader Strings 获取http头文件中由参数s指定的头名字的值 一般来说s参数可取的头名有accept refer accept language content type accept encoding user agent host content length connection cookie等 比如s取值user agent将获取客户的浏览器的版本号等信息 6 getHeaderNames 获取头名字的一个枚举 7 getHeaders Strings 获取头文件中指定头名字的全部值得一个枚举 8 getRemoteAddr 获取客户的IP地址 一 request对象 9 getServerName 获取服务器的名称 10 getServerPort 获取服务器的端口号 11 getParameterNames 获取客户提交的信息体部分中name参数值的一个枚举 例如 Example3 4 jsptree2 jsp 二 response对象 当客户访问一个服务器的页面时 会提交一个HTTP请求 服务器收到请求时 返回HTTP响应 响应和请求类似 也有某种结构 每个响应都由状态行开始 可以包含几个头及可能的信息体 网页的结果输出部分 1 动态响应contentType属性当一个客户请求访问一个JSP页面时 如果该页面用page指令设置页面的contentType属性值是text html那么JSP引擎就按照这种属性值做出响应 将页面的静态部分返回给客户 由于page指令只能为contentType指定一个值 用来决定相应的MIME类型 如果想动态地改变这个属性的值来相应客户 就需要使用response对象的setContentType Strings 方法来改变contentType的属性值 二 response对象 publicvoidsetContentType Strings S的取值可以是text html text plain application x msexcel application msword例如 Example3 10 jsp 二 response对象 2 Response的HTTP文件头Response对象可以使用方法addHeader Stringhead Stringvalue 或方法setHeader Stringhead Stringvalue 动态地添加新的响应头和头的值 并将这些头发送给客户的浏览器 如果添加的头已经存在 则先前的头被覆盖 例如 Example3 12 jsp 二 response对象 3 response重定向在某些情况下 当响应客户时 需要将客户重新引导至另一个页面 例如 如果客户输入的表单信息不完整 就会再被引导到该表单的输入页面 可以使用下面的方法 response sendRedirect URLurl 例如 Example3 13 jsptree4 jsp 二 response对象 4 Response的状态行当服务器对客户请求进行响应时 它发送的首行被称做状态行 状态行包括3位数字的状态代码和对状态代码的描述 称作原因短语 见p65 表3 1 三 session对象 HTTP协议是一种无状态协议 一个客户向服务器发出请求 request 然后服务器返回响应 response 连接就被关闭了 在服务器端不保留连接的有关信息 因此当下一次连接时 服务器已没有以前的连接信息了 同时 无法判断这一次连接和以前的连接是否属于同一客户 因此 必须使用会话记录有关连接的信息 从一个客户打开浏览器并连接到服务器开始 到客户关闭浏览器离开这个服务器结束 被称作一个会话 当一个客户访问一个服务器时 可能会在这个服务器的几个页面串之间反复连接 反复刷新一个页面或不断地向一个页面提交信息等 服务器应当通过某种办法知道这是同一客户 这就需要session 会话 对象 三 session对象 1 Session对象的Id当一个客户首次访问服务器上的一个JSP页面时 JSP引擎产生一个session对象 这个session对象调用相应的方法可以存储客户在访问各个页面期间提交的各种信息 比如 姓名 号码等信息 这个session对象被分配一个String类型的Id号 JSP引擎同时将这个Id号发送到客户端 存放在客户的Cookie中 这样 session对象和客户之间建立起一一对应关系 三 session对象 例如 session jsptom jspjerry jsp在上面的例子中 客户在服务器的三个页面之间进行连接 只要不关闭浏览器 三个页面的session对象是完全相同的 客户首先访问session jsp页面 从这个页面再连接到tom jsp页面 然后从tom jsp再连接到jerry jsp页面 三 session对象 2 Session对象与URL重写session对象能和客户建立起一一对应关系依赖于客户的浏览器是否支持Cookie 如果客户端不支持Cookie 那么客户在不同网页之间的session对象可能是互不相同的 因为服务器无法将Id存放到客户端 就不能建立session对象和客户的一一对应关系 如果客户的浏览器不支持Cookie 可以通过URL重写来实现session对象的唯一性 所谓URL重写 就是当客户从一个页面重新连接到一个页面时 通过向这个新的URL添加参数 把session对象的Id传带过去 这样就可以保障客户在该网站各个页面中的session对象是完全相同的 三 session对象 Stringstr response encodeRedirectURL jerry jsp 3 Session对象的常用方法 1 publicvoidsetAttribute Stringkey Objectobj session对象类似于散列表 session对象可以调用该方法将参数Object指定的对象obj添加到session对象中 并为添加的对象指定了一个索引关键字 如果添加的两个对象的关键字相同 则先前添加的对象被清除 2 publicObjectgetAttribute Stringkey 获取session对象中含有关键字是key的对象 由于任何对象都可以添加到session对象中 因此用该方法取回对象时 应强制转化为原来的类型 三 session对象 3 publicEnumerationgetAttributeNames session对象调用该方法产生一个枚举对象 该枚举对象使用nextElements 方法遍历session对象中所有对象 4 publiclonggetCreationTime session对象调用该方法可以获取该对象创建的时间 单位时间是毫秒 5 publiclonggetLastAccessedTime 获取当前session对象最后一次被操作的时间 单位是毫秒 6 publicintgetMaxInactiveIterval 设置session对象的生存时间 三 session对象 7 publicvoidsetMaxInactiveIterval intn 设置session对象的生存时间 8 publicvoidremoveAttribute Stringkey 从当前session对象中删除关键字是key的对象 9 publicStringgetId 获取session对象的编号 10 publicvoidinvalidate 使得session无效例如 Example3 17 jspfirst jspaccount jsp 三 session对象 从Example3 17 jsp中得到boy的值 然后将之保存到session对象中 关键字为name String姓名 String session getAttribute name 通过session对象得到被保存的关键字为name的变量 并将之输出 4 计数器 四 application对象 不同客户的session对象是互不相同的 与session对象不同的是application对象对所有客户来说都是相同的 1 Application对象的常用方法 1 voidsetAttribute Stringkey Objectobj 2 ObjectgetAttribute 3 EnumerationgetAttributeNames 4 voidremouveAttribute Stringkey 5 St
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 健身房运营中精准会员管理的策略研究-洞察及研究
- 2025-2030中国工业互联网平台服务商盈利模式与客户粘性提升报告
- 2025-2030中国土壤修复技术产业化进程与财政补贴效果评估
- 微生物肥料研发-洞察及研究
- 第5节 牛顿第一定律教学设计-2025-2026学年初中物理沪科版五四学制2024八年级上册-沪科版五四学制2024
- 成品油贸易合同标准模板
- 外包业务合作协议书说明
- 小学生家校安全责任协议样本
- 21年安全考试题库及答案解析
- 建筑外架搭设合同范本
- 高中语文-“病句辨析”模块“语序不当”知识点
- 粮食培训考试题及答案
- 工程整改方案及措施(3篇)
- 2025标准合同范本:餐饮业劳动合同书
- 政府法律顾问聘用合同
- 部编人教版六年级上册道德与法治全册教案
- 2025年共青团入团考试测试题库及答案
- 第13章第2节 人体免疫课件-2025-2026学年北师大版八年级上册生物
- 2025上海科技馆招聘高层次专业技术人才3人备考考试试题及答案解析
- 2025年秋季学期安全主题班会教育记录
- 线路维护材料管理办法
评论
0/150
提交评论