最新JSP内置对象课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《最新JSP内置对象课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 JSP 内置 对象 课件
- 资源描述:
-
1、本章内容5.1 JSP内置对象概述5.2 request对象5.3 response对象5.4 out对象5.5 session对象5.6 application对象5.7 exception对象5.8 JSP其他内置对象5.9 CookieinfoInput.html页面主要代码:姓名:电话:infoReceive.jsp代码 您输入的信息为:姓名:电话:页面运行结果如图5.1和5.2所示5.2.4 request对象常用方法在客户访问页面时,向服务器的JSP引擎提交一个HTTP请求,该请求包含一个请求行、主机头和上载信息。例如:post/ex8-01.html/HTTP1.1 /请求行 h
2、ost:local:8080 /头,host是头名字request对象也提供了一些其他方法,用来获得客户传来信息的其他部分。request对象常用方法 1.getProtocol():获取客户端向服务器端传送数据所使用的协议名称和版本号2.getServerName():获得服务器的名字3.getServerPort():获得服务器所使用的端口号。4.getRemoteAddr():获得客户端的IP地址。5.getRemoteHost():获得客户端主机的名字,若失败,则返回客户端的IP地址。request对象常用方法 6.getMethod():返回客户端向服务器端传送数据的方法,一般方法为
3、get或post。7.getCookies():返回客户端的cookie对象,结果是一个cookie数组。如果客户端没有发送cookie,则返回空值。8.getSession(boolean create):返回和当前客户端请求相关联的HttpSession对象,如果当前客户端请求没有和任何HttpSession对象关联,那么当create变量为true,则创建一个HttpSession对象并返回;反之,返回null。9.getHeader(String name):获得http协议定义的传送文件头信息。request对象常用方法10.getAttribute(String name):返回n
4、ame指定的属性值,若不存在指定的属性,就返回null。11.getAttributeNames():返回request对象所有属性的名字,结果集是一个Enumeration(枚举)类的实例。12.getHeaderNames():返回所有request header的名字,结果集是一个Enumeration(枚举)类的实例。13.getHeaders(String name):返回指定名字的request header的所有值,结果集是一个Enumeration(枚举)类的实例。14.getParameter(String name):以字符串的形式返回客户端传来的某一个请求参数的值,该参数
5、名由name指定。当传递给此方法的参数名没有实际参数与之对应时,返回null。15.getParameterNames():返回客户端传送给服务器端的所有的参数名,结果集是一个Enumeration(枚举)类的实例。当传递给此方法的参数名没有实际参数与之对应时,返回null。request对象常用方法16.getParameterValues(String name):以字符串数组的形式返回指定参数所有值。17.getQueryString():返回查询字符串,该字符串由客户端以GET方法向服务器端传送。18.getRequestURI():获得发出请求字符串的客户端地址19.getServl
6、etPath():获得客户端所请求的脚本文件的文件路径。20.setAttribute(String name,Java.lang.Object o):设定名字为name的request参数值,该值由Object类型的o指定。21.getContentLength():以字节为单位返回客户端请求的大小。如果无法得到该请求的大小,则返回-1。22.getContentType():获取客户端请求的MIME类型。如果无法得到该请求的MIME类型,那么返回-1。23.getInputStream():以二进制的形式将客户端的请求以一个ServletInputStream的形式返回。使用此方法可以获得
7、客户端的multipart/form-data数据,可以实现文件上传。request对象常用方法24.isSecure():如果客户机是通过一个安全的访问方式访问的,就返回true;反之,返回false。25.getDateHeader():返回一个long类型的数据,表示客户端发送到服务器的头信息中的时间信息。26.getInitHeader():获取客户端发送到服务器端的头信息中的某一个特定的信息,并转换为int类型。27.getContextPath():返回环境路径.对于JSP来说,一般是当前Web应用程序的根目录。28.isRequestedSessionIdValid():返回一个
8、指示客户端请求发送Session ID是否仍然有效的布尔值。29.isRequestedSessionIdFromCookie():返回一个指示客户端请求发送Session ID是否存在于Cookie中的布尔值。30.isRequestedSessionIdFromURL():返回一个指示客户端请求发送Session ID是否存在于URL中的布尔值。5.2.5 request对象常用方法应用案例【例5.2】使用request对象的常用方法,获取客户端提交信息的不同部分。本例中的用户输入页面infoInput2.html只需要把例5.1的文件infoInput.html的form的action属
9、性值改为infoReceive2.jsp即可。infoReceive2.jsp主要代码%out.println(姓名文本框提交信息:+request.getParameter(RdName)+);out.println(电话文本框提交信息:+request.getParameter(PhName)+);out.println(客户端协议名和版本号:+request.getProtocol()+);out.println(客户机名:+request.getRemoteHost()+);out.println(客户机的IP地址:+request.getRemoteAddr()+);out.prin
10、tln(客户提交信息的长度:+request.getContentLength()+);.infoReceive2.jsp主要代码.out.println(客户提交信息的方式:+request.getMethod()+);out.println(HTTP头文件中Host值:+request.getHeader(Host)+);out.println(服务器名:+request.getServerName()+);out.println(服务器端口号:+request.getServerPort()+);out.println(接受客户提交信息的页面:+request.getServletPat
11、h()+);%request对象常用方法的输出5.3 response对象5.3.1 response对象的功能 把服务器端的数据以HTTP的格式发送到客户端浏览器 它的功能和request对象的功能相反 request对象用于得到用户提交的信息 而response对象是向用户发送信息 两者结合起来完成动态页面的交互功能。5.3.1 response对象的功能response对象的主要方法:sendRedirect():页面重定向方法 setStatus():设置状态行方法 setContentType():设置文本类型方法5.3.2 sendRedirect方法将客户端浏览器转向新的页面,页
12、面中重定向语句后的代码不再被执行。它可以根据用户的不同要求转向不同的页面。【例5.3】response对象的使用。用户在登录界面输入用户名和密码,提交后验证登录者输入的用户名和密码是否正确,根据判断结果转向不同的页面。其中userLogin.htmluserLogin.html为用户输入界面 userReceive.jspuserReceive.jsp为接收用户输入信息并判断输入是否正确页面 loginCorrect.htmlloginCorrect.html和loginError.htmlloginError.html分别为登录成功界面和登录失败界面。userLogin.html页面主要代码
13、 姓 名:密 码:userReceive.jsp页面源代码 需要注意的是,在实际的Web开发中,用户的信息保存在数据库中,判断用户登录时所输入的用户名和密码是否正确需要连接到数据库,和数据库中的数据进行匹配。此处为了演示sendRedirect方法的使用,简单的和常量进行比较。5.3.3 response的状态行1状态行的作用当页面出现错误时,服务器会自动响应,将相应的出错信息返回客户端。状态行包含3位数字的状态代码,代表错误的性质和处理方法。共有5类状态码,如下:1XX(1开头的3位数):主要是实验性质的。例如101表示服务器正在升级协议。2XX:表示请求成功。如200表示请求成功。3XX:
14、表示在请求满足之前应采取的进一步行动。如305表示请求必须通过代理来访问。4XX:浏览器不能满足请求时,返回的状态码。如404表示请求的页面不存在。5XX:服务器执行出现错误时,返回的状态码。如500表示服务器内部发生错误,不能服务。2.setStatus()方法程序中可以使用response对象的setStatus()方法设置状态行。在一般情况下,不需要在程序中设置状态码。页面出现问题时,服务器会自动响应,并发送相应的状态码提示用户。2.setStatus()方法使用response.setStatus(int n)方法设置状态行 例如response.setStatus(501)取得错误信
15、息为501的出错信息,返回该出错页面到客户端。如果状态代码为出错码,页面中 response.setStatus()后面的语句将不被执行。5.3.4 setContentType方法1.setContentType方法功能 在程序运行过程中,为响应设置内容的类型,即根据需要动态设置ContentType属性值。2.setContentType语法格式 response.setContentType(String s);response.setContentType(String s);应用setContentType(String s)方法动态设置MIME类型,参数s可以取以下值:text/h
16、tml:HTML超文本文件,后缀为“.html”text/plain:plain文本文件,后缀为“.txt”application/msword:word文档文件,后缀为“.doc”application/x-msexcel:excel表格文件,后缀为“.xls”image/jpeg:jpeg图像,后缀为“.jepg”image/gif:gif图像,后缀为“.gif”3.setContentType方法应用案例【例5.5】setContentType方法应用。根据要求选择使用HTML类型、word类型或excel类型,显示同一个contentTypeData.txt文件。在contentTyp
17、e.html页面上选择不同按钮,然后单击“提交”按钮,由contentShow.jsp文件选择显示类型。contentType.html的主要代码:请选择文件显示类型 HTML类型显示 word类型显示 excel类型显示contentShow.jsp的主要代码:运行结果如下5.3.5 response对象的其他方法1.addCookie(Cookie cookie):添加一个Cookie对象,用来保存客户端的用户信息,用request的getCookies()方法可以获得这个Cookie。2.addHeader(String name,String value):添加HTTP文件头,该hea
18、der将会传到客户端去3.containsHeader(String name):判断指定名字的HTTP文件头是否存在,并返回布尔值。4.sendError(int sc):向客户端发送错误信息,其中,sc为错误代码。5.3.5 response对象的其他方法5.setHeader(String name,String value):设定指定名字的HTTP文件头的值,如果该值存在,那么它会被新的值覆盖。6.getCharacterEncoding():返回服务器响应客户所使用的编码属性。7.getWriter():获得一个打印输出对象,用来向客户发送文本。8.setContentLength(
19、):用来设置服务器发送给客户端内容的长度。5.3.6 response方法应用案例【例5.6】用response方法实现定时刷新网页。flushPage.jsp文件代码如下response刷新页面实例当前系统的时间是:该程序中用到了有关日期的方法,故在页面开始处用import指令导入java.util.Date类。程序通过response对象的setHeader()方法设置HTTP头中refresh信息的值,使得网页不断刷新。5.4 out对象用来向客户端输出各种格式的数据,并且管理应用服务器上的输出缓冲区5.4.1 out对象的功能out对象是一个输出流,用来向客户端发送数据。out对象发送
20、的内容具有文本的性质,可以通过out对象直接向客户端发送一个由程序动态生成的HTML文件。常用的方法有print()和println()。由于out对象内部包含了一个缓冲区,所以需要一些对缓冲区进行操作的方法5.4.2 out对象中预定义的常量和变量在out对象中需要使用常量和变量,变量在使用时需要赋值。out对象常用属性如下:NO_BUFFER:表示非缓冲区输出 DEFAULT_BUFFER:缓冲区输出,使用默认的缓冲区大小。buffrerSize:缓冲区大小,以字节为单位的整型数。autoFlush:是否自动清空缓冲区5.4.3 out对象方法1.out.print()或out.print
21、ln():两者都用于输出数据。out.print()方法与out.println()方法的区别是:out.print()方法在输出完毕后,并不结束该行 out.println()方法在输出完毕后,会结束当前行,下一个输出语句将在下一行开始输出。5.4.3 out对象方法2.out.newLine():输出一个换行符号。3.out.clearBuffer():清除缓冲区里的数据,并且把数据写到客户端去。4.out.clear():清除缓冲区里的数据,但不把数据写到客户端去。5.out.getRemaining():获取缓冲区中没有被占用的空间的大小。5.4.3 out对象方法6.out.flus
22、h():输出缓冲区里的数据。out.flush()方法也会清除缓冲区中的数据。但是此方法会先将之前缓冲区中的数据输出至客户端,然后再清除缓冲区中的数据。7.out.getBufferSize():获取当前缓冲区的大小(KB)。可以通过page指令 来调整缓冲区的大小。8.out.isAutoFlush():返回布尔值,如果auto flush(若缓冲区满了,会自动清除),那么返回true;反之,如果不是auto flush(若缓冲区满了,不会自动清除,而会产生异常处理),则返回false。是否auto fush可以用来设置。9.out.close():关闭输出流,从而可以强制终止当前页面的剩余
23、部分向浏览器输出。5.4.4 out对象应用案例【例5.7】用out对象输出表格。outTable.jsp主要代码:%out.print(参会人员名单(用out输出表格));out.print();out.print(+姓名+);out.print(+年龄+);out.print(+性别+);out.print(+工作单位+);out.print(+张三+);out.print(+26+);out.print(+男+);out.print(+北京工业大学+);outTable.jsp主要代码:out.print(+李四+);out.print(+27+);out.print(+女+);out.
24、print(+北京理工大学+);out.print(+袁五+);out.print(+31+);out.print(+男+);out.print(+北京工商大学+);out.print();%【例5.9】flush()方法的应用。应用for循环延迟文字的输出,并使用flush()方法把缓存区的内容输出到页面,使输出的文字逐行显示出来。flushDelay.jsp代码如下:%for(int i=0;i=6;i+)/通过for循环,输出7行文字于页面中for(int j=0;j 200000000;j+)/利用for循环延迟文字的输出out.println(str+);/将字串输出至缓冲区out.
25、flush();/将缓冲区的文字输出至网页%5.5 session对象客户与服务器的通信是通过HTTP协议完成的。但是,HTTP协议是一种无状态协议 要想记住客户的连接信息,可以使用会话对象(session)。session对象记录了每个客户与服务器的连接信息5.5.1会话和会话ID从一个客户打开浏览器连接到服务器的某个页面,到客户关闭浏览器(这其间,客户访问的是同一网站的网页),这一过程称为一个会话(session)。这时,在服务器端,系统为该客户创建了一个session对象,用来存储客户在访问各个页面期间提交的各种信息,例如用户名、号码等。同时为该对象分配一个String类型的ID号,叫做
展开阅读全文