《JSP实用简明教程(第二版) 教学课件 ppt 作者 978-7-302-20085-7 chapter05》由会员分享,可在线阅读,更多相关《JSP实用简明教程(第二版) 教学课件 ppt 作者 978-7-302-20085-7 chapter05(33页珍藏版)》请在金锄头文库上搜索。
1、重点内容: Request对象 Response对象 session对象 Out对象 PageContext对象 Application对象 config对象 Exception对象,第5章 JSP主要内置对象,一、Request对象,Request内置对象代表了客户端的请求信息,主要用于接受客户端通过HTTP协议传送给服务器端的数据。在客户端的请求中如果有参数,则该对象就有一个参数列表。它通常是HttpServlet-Request的子类,其作用域就是一次Request请求。Request对象包括很多方法,主要有: getCookies():返回客户端的cookie对象,结果是一个cooki
2、e数组。 getSession(boolean create):返回和当前客户端请求相关联的HttpSession对象,如果当前客户端请求没有和任何HttpSession对象关联,那么如果create变量为true,则创建一个HttpSession对象并返回;反之,返回null。 getHeader(String name):获得http协议定义的传送文件头信息 getAttribute(String name):返回name指定的属性值,若不存在指定的属性,就返回null。 getattributeNames():返回request对象所有属性的名字,结果集是一个Enumeration(枚举
3、)类的实例。 getHeaderNames():返回所有request header的名字,结果集是一个Enumeration(枚举)类的实例。,1、Request对象的方法,一、Request对象, getHeaders(String name):返回指定名字的request header的所有值,结果集是一个Enumeration(枚举)类的实例。 getMethod():返回客户端向服务器端传送数据的方法,一般方法有GET、POST、PUT等类型。 getParameter(String name):以字符串的形式返回客户端传来的某一个请求参数的值,该参数名由name指定。当传递给此方法
4、的参数名没有实际参数与之对应时,返回null。另外,当一个参数含有多个值时最好不要使用这个方法。 getparameterNames():返回客户端传送给服务器端的所有的参数名,结果集是一个Enumeration(枚举)类的实例。当传递给此方法的参数名没有实际参数与之对应时,返回null。 getParameterValues(String name):以字符串数组的形式返回指定参数所有值。 getQueryString():返回查询字符串,该字符串由客户端以GET方法向服务器端传送。,1、Request对象的方法,一、Request对象, getRequestURI():获得发出请求字符串的
5、客户端地址。 getServletPath():获得客户端所请求的脚本文件的文件路径。 setAttribute(String name,Java.lang.Object o):设定名字为name的request参数值,该值由Object类型的o指定 getServerName():获得服务器的名字,如果没有设定服务器名,则返回服务器IP地址。 getServerPort():获得服务器的端口号。 getRemoteAddr():获得客户端的IP地址。 getRemoteHost():获得客户端主机的名字,若失败,则返回客户端电脑的IP地址。 getProtocol():获取客户端向服务器端传
6、送数据所依据的协议名称,如http/1.1。 getContentLength():以字节为单位返回客户端请求的大小。如果无法得到该请求的大小,则返回-1。 getContentType():获取客户端请求的MIME类型。如果无法得到该请求的MIME类型,那么返回-1。,1、Request对象的方法,一、Request对象, getInputStream():以二进制的形式将客户端的请求以一个ServletInputStream的形式返回。使用此方法可以获得客户端的multipart/form-data数据,可以实现文件上传。 isSecure():如果客户机是通过一个安全的访问方式访问的,就
7、返回true;反之,返回false. getDateHeader():返回一个long类型的数据,表示客户端发送到服务器的头信息中的时间信息。 getInitHeader():获取客户端发送到服务器端的头信息中的某一个特定的信息,并转换为int类型。 getContextPath():返回环境路径。对于JSP来说,一般是当前Web应用程序的根目录。 isRequestedSessionIdValid():返回一个指示客户端请求发送Session ID是否仍然有效的布尔值。 isRequestedSessionIdFromCookie():返回一个指示客户端请求发送Session ID是否存在于
8、Cookie中的布尔值。 isRequestedSessionIdFromURL():返回一个指示客户端请求发送Session ID是否存在于URL中的布尔值。,1、Request对象的方法,一、Request对象,1. 获取客户端属性实例 该实例是在一个页面request01.jsp中,通过setAttribute()方法设置属性admin和password的值,然后使用重定向到request02.jsp中,在request02.jsp,命名用getAttribute()方法获取相关的值,并显示在页面上。,2、Request对象的示例,1 5 程序request02.jsp清单如下: 1 3
9、 4 5 新闻管理系统 6 7 8 ,9 当前登录的用户名为: 10 11 12 13 14 当前登录的密码为: 15 16 17 18 ,一、Request对象,有一个用户登录的页面request03.jsp,其action值为request04.jsp,在request04.jsp中,获取登录的用户名和密码。 程序request03.jsp清单如下: 1 3 4 5 新闻发布系统 6 7 8 9 10 11 用户名: 12 密码 13 14 15 16 17 18 ,2、Request对象的示例,一、Request对象,程序request04.jsp清单如下: 1 3 4 5 新闻发布系统
10、 6 7 8 当前登录的用户名为: 9 当前登录的密码为: 10 11 ,2、Request对象的示例,一、Request对象,3. 客户端信息获取实例 这是一个综合应用getProtocol()、getServletPath()、getContentLength()、getMethod()、getRemoteAddr()、getRemoteHost()、getServerName()、getParameterName()等Request对象方法的例子,实现了对一些系统信息的简单的输出显示。,2、Request对象的示例,1 3 4 5 6 新闻发布系统 7 8 9 10 11 request
11、对象相关方法 12 13 14 15 16 ,17 客户使用的协议 18 19 20 21 22 23 24 25 接受客户提交信息的页面 26 27 28 29 30 31 32 33 接受客户提交信息的长度 34 35 ,一、Request对象,2、Request对象的示例,36 37 38 39 40 41 客户提交信息的方式 42 43 44 45 46 47 48 49 HTTP头文件中User-Agent的值 50 51 52 53 54 55 56 57 HTTP头文件中accept的值 58 59 ,60 61 62 63 64 65 HTTP头文件中Host的值 66 67
12、68 69 70 71 72 73 HTTP头文件中accept-encoding的值 74 75 76 77 78 79 80 81 客户机的IP地址 82 83 84 ,一、Request对象,2、Request对象的示例,85 86 87 88 89 客户机的名称 90 91 92 93 94 95 96 97 服务器的名称 98 99 100 101 102 103 104 105 服务器的端口号 106 107 108 109 110 111 ,113 客户端提交的所有参数的名字 114 115 116 123 124 125 126 127 头名字的一个枚举 128 129 130 % 131 Enumeration enum_headed = request.getHead