欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    JavaWeb技术之JSP篇对象.ppt

    • 资源ID:6509594       资源大小:1.46MB        全文页数:122页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    JavaWeb技术之JSP篇对象.ppt

    JavaWeb技术之JavaServer Pages(JSP),2,2,2、JSP内置对象,JSP 有以下九种内置对象,包括:request,请求对象,功能是用来得到客户端的信息response,响应对象,功能是处理服务器端对客户端的一些响应pageContext,页面上下文对象,提供了访问和放置页面中共享数据的方式session,会话对象,用来保存单个用户访问时的一些信息application,应用程序对象,用来保存网站的一些全局变量out,输出对象,功能是把信息回送到客户端的浏览器中config,配置对象page,页面对象exception,例外对象,3,重点介绍,request,请求对象session,会话对象application,应用程序对象,4,综述,有几种对象看起来和ASP的内置对象差不多,功能也类似,这是因为这些内置对象的构建基础是标准化的HTTP协议。如果使用过ASP,又对Java有一定的了解的话,那么对这几种JSP内置对象的使用应该能迅速掌握。需要注意的问题是对象名的写法,包括这些对象方法的调用时也要书写正确,因为Java语言本身是大小写敏感的。,5,从本质上讲,JSP的这些内置对象其实都是由特定的Java类所产生的,在服务器运行时根据情况自动生成,所以如果你有较好的Java基础,可以参考相应的类说明,表3.1给出了他们的对应关系。更进一步的讲解将会在讲解Servlet的一章中展开,如果你的Java基础不太好,可以先熟悉在这一章里所介绍的各种方法的使用。,6,7,request和response,“request”对象代表的是来自客户端的请求,例如我们在FORM表单中填写的信息等,是最常用的对象。关于它的方法使用较多的是getParameter、getParameterNames和getParameterValues,通过调用这几个方法来获取请求对象中所包含的参数的值“response”对象代表的是对客户端的响应,也就是说可以通过“response”对象来组织发送到客户端的数据。但是由于组织方式比较底层,所以不建议普通读者使用,需要向客户端发送文字时直接使用“out”对象即可。,8,request对象示例,姓名,9,request对象示例(Hello_req.jsp,你好,今天是 号,星期,10,request对象示例(输出结果),你好,独孤求败,今天是 9号,星期1,11,request请求对象,1getAttribute原型:public java.lang.Object getAttribute(java.lang.String name)说明:以对象的形式返回特定名称的属性值。这个方法允许Servlet引擎给出一个客户请求的特定信息。(Servlet为服务器端小程序,所有JSP页面都事先翻译成Servlet后才执行),12,request请求对象,如果所给名称的属性不存在将返回空值。属性名应该遵循和包命名方式同样的约定,不要采用如“java.*”、“javax.*”及“sun.*”.这样的命名。参数:name 一个标示属性名的字符串返回值:一个包含属性值的对象,当属性不存在是为空。,13,request对象使用示例(02-31.jsp),request 用户登录 用户名:密码:,14,浏览器类型:IE Netscape 资料选项:标题 详细,15,Post.jsp代码,test);out.println(密码:+request.getParameter(pwd)+);out.println(浏览器:+request.getParameter(radio)+);out.println(标题:+request.getParameter(check1)+);out.println(详细:+request.getParameter(check2)+);out.println(隐含:+request.getParameter(hidden)+);out.println(getContentLength()=+request.getContentLength()+);,16,out.println(getContentType()=+request.getContentType()+);out.println(getRequestURI()=+request.getRequestURI()+);out.println(getServerPort()=+request.getServerPort()+);out.println(getServerName()=+request.getServerName()+);out.println(getProtocol()=+request.getProtocol()+);out.println(getRemoteAddr()=+request.getRemoteAddr()+);out.println(getHeaderNames()=+request.getHeaderNames()+);out.println(getMethod()=+request.getMethod()+);out.println(getServletPath()=+request.getServletPath()+);out.println(isRequestedSessionIdValid()=+request.isRequestedSessionIdValid()+);%,17,运行结果,18,19,得到Form表单的信息,通常我们用得最多的就是客户端请求的参数名称和参数值信息。得到某参数值的语法为:“request.getParameter(”param1“)”。也可以通过request对象的getParameterNames()方法得到客户端传递过来的所有参数名字,如:“Enumeration params=request.getParameterNames();”。,20,得到Form表单的信息,案例名称:HTML表单程序名称:02-27.html姓名:密码:,21,读取表单数据,案例名称:读取表单数据程序名称:02-28.jsp姓名:密码:,22,第二种读取值的方法是利用集合,案例名称:使用request对象获取用户提交数据的所有参数名字和值程序名称:02-29.jsp);out.println(Values:+request.getParameter(current_param)+);%,23,得到客户的信息,利用request对象可以获得客户提交的信息,比如:JSP文件目录、客户端的地址、以及服务器的端口等,,案例名称:获得客户的信息程序名称:02-38.jsp,24,调查表信息的读取,案例名称:调查表输入页面程序名称:input.htm,25,调查表信息的读取,案例名称:调查表处理页面程序名称:handle.jsp,26,reponse对象,response对象是一个javax.servlet.http.HttpServletResponse类的子类的对象,27,网页转向,对于response对象,最常用到的是sendRedirect()方法,可以使用这个方法将当前客户端的请求转到其它页面去。相应的代码格式为:“response.sendRedirect(URL地址);”和指令的最大区别就是:只能使用在本网站内跳转,但可以使用response.sendRedirect跳转到任何一个地址的页面,案例名称:网页转向程序名称:02-33.jsp,28,session对象,“session”对象代表服务器与客户端所建立的会话,当需要在不同的JSP页面中保留客户信息的情况下使用,比如在线购物、客户轨迹跟踪等。“session”对象建立在cookie的基础上,所以使用时应注意判断一下客户端是否打开了cookie。常用的方法包括getId、getValue、getValueNames和putValue等。,29,对session的理解,案例名称:使用ID属性程序名称:02-22.jsp你的session ID:,30,自定义属性,对于session对象中,经常用到的方法是setAttribute()、getAttribute()和removeAttribute()。分别可以对session中的对象进行存取和删除操作。session对象的主要用途也是保存信息,当用户第一次到达网站时,系统为其分配一个session。session和application一样也使用自己的自定义属性,31,使用session的自定义属性,案例名称:使用session的自定义属性程序名称:4-23.jsp下一页,32,使用session的自定义属性,案例名称:使用session的自定义属性程序名称:4-24.jsp下一页,33,session对象,概要HTTP是无状态(stateless)协议;Web Server 对每一个客户端请求都没有历史记忆;Session用来保存客户端状态信息;由Web Server 写入;存于客户端;客户端的每次访问都把上次的session记录传递给Web Server;Web Server读取客户端提交的session来获取客户端的状态信息;,34,session对象示例(Form表单Logon_session.html),姓名,35,session对象示例Logon_session.jsp,你的名字已经写入session check,36,session对象示例(Check_session.jsp),您还未登录 已经登录,37,session对象示例,session请输入您的姓名:,38,post1.jsp,post.jsp 您的姓名是:您最喜欢的娱乐是:,39,post11.jsp,post1.jsp您的姓名是:您喜欢的娱乐是:,40,运行结果,41,提交后,42,输入值,43,再次提交(保存名字),44,简易session版购物车,利用session保存用户选购的商品信息,本购物车程序包含三个程序:(1)buy1.jsp:购物网页一。(2)buy2.jsp:购物网页二。(3)display.jsp:查看购物车程序。,45,简易session版购物车,案例名称:购物网页一程序名称:buy1.jsp,案例名称:购物网页二程序名称:buy2.jsp,案例名称:显示购物车程序程序名称:display.jsp,46,cookie对象,Cookie对象是由Web服务器端产生后被保存到浏览器中的信息。Cookie对象可以用来保存一些小量的信息在浏览器中。目前主流的浏览器(Internet Explorer和Netscape Navigator)都支持Cookie。可以将Cookie写到浏览器中,让浏览器来保存Cookie的值。,47,写入Cookie,案例名称:写入Cookie程序名称:02-25.jsp写入Cookie查看,48,读出Cookie,案例名称:读出Cookie程序名称:02-26.jsp读出Cookie,49,application对象,“application”对象负责提供应用程序在服务器中运行时的一些全局信息,常用的方法有getMimeType和getRealPath等。,50,application对象,站点所有的用户公用一个application对象,当站点服务器开启的时候,application就被创建,直到网站关闭。利用application这一特性,可以方便地创建聊天室和网站计数器等常用站点应用程序,51,application的自定义属性,public void setAttribute(String key,Object obj),将对象obj添加到application对象中,并为添加的对象添加一个索引关键字key。public Object getAttribute(String key),获取application对象中含有关键字key的对象。由于任何对象都可以添加到application中,因此用此方法取回对象的时候,需要强制转化为原来的类型。,52,自定义属性,案例名称:自定义属性程序名称:02-59.jsp,53,自定义属性,案例名称:自定义属性程序名称:02-60.jsp,54,application对象运行示例,application);out.println(peixun2.13.jsps MIME type is:+application.getMimeType(peixun2.13.jsp)+);out.println(URL of peixun2.13.jsp is:+application.getResource(“/peixun2.13.jsp)+);out.println(getServerInfo()=+application.getServerInfo()+);out.println(application.getRealPath();application.log(Add a Record to log_file);%,55,运行结果,56,application对象实现网页计数器,网页计数器您是第位访问者!,57,运行结果(第一次访问),58,刷新一次,59,out对象,out对象是javax.servlet.jsp.JspWriter类的一个子类的对象,它的作用是把信息回送到客户端的浏览器中。在out对象中,最常用的方法就是print()和println()。在使用print()或println()方法时,由于客户端是浏览器,因此向客户端输出时,可以使用HTML中的一些标记,例如:“out.println(”Hello,JSP“);”。其他一些常用的方法是:out.write功能和out.print相同,newLine()的功能是输出一个换行符,out.flush()的功能是输出缓冲的内容。out.close()的功能是关闭输出流。out对象的生命周期是当前页面。因此对于每一个JSP页面,都有一个out对象,60,out,“out”对象代表了向客户端发送数据的对象,与“response”对象不同,通过“out”对象发送的内容将是浏览器需要显示的内容,是文本一级的,可以通过“out”对象直接向客户端写一个由程序动态生成HTML文件。常用的方法除了pirnt和println之外,还包括clear、clearBuffer、flush、getBufferSize和getRemaining,这是因为“out”对象内部包含了一个缓冲区,所以需要一些对缓冲区进行操作的方法。,61,使用out对象,案例名称:使用out对象程序名称:4-09.jsp,62,config、page、exception,“config”对象提供一些配置信息,常用的方法有getInitParameter和getInitParameterNames,以获得Servlet初始化时的参数。“page”对象代表了正在运行的由JSP文件产生的类对象,不建议一般读者使用。“exception”对象则代表了JSP文件运行时所产生的例外对象,此对象不能在一般JSP文件中直接使用,而只能在使用了“”的JSP文件中使用,63,pageContext,“pageContext”对象直译时可以称作“页面上下文”对象,代表的是当前页面运行的一些属性,常用的方法包括findAttribute、getAttribute、getAttributesScope和getAttributeNamesInScope,一般情况下“pageContext”对象用到得也不是很多,只有在项目所面临的情况比较复杂的情况下,才会利用到页面属性来辅助处理。,64,动态contentType响应,当请求一个JSP页面的时候,如果该页面用page指令设置页面的contentType属性的值是text/html,那么服务器将把静态页面部分发送给客户端。也可以设置为其他一些相应类型,如:text/plain(文本文件)、application/x-msexcel(Excel文件)和application/msword(Word文件)等。,65,显示为Word文档,案例名称:显示为Word文档程序名称:4-11.jspresponse对象 setContentType方法将当前页面保存为word文档吗,66,HTTP文件头响应,可以利用JSP动态改变客户端的响应,使用的语法是“response.setHeader()”,比如让客户端自动每隔5秒刷新一次,,案例名称:动态改变响应头程序名称:4-12.jsp现在的时间是:,67,设置缓冲区,在实际的JSP应用开发中,为了确保显示的正确性,需要将禁用页面缓冲,否则会显示其他用户的一些的信息。为了解决这个问题,需要在每个JSP的页面中添加语句,案例名称:设置缓冲区程序名称:02-36.jsp,68,exception对象示例,Error page loginAn error occured in the bean.Error Message is:,69,内置对象小结,全面介绍了JSP的几种内置对象。熟练使用这些内置对象是开发JSP应用程序的基本要求,尤其是对于request、session和application对象更是必须要掌握的。会使用对象所具有的方法,能熟练使用每一种对象的几种常用方法。,70,3.4 HTML表单,复习Web运行原理HTML表单的概念表单元素介绍HTML表单的客户端确认客户端表单确认实例,71,Web运行原理1,客户端同Web服务器之间的协议为httpHTTP为超文本传输协议HTPP协议为“请求和响应”协议客户端请求包括:请求行、头、信息体客户端请求的方法GET、POST、HEADDELETE、TRACE、PUT提交表单的方法:GET、POST,72,Web运行原理2,服务器接收到请求后,返回HTTP响应每个响应:状态行、头、信息体常见状态404 所请求的文件不存在500 服务器程序出错200 OK 成功信息体用于浏览器显示,73,页面访问失败,74,HTML表单,表单是具有输入域、文本域的页面用于客户端同服务器端交互用户在客户端填写表单,然后“提交”表单中的信息发送到服务器服务器返回处理情况,75,HTML表单标记,表单主标记 表单中的标记 是表单开始标记,结束,76,表单的例子,表单 用户登录 用户名:密码:,77,运行结果,78,form标记,描述表单的特性,语法method表单传输方法GET方法将表单信息在URL后传输POST方法将表单信息作为信息体传输action为表单处理方式,通常为一个URLenctype为编码方式,79,标记,表单中输入信息的区域属性type 类型name 名称id 标识maxlength 最大字符数size 输入域宽度value 域的初始值button 按钮 用javascript响应,80,的类型,text 文本passwowrd 口令方式checkbox 多选框 name相同radio 单选按钮 name相同image 图片hidden 隐藏表单 发送数据submit 提交按钮 向服务器提交表单reset 复位按钮 将表单充置为初始状态,81,文本框:TEXTAREA,多行文本域:参数COLS:宽度ROWS:高度NAME:名称CPU PIV 1500Memory 512M,82,下拉框:SELECT,定义列表框:参数MULTIPLE 可同时选取多行NAME 名称SIZE 可见项目数每个项目用option标记属性SELECTED出现在option表示选中,83,select的例子,北京 天津 上海 重庆,84,表单提交,提交方式:submit类型按钮提交表单通过普通按钮的javascript函数传输方法依据中的method推荐使用POST传输编码依据中的enctype处理方式依据中的action,85,表单清除,reset按钮重置表单为初始值,86,综合例子,表单 用户注册用户名:密码:你喜欢:足球 篮球,87,性别:男 女 你的计算机CPU PIV 1500Memory 512M 你计算机的操作系统,88,你所在地:北京 天津 上海 重庆,89,运行结果,90,表单的确认,客户端确认减少服务器负载缩短用户等待时间兼容性难服务器端确认统一确认兼容性强服务器负载重,91,客户端确认,采用javascript进行确认常用函数isBetweenisDateisTimeisDigitisEmailisEmptyisIntisReal,92,客户端确认例子,客户端确认 用户登录 用户名:密码:,93,function checkform(frm)var flag=true;if(frm.name.value=)alert(姓名不能为空,请输入值!);frm.name.focus();flag=false;return flag;,94,运行结果,95,JSP与客户机的交互,从表单中获得参数返回参数表单的服务器端确认,96,从表单中获得参数,JSP通过request内置对象获取表单信息用不同的方法获取不同种类的信息获取参数的主要方法:getParameter()获取参数的值getParameterNames()获取参数的名称getParameterValues()获取多个值,97,getParameter(),可以获得文本框、文本区域、单选、多选的值表单中各元素的NAME属性是它的唯一标识,用它获取参数。参考02-?.jsp及post.jsprequest.getParameter(User);,98,向客户端输出,使用内置对象outout.println(content)使用“=”参看02-?.jsp和post.jspout.println(用户名:+User+);参看02-?.jsp您是第位访问者!,99,表单的服务器端确认,在客户端不能用JSP进行确认分工:数据处理在服务器端实效性:客户端得到服务器确认后表明数据已经到达服务器客户端兼容性好缺点:加大服务器负载和用户等待时间,100,服务器端确认方法,采用Java类对表单数据进行复杂的检查采用JSP进行确认,101,服务器端确认的例子,服务器端确认 用户登录 用户名:密码:,102,loginAction.jsp,确认JSP);out.println(密码:+pwd+);else%,103,用户名不能为空 用户登录 用户名:密码:,104,运行结果(TOMCAT),105,(未输入姓名)直接提交,106,输入用户名,107,输入用户名后提交,108,JSP的汉字问题的原理,客户端和服务器用gb2312HTTP传输编码用ISO8859_1服务器需要指示客户端文档的编码方式,109,JSP的汉字问题出现环节,客户端显示文档时的编码方式(由服务器中的JSP、Servlet指明)客户端发送汉字时自动转换为iso8859_1服务器中采用gb2312对汉字编码,接收到客户端汉字需要转换为gb2312服务器端将JSP转换为Servlet时自动将汉字转换为iso8859_1服务器端应该告诉客户端汉字的编码方式,110,JSP汉字问题的范围,JSP文件的汉字问题表单处理的汉字问题Servlet的汉字问题(以后讲解)JDBC的汉字问题(以后讲解),111,JSP文件的汉字问题,JSP中的汉字字符串在服务器端用gb2312在编译为Servlet时自动转换为iso8859_1汉字在传输中是正确的在没有特别指示下,浏览器中无法正确显示在HTML中指示浏览器文档的编码在JSP中指示JSP引擎文档的编码每个要显示汉字的JSP文档都应该包含该语句,112,JSP文件的汉字问题(JSPhanzi.jsp),JSP中的汉字问题,JSP中的汉字问题 你好,113,JSP中增加编码指示后,JSP中的汉字问题,JSP中的汉字问题 你好,114,表单处理中的汉字问题,表单处理涉及到客户端和服务器的完整交互过程在客户端和服务器是gb2312,传输用ISO8859_1在服务器端接收到客户端数据时需要转换为gb2312后进行处理,方法name=new String(name.getBytes(ISO8859_1),gb2312);服务器端指示客户端汉字的显示编码,115,表单处理的汉字问题(hanzi.jsp),表单处理的汉字问题 用户登录 用户名:,表单处理的汉字问题 用户登录 用户名:,116,处理过程,表单中汉字的处理);%,表单中汉字的处理 用户名:?,117,处理过程(修改后),表单中汉字的处理);%,表单中汉字的处理 用户名:测试,118,汉字问题两种解决方法,当利用request.getParameter得到Form种元素的时候,默认的情况字符编码为ISO-8859-1,这种编码不能正确的显示汉字。目前有两种解决方法,一种是在执行操作之前,设置request的编码格式,语法是:“request.setCharacterEncoding(GBK);”另一种方法是转换字符编码,119,2.4 实践:练习JSP编程,分析网上书店的首页及用户认证编写综合练习的首页、认证和注册页面注意汉字问题,120,综合练习,综合练习:我的网上商店myshop,具有以下功能用户登录、注册口令空转向loginError.jsp(采用)建立web应用myshop,参考softshop目录结构体会表单的两种发送方法页面设计:完成首页、用户登录、注册(index.jsp、login.jsp、registor.jsp)首页index.jsp包括简介、商品分类、新注册用户、登录用户计数,按钮:用户登录、注册用户计数采用application对象login.jsp包括输入用户名、口令的表单,用户名是否为空由服务器端确认,口令是否为空由客户端确认,处理表单的jsp为check.jsp,当口令为空时转向显示错误页面,登录成功时显示用户名和口令(表单采用GET方法发送),121,2.4 实践:练习JSP编程综合练习,registor.jsp中录入用户信息,综合使用表单的功能:form标记(表单采用POST方法发送)text:用户名、口令radio按钮:性别select:出生年月、所在地、行业 其中会使用到option标记checkbox:选择兴趣textarea:自我介绍按钮:提交和重新输入处理registor.jsp的jsp为record.jsp,record.jsp接收text、textarea、radio、select的数据,并显示出来(注意汉字问题)。record.jsp中用session存储新注册的用户名。record.jsp包含返回首页index.jsp的超链接index.jsp中用session提取新注册用户并显示,122,谢谢,

    注意事项

    本文(JavaWeb技术之JSP篇对象.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开