Java web--第四章jsp内置对象


4.1 request 对象
   4.1.1获取用户提交的信息

 


   4.1.2处理汉字信息

request对象获取用户提交的信息中如果含有汉字字符或其他非ASCII字符,就必须进行特殊的处理方式,以防出现乱码现象。
JSP页面文件的编码为UTF-8编码,只要让request对象在获取信息之前调
用setCharacterEncoding方法设置编码为UTF-8(默认是ISO-8859-1)就可以避免乱码现象,代码如下:
request. setCharacterEncoding("utf一8");

 


   4.1.3常用方法举例

尽管服务器非常关心用户提交的HTTP请求中form表单的信息,如前面的例4_1和例42中使用request对象的getParameter方法获取form表单提交的有关信息,但实际上,request对象调用相关方法可以获取请求的许多细节信息。request 对象常用方法如下:
(1) String getProtocol( )获取用户向服务器提交信息所使用的通信协议,例如http/1.1等。(2) String getServletPath()获取用户请求的JSP页面文件的名字(带目录符号\,例如hello. jsp).
(3) String getContextPath() 
(4) int getContentLength()
(5) String getMethod()获取用户提交信息的方式,例如post或get。
(6) String getHeader(Štring s)
(7) Enumeration getHeaderNames()
(8) Enumeration getHeaders(String s)

(9) String getRemoteAddr()
(10) String getRemoteHost()

(11) String getServerName( )
(12) String getServerPort() 
(13) Enumeration getParameterNames()



   4.1.4处理HTML标记

(1)form标记

(2)input标记

文本框text

单选框radio

复选框checkbox

口令框password

隐藏hidden

提交键submit

重置键reset

 

(3)select、option标记

下拉式列表和滚动列表通过select和option标记来定义,经常作为form的子标记,为表单提供选择数据的GUI。select 标记将option作为子标记,形成下拉列表或滚动列表。
下拉列表的基本格式:
< select name = "myName">
<option value = "item1">文本描述</option ><option value = "item2">文本描述</option >


(4)textArea

(5)style样式标记

(6)table标记

 

(7)<image>标记

(8)embed标记

 

(9)style样式标记

(10)属性值格式的说明
   4.1.5处理超链接 

 


4.2 response 对象
   4.2.1动态响应contentType属性
页面用page指令设置页面的contentType属性的值,那么Tomcat服务器将
按照这种属性值作出响应,将页面的静态部分返回给用户,用户浏览器接收到该
响应就会使用相应的手段处理所收到的信息。由于page指令只能为contentType指定一个值来决定响应的MIME类型,如果想动态地改变这个属性的值来响应用户,就需要使用
response对象的setContentType(String s)方法来改变contentType的属性值,该方法中的参数s可取值: text/html、text/ plain、image/ gif、image/ x xbitmap、image/jpeg、image/ pipeg、application/x- shockwave flash、application/ vnd. ms powerpoint、application/ vnd. ms-excel、application/ msword等。
当用setContentType(String s)方法动态改变了contentType 的属性值,即响应的MIME类型,Tomcat服务器就会按照新的MIME类型将JSP页面的输出结果返回给用户。




   4.2.2 response 对象的HTTP文件头

 当用户访问一个页面时,会提交一个HTTP请求给Tomcat服务器,这个请求包括一个请求行、HTTP头和信息体

   4.2.3 response 对象的重定向

在某些情况下,当响应用户时,需要将用户重新引导至另一个页面。例如,如果用户输人的form表单信息不完整,就会再被引导到该form表单的输人页面。可以使用response对象的sendRedirect(URL url)方法实现用户的重定向,
即让用户从一个页面跳转到sendRedirect(URL url)中url 指定的页面,即所谓的客户端跳转。需要注意的是当使用sendRedirect(URL url)方法将用户从当前页
面重定向另一个页面时,Tomcat服务器还是要把当前JSP页面执行完毕后才实施重定向(跳转)操作,但Tomcat服务器不再给用户看当前页面的执行效果。如果在执行sendRedirect(URL url)方法后,紧接着执行了return返回语句,那么Tomcat服务器会立刻结束当前JSP页面的执行。

 


4.3 session 对象
   4.3.1session对象的id

session对象被分配了一个String类型的id号,Tomcat服务器同时将这个id号发送到用户端,存放在用户(浏览器)的Cookie中。这样,session对象和用户之间就
建立起一-对应的关系,即每个用户都对应着一个session对象(称作用户的会话),不同用户(不同浏览器)的session对象互不相同,具有不同的id号码。当用户再访问该Web服务目录的其他页面时,或从该Web服务目录链接到其他Web服务器再回到该Web服务目录时,Tomcat服务器不再分配给用户的新session对象,而是使用完全相同的一个,直到session对象达到了最大生存时间或用户关闭自己的浏览器或Tomcat服务器关闭,Tomcat服务器将销毁用户的session对象,即和用户的会话对应关系消失。如果用户的session对象被销毁,当用户再请求访问该Web服务目录时,Tomcat服务器将为该用户创建一个新的session对象。简单地说,用户(浏览器)在访问一个Web服务目录期间,服务器为该用户分配一个session对象(称作和该用户的会话),服务器可以在各个页面使用这个session 对象记录当前用户的有关信息。而且服务器保证不同用户的session对象互不相同。

   4.3.2session对象与URL重写

session对象能和用户建立起一一对应关系依赖于用户浏览器是否支持
Cookie。如果用户端浏览器不支持Cookie,那么用户在不同网页之间的session对象可能是互不相同的,因为Tomcat服务器无法将id存放到用户端浏览器中,就不能建立session对象和用户的一一对应关系。 用户将浏览器Cookie设置为禁止后(选择浏览器(IE)菜单→工具→Internet选项-一隐私-➢高级,将第三方Cookie设置成禁止),运行上述例4 13会得到不同的结果。也就是说,同一用户对应了多个session对象,这样Tomcat服务器就无法知道在这些页面上访问的实际上是同一个用户。
如果用户不支持Cookie,JSP页面可以通过URL重写来实现session对象的唯一一性。所谓URL重写,就是当用户从一个页面重新链接到一个页面时,通过向这个新的URL添加参数,把session对象的id传带过去,这样就可以保障用户在该Web服务目录的各个页面中的session对象是完全相同的。可以让response对象调用encodeURL( )或encodeRedirectURL()方怯实现URL重写,比如,如果从example4_ 13 _a. jsp页面链接到example4_ 13_ b.jsp 页面,首先在程序片中实现URL重写:

   4.3.3 session 对象存储数据

session对象驻留在服务器端,该对象调用某些方法保存用户在访问某个Web服务目录期间的有关数据。session对象使用下列方法处理数据。
(1) public void settribute (String key ,Object obj)。session 对象可以调用
该方法将参数Object指定的对象obj添加到session对象中,并为添加的对象指定了一个索引关键字,如果添加的两个对象的关键字相同,则先前添加的对象被
(2) public Object getAttribute(String key)。获取session对象索引关键字是key的对象。由于任何对象都可以添加到session对象中,因此用该方法取回对象时,应显式转化为原
(3) public Enumeration getAttributeNames()。session 对象调用该方法产生一个枚举对象,该枚举对象使用nextElemets()遍历session中的各个对象所对应的关键字。
(4) public void removeAttribute(String key)。session 对象调用该方法移掉关键字key对应的对象。
例4_ 14实现猜数字游戏。当用户访问example4_ 14. jsp时,随机分配给用户一个1到100之间的整数,然后将这个整数存在用户的session对象中。用户在form表单的text里输人自己的猜测。用户输人猜测后单击提交键,访问example4 14 judge. jsp页面,该页面负责判断用户给出的猜测是否和用户的ssos对象中存放的那个整数相同。如果相同,就将用户定向到example_ 14 scss jsp;如果不相同就将用户定向到examplel 14 large jsp或example4 14_small isp,然后,用户在这些页面再重新提交新的猜测给exmplel 14 judge. isp页面。


   4.3.4session对象的生存期限

一个用户在某个Web服务目录的session对象的生存期限依赖于session对
象是否调用invalidate()方法使得session 无效或session对象达到了设置的最长
的“发呆”状态时间以及用户是否关闭浏览器或服务器被关闭。所谓“发呆”状态
时间是指用户对某个Web服务目录发出的两次请求之间的间隔时间(默认的发呆时间是30分钟)。比如,用户对某个Web服务目录下的JSP页面发出请求,并得到响应,如果用户不再对该Web服务目录发出请求(可能去请求其他的Web服务目录),那么用户对该Web服务目录进入“发呆”状态,直到用户再次请求该Web服务目录时,“发呆”状态结束。

4.4 application 对象
   4.4.1application对象的常用方法

(1) public void setAttribute(String key, Object obj)。 application调用该方法将参数object指定的对象obi添加到pplication对象中,并为添加的对象指定了-个索引关键字,如果添加的两个对象的关键字相同,则先前添加对象被清除。
(2) public Object gttibte(String key)。获取aplication对象含有的关
键字是key的对象。由于任何对象都可以添加到aplication对象中,因此用该方法取回对象时,应显式转化为原来的类型。
(3) public Enumeration rertibuteNames)。aplication 对象调用该方法产生一个Enumeration(枚举)对象,该Enumeration对象使用nextElemetsO)遍历aplication 中的各个对象所对应的关键字。
(4D public vord rmevtbtelString key)。从当前aplieation 对象中删除关键字是key的对象。
(5) public StringgetServletInfo()。获取Servlet编译器的当前版本的信息。
由于application对象对所有的用户都是相同的,因此,在某些情况下,对该对象的操作需要实现同步CSynchronized处理。
需要注意的是,Tomer服务器启动后application对象中已经有8个关键字,因此,JSP程序使用setAtAtribute((String; key,Object obj)在pplication对象中存储数据时,key要避免
8关键字的名字都很长,例如: javax. servlet. context. tempdirog.
使用这8个关键字ne JspApplicationContextImpl等。
   4.4.2application留言板

在实际项目中一般是使用数据库来实现留言板,不会用application对象(除
非是非常简单的告示留言板)。例4. _16是为了练习使用application 内置对象,让视预讲解其担当留言板的角色,并设置留言板上最多可留言9999条,即让application对
象用1至9999之间的一个整数作为关键字(key)存放一条 留言。用户通过example4 16. isp向example4_ 16 pane. jisp提交姓名留言标题和留言内容example4_ 16 pane. jsp页面用application存放这些内容,查找这些内容所使用的关键字是1至99999之间的某个整数。当留言数目超过99999时,提示用户无法再留言。example4_ 16_ show. jsp负责显示全部留言。example4_ 16_ delete, jsp页面负责删除留言(删除留言时需要输入密码123456,这个密码可以
4.5out对象

out对象是一个输出流,用来向用户端输出数据。在前面的许多例子里曾多次使用out对象进行数据的输出。out 对象可调用如下的方法用于各种数据的输出,例如:
(1) out. print( boolean)或out. println( boolean)用于输出一个布尔值。(2) out. print(char)或out. println(char)用于输出一个字符。
(3) out. print(double)或out. println(double)用于输出一个双精度的浮点数。
(4) out. print( fload)或out. println(float)用于输出一个单精度的浮点数。
(5) out. print(long)或out. println(long)用于输出一个长整型数据。
(6) out. print(String)或out. println(String)用于输出一个String对象的字符序列。println和print方法的区别是: println 会向缓存区写人一个换行,而print不写人换行。但是浏览器的显示区域目前不识别println写人的换行,如果希望浏览器显示换行,应当向浏览器写人"<br>"实现换行。
 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
第1章 Web应用程序基础 Java Web程序设计 Java-Web程序设计(PPT)全文共389页,当前为第1页。 课程概述 终点 起点 1 2 3 4 5 6 7 1.Web应用程序基础 2.JSP基础 3.JSP内置对象 5. Servlet技术 4.JavaBean和标准动作 6. Servlet技术进阶 8. 会话跟踪技术进阶 7. 会话跟踪技术 8 9 9.EL表达式 10 10.JSTL标签库 Java-Web程序设计(PPT)全文共389页,当前为第2页。 本章内容 Web 应用程序简介 HTTP 协议 Tomcat 简介 使用Eclipse开发Java Web 应用程序 静态的登录页面制作 使用网络抓包的方式查看网络状态 修改Tomcat服务器端口 编写404页面程序并运行此程序 Java-Web程序设计(PPT)全文共389页,当前为第3页。 1.1 Web 应用程序 Web 应用程序概述 Web 应用的工作原理 使用Eclipse创建一个静态登录页面 20 25 Java-Web程序设计(PPT)全文共389页,当前为第4页。 1.1.1 Web 应用程序概述 随着Internet和网络应用程序的发展,其开发体系结构主要分为两种: 基于客户端 / 服务器端的 C/S 体系结构。 基于浏览器 / 服务器的 B/S 体系结构。 Java-Web程序设计(PPT)全文共389页,当前为第5页。 1.1.1 B/S结构优势 B/S 体系结构相对于 C/S 体系结构而言具有更多的优势,目前大量的应用程序开始转移到应用 B/S 体系结构,其主要优势在于以下几点: 安装维护升级方便,仅部署服务器 对客户机配置要求不高,满足服务器配置即可 访问范围更广 在我们常用的软件中,哪些是 B/S 体系结构?哪些是 C/S 体系结构? Java-Web程序设计(PPT)全文共389页,当前为第6页。 1.1.2 Web 应用程序的工作原理 Web 应用程序大致可以分为两种,即静态网站和动态网站。 静态网站采用Html语言编写,放置于 Web 服务器上,用户通过浏览器直接请求解析显示。 缺点:内容固定不变,改变显示必须修改html代码 Java-Web程序设计(PPT)全文共389页,当前为第7页。 1.1.2 Web 应用程序的工作原理 随着网络技术的发展,基于 Internet 的 Web 应用程序也变得越来越复杂,更多的内容需根据用户的请求动态生成页面信息,即动态网站。 动态网站指在Html静态页面中嵌入Java、C#、Php等脚本代码,将编写后的页面放入Web服务器,由服务器编译转换为最终Html返回给客户端。 Java-Web程序设计(PPT)全文共389页,当前为第8页。 1.1.3 学生实践练习 使用 Eclipse 创建一个静态的登录页面。 20 Java-Web程序设计(PPT)全文共389页,当前为第9页。 1.1.3 学生实践练习 (1)在 Eclipse 中,点击"File",显示菜单,选择"New" "Other"。 (2)点击"Other"菜单项,显示"New(新建)"对话框,展开"Web"节点,选择"Static Web Project"创建css目录并在css目录中添加style.css文件。 (3)点击"Static Web Project"节点,弹出"New Static Web Project"界面,创建静态 Web 项目 LoginProject。 (4)点击"Finish"按钮后,新建"LoginProject"项目成功,在该项目的"WebContent"目录中,新建HTML"login.html"页面,添加html代码。 (5)新建 login.css 文件,定义整个登录页面的背景。 Java-Web程序设计(PPT)全文共389页,当前为第10页。 1.2 HTTP协议 URL 简介 HTTP 协议概述 HTTP 处理流程 HTTP 请求方式 使用网络抓包查看网络状态 20 25 Java-Web程序设计(PPT)全文共389页,当前为第11页。 1.2.1 URL简介 URL 是 UniformResource Locator 的缩写,表示统一资源定位器,它是专为标识网络上的资源位置而设定的一种编码地址方式,即俗称:网址。 URL组成:应用层协议、主机 IP 地址或域名、协议端口号、资源路径 / 文件名。 应用层协议 :// 主机 IP 地址或域名、协议端口号 / 资源所在路径 / 文件名 http://www.oracle.com:80/hk/index.htm 浏览网页时输入的域名最终会转换为IP地址 由于 80 端口是 HTTP 协议默认的端口号,所以在访问网络地址时可以省略该

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值