JSP内置对象应用.ppt
内置对象,章节纲要,什么是内置对象内置对象类型 request应用out对象应用session应用Application对象应用,本章节案例,案例名称:用户登陆与退出知识点:数据内置对象与数据的作用域用户登陆信息的对象化保存Map与HashMap的基本应用,什么是内置对象,在JSP规范中,为了简化Java代码的应用,预先定义了一批对象,这些对象,由JSP服务器负责建立,内置到了每个JSP中。在开发JSP程序时,对于这些对象,不需要声明和实例化,可以直接使用。上述对象,一共有九个,称为“JSP九大内置对象”,对象含义,九大内置对象包括:request-请求对象response-响应对象pageContext-页面上下文对象session-会话对象application-应用程序对象out-输出对象config-配置对象page-页面对象exception-例外对象,page对象,“page”对象代表了正在运行的由JSP文件产生的类对象,不建议一般读者使用,request对象,“request”对象代表的是来自客户端的请求,该对象内部包含了客户端表单中提交的全部信息,以及客户端所在位置等相关信息,request对象主要方法,请求的文件名:request.getServletPath();客户端IP地址:request.getRemoteAddr();客户端主机名:request.getRemoteHost();请求的资源:request.getRequestURI();请求的路径:request.getContextPath();添加属性:request.setAttribute();获取属性:request.getAttribute();删除属性 request.removeAttribute();获取单一参数:request.getParameter();获取同名参数:request.getParameterValues();获取全部参数:request.getParameterMap();,JSP数据输出,request对象解决了数据的传入(数据提交)问题,那么,提交上来的数据,原样输出,运算结果的显示怎么解决哪?为此JSP提供了两种实现手段:输出表达式:小巧灵活输出对象out:脚本段输出对象 out.print();数据原样输出 out.println();输出数据的同时,连带输出一个空行,但是这个空行会被浏览器忽略,所以如果想实现换行效果,必须显式输出”;,中文转码,乱码问题在jsp中,当使用out.print(request.getParameter(“parameter-name”)输出表单数据时,如果表单数据为中文字符时,则输出的内容是乱码。原因:在Web应用中,当客户端向服务器提交请求的时候,提交的信息一般用本地字符集进行编码,如中文采用GB2312或GBK字符集(GBK是GB2312的扩展),英文或西欧文字采用ISO-8859-1字符集。由于Java程序中一律采用Unicode处理字符串,当JSP文件转成Java文件时,大部分服务器默认使用ISO-8859-1字符集来进行编码,所以出现乱码问题也是在所难免的解决之道:逆向还原String str=request.getParameter(“parameter-name”);/获取参数byte buffer=str.getBytes(“ISO-8859-1”);/还原成字节数组String str1=new String(buffer,“GBK”);/还原成GBK原码,session对象,session是什么?当用户开浏览器访问某一个网站的时候,在浏览器没有被关闭以前,该用户可能会访问该网站上的多个页面,填写或查询数据。而此时服务器怎么知道这些行为是同一个客户完成的哪?这个,就是session(会话)对象要解决的问题。基本原理其基本原理非常简单,就是当用户,访问网站的某个网页的时候,服务器,为该用户创建一个session对象,并且为其分配一个String类型的id号码。同时,将这个id号码保存到客户端的Cookie。这样,客户端与服务器之间通过session对象就建立了一种连接关系。当客户再访问其他页面时,服务器就不会创建新的session了。只有到了客户关闭浏览器的时候,服务器端的session对象和客户端的会话对应关系才会消失。当客户重新打开浏览器的时候,一个新的session对象再次产生,会话重新建立。session的作用:识别用户承载当前用户信息,session常用方法,添加要保存的信息session.setAttribute(String key,Object val);获取曾经保存的信息session.getAttribute(String key);删除曾经保存的信息session.removeAttribute(String key);销毁sessionsession.invalidate();该方法表示,客户端结束当前会话,销毁session,一般用户系统的安全退出,session基本原理,基本原理其基本原理非常简单,就是当用户,访问网站的某个网页的时候,服务器,为该用户创建一个session对象,并且为其分配一个String类型的id号码。同时,将这个id号码保存到客户端的Cookie。这样,客户端与服务器之间通过session对象就建立了一种连接关系。当客户再访问其他页面时,服务器就不会创建新的session了。只有到了客户关闭浏览器的时候,服务器端的session对象和客户端的会话对应关系才会消失。当客户重新打开浏览器的时候,一个新的session对象再次产生,会话重新建立。,Application对象,疯狂对话,作用域内的数据,什么是作用域,就是数据在什么范围内可见,用户登陆程序,见代码,谢谢!,