内置对象复习资料.ppt

上传人:牧羊曲112 文档编号:6243680 上传时间:2023-10-09 格式:PPT 页数:62 大小:748KB
返回 下载 相关 举报
内置对象复习资料.ppt_第1页
第1页 / 共62页
内置对象复习资料.ppt_第2页
第2页 / 共62页
内置对象复习资料.ppt_第3页
第3页 / 共62页
内置对象复习资料.ppt_第4页
第4页 / 共62页
内置对象复习资料.ppt_第5页
第5页 / 共62页
点击查看更多>>
资源描述

《内置对象复习资料.ppt》由会员分享,可在线阅读,更多相关《内置对象复习资料.ppt(62页珍藏版)》请在三一办公上搜索。

1、复习资料:JSP页面元素与内置对象,内容提要,介绍JSP页面的结构JSP的编译指令、操作指令和代码重点介绍JSP常用的六大基本对象:out对象、response对象、request对象、application对象、session对象和cookie对象。,理解服务器端执行,所有HTML文件可以在资源管理器中双击执行但是JSP文件必须先放到Web服务器中,然后通过HTTP的方式访问。因为文件内所有内代码是被Web服务器解释执行的。,理解服务器端执行,案例名称:理解服务器端执行程序名称:4-01.jspvar dnow=new Date();dhours=dnow.getHours();dminut

2、es=dnow.getMinutes();dseconds=dnow.getSeconds();document.write(浏览器时间:+dhours+:+dminutes+:+dseconds);,理解服务器端执行,JSP页面结构,在一个JSP页面中,主要分为三种元素:编译指令、操作指令和JSP代码。编译指令告诉JSP的解释引擎(比如:Tomcat),需要在编译时做什么动作,比如引入一个其它的类,设置JSP页面的使用什么语言编码等。操作指令则是在JSP页面被请求时,动态执行的,比如可以根据某个条件动态跳转到另外一个页面。JSP代码指的就是我们自己嵌入在JSP页面中的Java代码,这又分为两

3、种:第一种是JSP页面中一些变量和方法的声明,在声明时,使用“”标记。另外一种,就是常用到的用“”包含的JSP代码块:,编译指令,可以通过一定的指令,让JSP容器采取必要的动作。例如:可以指定一个专门的错误处理页面,当JSP页面出现错误时,可以由JSP容器自动地调用错误处理页面。,page指令,page指令是针对当前页面的指令。page指令有“”字符串构成的标记符来指定。在标记符中是代码体,包括指令的类型和值。例如:“”指令告诉JSP容器将java.sql包中的所有类都引入当前的JSP页面。常用的page指令标记有8个:language、extends、import、errorPage、isE

4、rrorPage、contentType、isThreadSafe和session。,page指令,language设置JSP页面中用到的语言,默认值为“Java”,也是目前唯一有效的设定值。使用的语法是:“”。extends设定目前JSP页面要继承的父类。一般情况下不需要进行设置。在默认情况下,JSP页面的默认父类是HttpJspBase。例如:当前JSP页面要继承mypackage包下的myclass类,相应的声明语句为:“”。import设置目前JSP页面中要用到的Java类,这些Java类可能是Sun JDK中的类,也有可能是程序员自己定义的类。例如:“”。有些类在默认情况下已经被加入

5、到当前JSP页面,而不需要特殊声明,包括四个类:java.lang.*;、java.servlet.*;、java.servlet.jsp.*;和java.servlet.http.*;。errorPage用来设定当JSP页面出现异常(Exception)时,所要转向的页面。如果没有设定,则JSP容器会用默认的当前网页来显示出错信息。例如:“”isErrorPage用来设定当前的JSP页面是否作为传回错误页面的网页,默认值是“false”。如果设定为“true”,则JSP容器会在当前的页面中生成一个exception对象。,使用errorPage指令捕获异常,案例名称:JSP中Exceptio

6、n的捕捉程序名称:4-02.jsp,JSP中Exception的捕捉,案例名称:JSP中Exception的捕捉程序名称:4-03.jsp当前页面是:4-03.jsp,JSP中Exception的捕捉,contentType这个属性用来设定传回网页的文件格式和编码方式,一般使用“text/html;charset=GBK”。isThreadSafe 定义JSP容器执行JSP程序的方式,默认值为“true”,代表JSP容器会以多线程方式运行JSP页面。当设定值为“false”时,JSP容器会以单线程方式运行JSP页面。session定义当前JSP页面中是否要用到session,默认值为“true

7、”。,include指令,include指令用来指定怎样把另一个文件包含到当前的JSP页面中,这个文件可以是普通的文本文件,也可以是一个JSP页面。例如:“”。采用include指令,可以实现JSP页面的模块化,使JSP的开发和维护变得非常简单。,使用include指令,案例名称:使用include指令程序名称:4-04.jsp,taglib指令,taglib指令允许页面使用标记扩展(定制标记)。它命名了标记库。在JSP页面里遇到定制的标记时,引擎将找到在标记库中的该标记,并且找到要实施的操作实际上是执行Java代码。taglib指令的语法为:其中:uri:一个URI标识标记库描述器。一个标记

8、库描述器用来唯一的命名一组定制的标记,并且告诉包容器如何处理特殊的标记tagPrefix:定义一个prefix:tagname形式的字符串前缀,用于定义定制的标记。所保留的前缀为jsp、jspx、java、servlet、sun、sunw。,操作指令,JSP编译指令是让JSP容器自动采取的动作,但对于Web开发人员,有些时候想要自己控制JSP页面的运行,这时可以采用JSP中的操作指令。操作指令包括:jsp:include指令、jsp:forward指令、jsp:param指令、jsp:useBean指令、jsp:setProperty指令和jsp:getProperty指令等。,jsp:inc

9、lude指令,jsp:include标准动作用于在当前的JSP页面中加入静态和动态的资源。语法格式为:jsp:include指令必须以“/”结束,功能和include指令相同。,jsp:forward指令,jsp:forward操作指令用于把当前的JSP页面转发到另一个页面上。基本语法为:“”,使用该功能时,浏览器的地址栏中地址不会发生任何变化。,forward指令实现页面间的跳转,案例名称:使用forward指令实现页面间的跳转程序名称:4-05.jsp,jsp:param指令,使用jsp:param操作指令可以在执行jsp:forward操作动作时,追加参数,按照“名字/值”的方式进行传递

10、。jsp:param操作指令以标记“”开始,以“/”结束。比如:“”。可以将jsp:forward操作指令和jsp:param操作指令结合到一起来使用。示例:%TOMCAT_HOME%passingPara.jsp,JSP代码,JSP代码包括两种,第一种是JSP页面中一些变量和方法的声明,在声明时,使用“”标记另外一种,就是常用到的用“”包含的JSP代码块,变量和方法,在“”标记符号之间声明变量和方法,变量类型可以是Java语言允许的任何数据类型。在JSP页面被编译执行的时候,整个页面被编译成一个类,这些变量是JSP页面类的成员变量。,变量的声明和使用,案例名称:变量的声明和使用程序名称:4-

11、06.jsp个人访问本站,变量的声明和使用,也可以声明函数,一般会在函数前面加上synchronized关键字,功能是当前一个用户在执行该方法的时候,其他的用户必须等待,直到该用户完成操作。使用方法,案例名称:函数的声明和使用程序名称:4-07.jsp您是第个访问本站的客户。,代码块,可以在“”之间插入Java程序片,一个JSP页面可以有许多程序片,这些代码块将被JSP服务器按照顺序执行。在一个代码块中声明的变量是JSP页面的局部变量,只在当前页面中有效。,代码块,案例名称:代码块程序名称:4-08.jsp个人访问本站,JSP隐含对象概述,JSP根据Servlet API而提供了某些隐含对象。

12、可以使用标准的变量来访问这些对象,并且不用编写任何额外的代码,就可以在JSP中自动使用到它。在JSP页面中可以获得的主要的7个隐含对象变量为:out对象:功能是把信息回送到客户端的浏览器中。response对象:功能是处理服务器端对客户端的一些响应。request对象:功能是用来得到客户端的信息。application对象:用来保存网站的一些全局变量。session对象:用来保存单个用户访问时的一些信息。cookie对象:将服务器端的一些信息写到客户端的浏览器中。pageContext对象:提供了访问和放置页面中共享数据的方式。,out对象,out对象是类的一个子类的对象,它的作用是把信息回送

13、到客户端的浏览器中。在out对象中,最常用的方法就是print()和println()。在使用print()或println()方法时,由于客户端是浏览器,因此向客户端输出时,可以使用HTML中的一些标记,例如:“out.println(”Hello,JSP“);”。其他一些常用的方法是:out.write功能和out.print相同,newLine()的功能是输出一个换行符,out.flush()的功能是输出缓冲的内容。out.close()的功能是关闭输出流。out对象的生命周期是当前页面。因此对于每一个JSP页面,都有一个out对象,使用out对象,案例名称:使用out对象程序名称:4-

14、09.jsp,reponse对象,response对象是一个javax.servlet.http.HttpServletResponse类的子类的对象,网页转向,对于response对象,最常用到的是sendRedirect()方法,可以使用这个方法将当前客户端的请求转到其它页面去。相应的代码格式为:“response.sendRedirect(URL地址);”和指令的最大区别就是:只能使用在本网站内跳转,但我可以使用response.sendRedirect跳转到任何一个地址的页面,案例名称:网页转向程序名称:4-10.jsp,动态contentType响应,当请求一个JSP页面的时候,如果

15、该页面用page指令设置页面的contentType属性的值是text/html,那么服务器将把静态页面部分发送给客户端。也可以设置为其他一些相应类型,如:text/plain(文本文件)、application/x-msexcel(Excel文件)和application/msword(Word文件)等。,显示为Word文档,案例名称:显示为Word文档程序名称:4-11.jspresponse对象 setContentType方法将当前页面保存为word文档吗,HTTP文件头响应,可以利用JSP动态改变客户端的响应,使用的语法是“response.setHeader()”,比如让客户端自动

16、每隔5秒刷新一次,,案例名称:动态改变响应头程序名称:4-12.jsp现在的时间是:,设置缓冲区,在实际的JSP应用开发中,为了确保显示的正确性,需要将禁用页面缓冲,否则会显示其他用户的一些的信息。为了解决这个问题,需要在每个JSP的页面中添加语句,案例名称:设置缓冲区程序名称:4-13.jsp,request对象,request对象是子类的对象,当客户端请求一个JSP页面时,JSP容器会将客户端的请求信息包装在这个request对象中请求信息的内容包括请求的头信息(Header)、系统信息(比如:编码方式)、请求的方式(比如:GET或POST)、请求的参数名称和参数值等信息,得到Form表单

17、的信息,通常我们用得最多的就是客户端请求的参数名称和参数值信息。得到某参数值的语法为:“request.getParameter(”param1“)”。也可以通过request对象的getParameterNames()方法得到客户端传递过来的所有参数名字,如:“Enumeration params=request.getParameterNames();”。,得到Form表单的信息,案例名称:HTML表单程序名称:4-14.html姓名:密码:,读取表单数据,案例名称:读取表单数据程序名称:4-15.jsp姓名:密码:,第二种读取值的方法是利用集合,案例名称:使用request对象获取用户提

18、交数据的所有参数名字和值程序名称:4-17.jsp);out.println(Values:+request.getParameter(current_param)+);%,得到客户的信息,利用request对象可以获得客户提交的信息,比如:JSP文件目录、客户端的地址、以及服务器的端口等,,案例名称:获得客户的信息程序名称:4-18.jsp,汉字问题两种解决方法,当利用request.getParameter得到Form种元素的时候,默认的情况字符编码为ISO-8859-1,这种编码不能正确的显示汉字。目前有两种解决方法,一种是在执行操作之前,设置request的编码格式,语法是:“requ

19、est.setCharacterEncoding(GBK);”另一种方法是转换字符编码,调查表信息的读取,案例名称:调查表输入页面程序名称:input.htm,调查表信息的读取,案例名称:调查表处理页面程序名称:handle.jsp,application对象,站点所有的用户公用一个application对象,当站点服务器开启的时候,application就被创建,直到网站关闭。利用application这一特性,可以方便地创建聊天室和网站计数器等常用站点应用程序,application的自定义属性,public void setAttribute(String key,Object obj)

20、,将对象obj添加到application对象中,并为添加的对象添加一个索引关键字key。public Object getAttribute(String key),获取application对象中含有关键字key的对象。由于任何对象都可以添加到application中,因此用此方法取回对象的时候,需要强制转化为原来的类型。,自定义属性,案例名称:自定义属性程序名称:4-19.jsp,自定义属性,案例名称:自定义属性程序名称:4-20.jsp,实现聊天室,聊天室允许多用户实时进行信息交流,所有用户可以看到彼此的信息,这与application对象的特点正好符合,所以可以方便地利用applic

21、ation实现聊天室。,案例名称:简易聊天室程序名称:4-21.jsp,网页计数器,网页计数器是application 对象的又一个用途,因为application是所有的用户所共有的,所以可以存储计数器的值,当有新用户访问网页时自动增加计数器的值。,案例名称:网页计数器版本一程序名称:CountV1.jsp,案例名称:网页计数器版本二程序名称:CountV2.asp,session对象,session对象是类的子类的对象,它表示当前的用户会话信息。在session中保存在对象在当前用户连接的所有页面中都是可以被访问到的。可以使用Session 对象存储用户登录网站时候的信息。当用户在页面之间

22、跳转时,存储在Session对象中的变量不会被清除,对session的理解,案例名称:使用ID属性程序名称:4-22.jsp你的session ID:,自定义属性,对于session对象中,经常用到的方法是setAttribute()、getAttribute()和removeAttribute()。分别可以对session中的对象进行存取和删除操作。session对象的主要用途也是保存信息,当用户第一次到达网站时,系统为其分配一个session。session和application一样也使用自己的自定义属性,使用session的自定义属性,案例名称:使用session的自定义属性程序名称:

23、4-23.jsp下一页,使用session的自定义属性,案例名称:使用session的自定义属性程序名称:4-24.jsp下一页,简易session版购物车,利用session保存用户选购的商品信息,本购物车程序包含三个程序:(1)buy1.jsp:购物网页一。(2)buy2.jsp:购物网页二。(3)display.jsp:查看购物车程序。,简易session版购物车,案例名称:购物网页一程序名称:buy1.jsp,案例名称:购物网页二程序名称:buy2.jsp,案例名称:显示购物车程序程序名称:display.jsp,cookie对象,Cookie对象是由Web服务器端产生后被保存到浏览器

24、中的信息。Cookie对象可以用来保存一些小量的信息在浏览器中。目前主流的浏览器(Internet Explorer和Netscape Navigator)都支持Cookie。可以将Cookie写到浏览器中,让浏览器来保存Cookie的值。,写入Cookie,案例名称:写入Cookie程序名称:4-25.jsp写入Cookie查看,读出Cookie,案例名称:读出Cookie程序名称:4-26.jsp读出Cookie,小结,介绍JSP页面的结构JSP的编译指令、操作指令和代码重点介绍JSP常用的六大基本对象:out对象、response对象、request对象、application对象、session对象和cookie对象,本章习题,4-1.有几种方法实现页面的跳转,如何实现?4-2 synchronized关键字有什么功能?4-3.out对象有什么功能,out.print和document.write有什么区别?4-4.如何获得获得客户端的IP地址?4-5.application对象有什么特点?和session对象有什么联系和区别?4-6.程序如何向浏览器写入Cookie集合,如何从浏览器端读取Cookie集合。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号