《JSP内建对象》PPT课件.ppt_第1页
《JSP内建对象》PPT课件.ppt_第2页
《JSP内建对象》PPT课件.ppt_第3页
《JSP内建对象》PPT课件.ppt_第4页
《JSP内建对象》PPT课件.ppt_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第4章 JSP的内建对象,表4-1 网上商城子项目时间分配表,信息技术与商务管理系,大连东软信息学院,目 录,1,1,1,2,out对象,3,request对象,JSP 内建对象简介,4,response对象,5,session对象,6,application对象,信息技术与商务管理系,大连东软信息学院,目 录,1,1,1,2,out对象,3,request对象,JSP 内建对象简介,4,response对象,5,session对象,6,application对象,内置对象,JSP内建对象是指不需要声明,也不需要专门的代码创建其实例,就可以直接在JSP页面中使用的对象,所以称为“内置对象”或“内建对象”。 这些对象由容器实现和管理,是Servlet API接口的实例,在服务器运行时自动生成。,表4.1 JSP的9个内建对象,信息技术与商务管理系,大连东软信息学院,目 录,1,1,1,2,out对象,3,request对象,JSP 内建对象简介,4,response对象,5,session对象,6,application对象,out对象,Out: 代表JSP页面的输出流,用来向客户端输出数据,并且管理应用服务器上的输出缓冲区。 主要方法 print()方法输出完后,并不结束当前行 println()方法在输出完后,会结束当前行。 注意: println()方法并不会真的在网页上产生换行的效果,只是当你在查看源文件时才会看到换行的效果。 如果希望网页上有换行的效果,必须使用HTML标签 。,将代码换成System.out,在控制台观察输出结果?,print.jsp ,println.jsp ,示例1:print和println比较,表4-2 管理缓冲区的方法,示例2:缓冲区测试bufferManage.jsp, 缓存大小: “); % 剩余缓存大小: 自动刷新: ,运行结果,信息技术与商务管理系,大连东软信息学院,目 录,1,1,1,2,out对象,3,request对象,JSP 内建对象简介,4,response对象,5,session对象,6,application对象,1、request对象简介,request对象是javax.servlet.http.HttpServletRequest的实例。该对象包括了从客户端传来的请求信息,客户端通过HTTP请求提交的信息被servlet容器封装在request对象中。获取客户端请求参数必须使用该对象。 请求信息的内容包括 请求的方式(如HTTP方法:GET、POST、PUT等) 请求的标题头(Header)、信息(如浏览器的版本信息、语言和编码方式等) 请求的正文(参数名称、参数值和客户端的主机名称等),2、request常用方法,request.getParameter(“parameterName”) 返回客户端传送给服务器端的给定参数的值,返回值类型:String类型 如果参数不存在则返回null。 注意编码转换 例如: String name=request.getParameter(“send“);,2、request常用方法,request.getParameterValues() 返回指定参数的所有值,返回值类型: 字符串数组 String 能够取出变量的多个值,主要用于复选框值的获取。 String mybox; mybox=request.getParameterValues(“mybox“); if(mybox!=null) for(int i=0;imybox.length;i+) out.println(myboxi); ,2、request常用方法,request.getParameterNames() 获得客户端传送给服务器端的所有参数的名字 返回值类型:一个枚举Enumeration的实例 request.setCharacterEncoding(“gbk”) 设置request对象的编码方式,在post方式提交请求时使用。,中文乱码解决,Page指令 contentType属性设置传回网页的编码方式 pageEncoding属性设置jsp源文件的编码方式,修改request请求数据编码方式 请求方式为post:Tomcat会使用request.setCharacterEncoding方法所设置的编码来处理,如果未设置,则使用默认的iso-8859-1编码。解决方法: request.setCharacterEncoding(“gbk”);,修改request请求数据编码方式 请求方式为get:Tomcat对于GET请求并不会考虑使用request.setCharacterEncoding方法设置的编码,而会永远使用iso-8859-1编码。解决办法如下: 1.配置tomcat的配置文件server.xml里这句: 2.使用String name=new String(request.getParameter(“name“).getBytes(“ISO-8859-1“),“GB2312“);,表4-3 request对象的常用方法,示例:获取系统信息,request_method.html ,request_method.jsp代码 客户使用的协议是 获取接受客户提交信息的页面 获取客户提交信息的长度 客户提交信息的方式 获取客户的ip地址 获取客户机的名称 获取客户端与服务器连接的端口号 获取contentType的值 获得本机地址 获得本机名称 获得请求的URI 获得服务器的名称 获得服务器的端口号 ,信息技术与商务管理系,大连东软信息学院,目 录,1,1,1,2,out对象,3,request对象,JSP 内建对象简介,4,response对象,5,session对象,6,application对象,response对象简介,对象是javax.servlet.http.HttpServletResponse的实例,负责将服务器端的数据发送回浏览器客户端。通常很少使用该对象直接响应,而是使用out对象,除非需要生成非字符响应。,response常用方法,sendRedirect()方法:可以使当前页面重定向到另外的JSP程序或者HTML文件中。 例如,将客户请求转发到admin.jsp页面代码如下: ,使用response的sendRedirect()方法跳转,具有如下特点: 客户端跳转。浏览器先向服务器发送一次请求,遇到sendRedirect将目的url返回到浏览器,浏览器再去请求目的url,目的url再返回response到浏览器。浏览器和服务器两次请求响应。因此,浏览器url地址变为目的url地址; 当前页面的代码全部被执行完毕之后,才跳转到目标页面; 使用该方法能跳转到任何页面,甚至是外网地址。,比较与的区别。,response对象的其他方法,3、 response常用方法(一),PrintWriter getWriter() 返回可以向客户端输出字符的一个对象 。如: PrintWriter out=response.getWriter();,setContentType(String type) 设置数据内容的类型和字符编码。如: response.setContentType(“application/vnd.msexcel;charset=gb2312“);,setHeader(String header,String value) 设置指定名称的HTTP头的值。 例如: 设置页面定期刷新: response.setHeader(“Refresh”,“30”); 设置页面10秒后,刷新显示url指定的页面: response.setHeader(“Refresh”,”10;URL=some.jsp“);,作业:,登录页面login.jsp,处理页面respose.jsp。 login.jsp有用户名文本框(user)和密码文本框(psw),用户提交登录信息到respose.jsp。同时判断文本框名字为user,并且值为neusoft,则跳转到welcom.jsp页面。 思考: 使用两种不同的跳转方式实现,有和区别?,信息技术与商务管理系,大连东软信息学院,目 录,1,1,1,2,out对象,3,request对象,JSP 内建对象简介,4,response对象,5,session对象,6,application对象,session对象简介,什么是Session对象? 是JSP内置对象,是javax.servlet.http.HttpSession的实例化对象。 为什么需要session对象? 当一个客户访问一个服务器时,可能会在这个服务器的几个页面之间切换,服务器应当通过某种办法知道这是一个客户,就需要Session对象。 工作原理? 客户首次访问服务器上的一个JSP页面时,JSP引擎产生一个Session对象,同时分配一个String类型的ID号。,Session的生存期 创建:在客户端首次向该页面发出请求时 终止:被迫终止(关闭浏览器) 或者 session有效期结束(默认30分钟),session对象的生命周期,注:session的默认有效期修改方法。 在tomcat路径confweb.xml文件中修改 30 ,session对象的管理,在JSP的程序中,通常不用任何代码,就可以直接使用session对象。不过为了确认,可以加入以下代码,以表示需要启动session功能。 如何禁用session功能? ,String getId() 取得session的ID编号,每生成一个session对象,服务器都会给它一个编号,这个编号不会重复,服务器就依赖此编号来鉴别不同的客户。,session常用方法,session_id1.jsp代码 下一页 ,关闭掉浏览器,重新运行,ID值与前次比较是否有变化?,session_id2.jsp代码 ,比较两个页面输出的ID值是否一致?,示例1:获取session的id号,session常用方法,setAttribute(String name,Java.lang.Object) 设定指定名字的属性的值,并且将它添加到session对象中,如果这个属性存在,则更改该属性的值。 getAttribute(String name) 获取指定名字的属性的值,如果该属性不存在,则返回null。 removeAttribute(String name) 移除session的某个属性。,例4-9,session的其它方法,setMaxInactiveInterval(int interval) 设置会话的最大持续时间,单位是秒,负数表明会话永不失效。,invalidate() 使用该方法使session失效,也就是删除已保存在session中所有对象。,例4-10,案例简单的购物车, 请选择商品 苹果 香蕉 桔子 ,课后作业,查找java语言中列表的用法 ArrayList或者Vector 向数组中添加元素的方法 删除元素的方法 如何读取对象数组中的数据,信息技术与商务管理系,大连东软信息学院,目 录,1,1,1,2,out对象,3,request对象,JSP 内建对象简介,4,response对象,5,session对象,6,application对象,application简介,application对象是javax.servlet.ServletContext的实例。,功能:该对象代表web应用本身,整个web应用共享一个application对象,用来在所有用户间共享信息,并可以在Web应用程序运行期间持久地保持数据。,application简介,application对象与session对象的区别:,1、 session是源自于 javax.servlet.http.HttpSession接口 application对象是源自于 javax.servlet.ServletContext 接口,application简介,2、就记录的数据来看 session对象记录的是不同用户的个别数据 application对象记录的是不同用户之间共用的数据,3、就生存周期上来看 session对象从客户第一次访问服务器开始到客户关闭浏览器为止; application对象自服务器启动就产生了,一直到服务器关闭为止。,applicaiton对象的常用方法,1、void setAttribute(String 属性名称,Object值) 将数据存入applicaiton对象。 application.setAttribute(“Customer”,“顾客”);,2、object getAttribute(String 属性名称) 根据属性名称从application对象中取得该属性的值。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论