第8讲JSP内置对象.ppt
《第8讲JSP内置对象.ppt》由会员分享,可在线阅读,更多相关《第8讲JSP内置对象.ppt(56页珍藏版)》请在三一文库上搜索。
1、上节回顾:JSP语法 JSP的标记,在JSP中变量和方法的声明、Java程序片、表达式和注释。 将HTML代码嵌入Java中就构成了servlet,而把Java 代码嵌入HTML中就构成了JSP。,客户与服务器间的交互管理在servlet中通过HttpServletRequest对象和HttpServletResponse对象来完成,JSP中则通过JSP的内置对象来完成。,第8讲 JSP的内置对象 request 对象 response 对象 out对象 session对象 application对象,1 request 对象 request(接受客户端输入的信息) 作用:主要用于接受客户端通
2、过http协议连接传输到服务器端的数据。 方法: getParameter(String name):获得客户端传送给服务器端的参数值,该参数由name指定 getQueryString():获得查询字符串,该串由客户端以GET方法向服务器端传送 setAttribute(String name,Java.lang.Object o):设定名字为name的request参数值,该值由Object类型的o指定 getAttribute(String name):返回name指定的属性值,若不存在指定的属性,就返回空值(null)。,getParameterValues(String name):
3、获得指定参数所有值 getparameterNames():获得客户端传送给服务器端的所有的参数名,结果集是一个Enumeration(枚举)类的实例 getattributeNames():返回request对象所有属性的名字,结果集是一个Enumeration(枚举)类的实例 getCookies():返回客户端的cookie对象,结果是一个cookie数组 getHeader(String name):获得http协议定义的传送文件头信息, 如:request.getHeader(“User-agent”)返回客户端浏览器的版本号、类型,getRequestURI():获得发出请求字符串
4、的客户端地址 getMethod():获得客户端向服务器端传送数据的方法有GET、POST、PUT等类型 getServletPath():获得客户端所请求的脚本文件的文件路径 getHeaderNames():返回所有request header的名字,结果集是一个Enumeration(枚举)类的实例 getHeaders(String name):返回指定名字的request header的所有值,结果集是一个Enumeration(枚举)类的实例,getServerName():获得服务器的名字 getServerPort():获得服务器的端口号 getRemoteAddr():获得客
5、户端的IP地址 getRemoteHost():获得客户端电脑的名字,若失败,则返回客户端电脑的IP地址 getProtocol():获取客户端向服务器端传送数据所依据的协议名称,如http/1.1 例获得客户端基本信息request_method.jsp, 填写姓名: ,例获取用户提交的请求信息form1.jsp, 获取文本框提供的信息: 获取按钮的名字: 客户端请求的方式: 客户端发送的姓名: ,响应程序request1.jsp,String textContent=request.getParameter(“girl“); if(textContent=null) textContent
6、=“; ,注意: 使用request对象获取信息时要避免使用了空对象。因为在客户请求页面时,客户可能还没有提交数据,对象还没有被创建,就使用了该对象,Java解释器就会提示出现了NullPointerException异常。 为避免出现这种问题,使用如下代码加以避免:,注意:中文显示问题 若是直接赋值的中文字符串,用就可正常显示。 request传过来的中文字符串可通过如下方法设置显示方式: String aa=str; byte aa=aa.getBytes(“ISO8859-1”); String bb=new String(aa); 或在使用request对象前插入语句: ,2 resp
7、onse对象 当客户访问一个服务器的页面时,会提交一个HTTP请求,服务器收到请求时,返回HTTP响应。 与request对象相对应的对象是response对象。用response对象对客户的请求作出动态响应,向客户端发送数据。比如,当一个客户请求访问一个JSP页面时,该页面用page指令设置页面的contentType属性的值是text/html,那么JSP引擎将按着这种属性值响应客户对页面的请求,将页面的静态部分返回给客户。如果想动态地改变contentType的属性值就需要用response对象改变页面的这个属性的值,作出动态的响应。,方法: addHeader(String name,
8、String value):添加HTTP文件头,该header将会传到客户端,若同名的header存在,原来的header会被覆盖。 containsHeader(String name):判断指定名字的HTTP文件头是否存在并返回布尔值。 sendError(int sc):向客户端发送错误信息,如:505:服务器内部错误;404:网页找不到错误。如:response.sendError( response.SC_NO_CONTENT); setHeader(String name,String value):设定指定名字的HTTP文件头的值,若该值存在,它将会被新值覆盖。,如1:让网页每隔
9、5秒刷新一次 the current dateis: 如2:利用response对象设定HTTP头 实例response_method.jsp,动态响应contentType属性 由于page指令只能为contentType指定一个值,来决定响应的MIME类型,如果想动态的改变这个属性的值来响应客户,就需要使用response对象的setContentType(String s)方法来改变contentType的属性值: response.setContentType(String s); 该方法动态设置响应的MIME类型,参数s可取:text/html、 application/x-msex
10、cel、application/msword等。,MIME(Multipurpose Internet Mail Extentions),表示多用途Internet邮件扩允协议 当服务器用setContentType方法动态改变了contentType的属性值,即响应的MIME类型,并将JSP页面的输出结果按着新的MIME类型返回给客户时,客户端要保证支持这种新的MIME类型。 客户如果想知道自己的浏览器能支持哪些MIME类型,可以点击资源管理器工具文件夹选项文件类型。常见MIME类型:, 我正在学习response对象的 setContentType方法 将当前页面保存为word文档吗? ,
11、JSP页面通过动态地改变contentType的属性值,浏览器提示用户用Ms-Word格式来显示当前页面。 运行,Response重定向 sendRedirect(URL):可以将用户重定向到一个不同的页面(URL)。 sendRedirect(URL)方法通过返回特定的状态代码而起作用,当它被调用时,返回一个状态代码,然后在响应中定位,给新页面一个新地址。 在某些情况下,当响应客户时,需要将客户重新引导至另一个页面。例如,如果客户输入的表单信息不完整,就会再被引导到该表单的输入页面。 可以使用response的sendRedirect(URL url)方法实现客户的重定向。 在下面的例子中,
12、客户在Example2.jsp页面填写表单提交给tree1.jsp页面,如果填写的表单不完整就会重新定向到Example2.jsp页面。,sendRedirect.jsp:, 填写姓名: ,tree1.jsp:,3 Out对象 out对象是一个输出流,用来向客户端输出数据。在前面的许多例子里曾多次使用out对象进行数据的输出。out对象可调用如下的方法用于各种数据的输出。 方法:out.print(数据) 或 out.println(数据) out.newLine():输出一个换行符号 out.flush():输出缓冲区的数据 out.close():关闭输出流 out.clearBuffer
13、():清除缓冲区里的数据,并把数据写到客户端,out.clear():清除缓冲区里的数据,但不把数据写到客户端 out.getBufferSize():获得缓冲区的大小,缓冲区的大小可用设置 out.getRemaining():获得缓冲区没有使用的空间的大小 out.isAutoFlush():返回布尔值,若auto flush则返回true,否则返回false。是否auto fush我们可用%page is AutoFlush=”true/false”%来设置 实例,下例使用out对象向客户输出包括表格等内容的信息。 例子 out.jsp, 这是标题1字体的大小“); out.printl
14、n(“这是标题2字体的大小“); out.print(“); out.println(a); out.println(b); out.println(c); % 以下是一个表格 “); out.println(“); out.println(“); out.println(“+“姓名“+“);,out.println(“+“性别“+“); out.println(“+“出生日期“+“); out.println(“+“); out.println(“+“刘甲一“+“); out.println(“+“男“+“); out.println(“+“1978年5月“+“); out.println(
15、“+“); out.println(“+“林 霞“+“); out.println(“+“女“+“); out.println(“+“1979年8月“+“); out.println(“+“这是表格“+“); out.println(“+“+“) ; % ,Cookies集合 浏览器与WEB服务器之间是使用HTTP协议进行通信的,当某个用户发出页面请求时,WEB服务器只是简单的进行响应,然后就关闭与该用户的连接。 因此当一个请求发送到WEB服务器时,无论其是否是第一次来访,服务器都会把它当作第一次来对待。为了弥补这个缺陷,Netscape开发出了cookie这个有效的工具来保存某个用户的识别信
16、息,因此人们昵称为“小甜饼”。 cookie是一种WEB服务器通过浏览器在访问者的硬盘上存储信息的手段:Netscape Navigator使用一个名为cookie.txt本地文件保存从所有站点接收的Cookie信息;而IE浏览器把Cookie信息保存在类似于C:Documents and SettingsAdministratorCookies的目录下。 当用户再次访问某个站点时,服务端将要求浏览器查找并返回先前发送的Cookie信息,来识别这个用户。,cookie的好处: 1、能使站点跟踪特定访问者的访问次数、最后访问时间和访问者进入站点的路径。 2、能告诉在线广告商广告被点击的次数 ,从
17、而可以更精确的投放广告。 3、有效期限未到时,Cookie能使用户在不键入密码和用户名的情况下进入曾经浏览过的一些站点。 4、能帮助站点统计用户个人资料以实现各种各样的个性化服务。 Cookie的缺陷: 多人共用一台电脑的问题 ;Cookie被删除时的问题。 Cookie的应用: 1、网站浏览人数管理。 2、按照用户的喜好定制网页外观。 3、在电子商务站点中实现诸如“购物篮”等功能。,创建Cookie JSP是调用Cookie相应的构造函数Cookie( name, value)用合适的名字和值来创建Cookie,然后 通过HttpServletResponse的addCookie方法加入到S
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JSP 内置 对象
链接地址:https://www.31doc.com/p-3435833.html