第4章 JSP内置对象_第1页
第4章 JSP内置对象_第2页
第4章 JSP内置对象_第3页
第4章 JSP内置对象_第4页
第4章 JSP内置对象_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

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

文档简介

第4章JSP内置对象,【学习目标】,1)掌握JSP常用内置对象的主要方法。2)能够根据项目需要,熟练使用内置对象完成程序的开发。,4.1内置对象介绍,4.1.1request对象request对象代表请求对象,它被封装成HttpServletRequest接口。应用getParameter方法能够得到request的参数,通过GET、POST及HEAD等方法能够得到request的类型,应用Cookies、Referer等能够得到请求的HTTP头。【例4-1】使用request获取表单信息obtains.jsp。obtains.jsp代码如下:,使用request对象获取表单信息实例学生学号:密码:使用request对象获取的学生学号:使用request对象获取的密码:,在浏览器中输入:8080/jsp/Chapters4/obtains.jsp,执行后如图4-1所示。,图4-1运行obtains.jsp结果页面,【例3-2】include指令的应用Chapter3-2.jsp,代码如下:,include实例当前的时间是:,分别在学生学号及密码中输入“200601001”及“1001”,单击【确定】按钮后,执行结果如图4-2所示。,图4-2request对象执行结果页面,【例4-2】request对象的一些常用方法的应用Chapters4-2.jspChapters4-2.jsp代码如下:,);out.println(Scheme:+request.getScheme()+);out.println(ServerName:+request.getServerName()+);out.println(ServerPort:+request.getServerPort()+);out.println(Protocol:+request.getProtocol()+);out.println(RemoteAddr:+request.getRemoteAddr()+);out.println(RemoteHost:+request.getRemoteHost()+);out.println(CharacterEncoding:+request.getCharacterEncoding()+);out.println(ContentLength:+request.getContentLength()+);out.println(ContentType:+request.getContentType()+);out.println(HTTPMethod:+request.getMethod()+);out.println(PathInfo:+request.getPathInfo()+);,out.println(QueryString:+request.getQueryString()+);out.println(RemoteUser:+request.getRemoteUser()+);out.println(RequestURI:+request.getRequestURI()+);out.println(ServletPath:+request.getServletPath()+);out.println(Accept:+request.getHeader(Accept)+);out.println(Host:+request.getHeader(Host)+);out.println(Referer:+request.getHeader(Referer)+);out.println(Accept-Language:+request.getHeader(Accept-Language)+);out.println(Accept-Encoding:+request.getHeader(Accept-Encoding)+);out.println(User-Agent:+request.getHeader(User-Agent)+);out.println(Connection:+request.getHeader(Connection)+);out.println(Cookie:+request.getHeader(Cookie)+);%,结果如图4-3所示。,图4-3运行Chapters4-2.jsp结果页面,【例4-3】计算一个数的平方根,如果输入的不是正数,则提示“您输入的不是正数,请重新输入!”。Chapters4-3.jsp代码如下:,使用request对象实例请输入一个大于零的数:,=0)xv=Math.sqrt(x);out.print(+String.valueOf(x)+的平方根是:);out.print(String.valueOf(xv);elseout.print(+请输入一个大于零的数!);catch(NumberFormatExceptionei)out.print(+您输入的不是正数,请重新输入!);%,在浏览器地址栏中输入:8080/jsp/Chapters4/Chapters4-3.jsp后,出现如图4-4所示界面,在文本框中输入“xyz”,执行结果如图4-5所示,在文本框中输入“5”,执行结果如图4-6所示。,图4-4运行Chapters4-3.jsp初始页面,图4-5在Chapters4-3.jsp中输入“xyz”后的“计算”结果页面,图4-6在Chapters4-3.jsp中输入“5”后的“计算”结果页面,4.1.2response对象response对象用于动态响应客户端请求,将JSP处理数据后的结果返回给客户端浏览器,response被封装成HttpServletResponse接口。response对象由容器生成,作为Service()方法的参数被传入JSP。,【例4-4】将用户序号、姓名及密码以Cookie的方式发送到客户端,当用户登录时通过Cookie来判断用户序号、姓名及密码是否正确,并返回相应信息。Chapters4-4.jsp代码如下:,使用Cookie检验用户信息实例,在浏览器地址栏中输入:8080/jsp/Chapters4/Chapters4-6.jsp后,结果如图4-12所示。,图4-12运行Chapters4-6.jsp结果页面,4.1.5application对象application对象能够为多个应用程序保存信息,对于一个jsp容器而言,各个用户共同使用一个application对象,这是与session对象的最大区别。服务器启动以后,将自动创建application对象,该对象能够一直保持,直到服务器关闭为止。,【例4-7】application的应用统计在线人数(在此不考虑离开的情况),其中包括csh.jsp(初始化)及Chapters4-7.jsp(统计访问总次数并输出)1csh.jsp代码如下:,application的应用,2Chapters4-7.jsp代码如下:,application的应用统计访问次数,在浏览器地址栏中输入:8080/jsp/Chapters4/csh.jsp进行初始化,结果如图4-13所示。,图4-13运行csh.jsp结果页面,在浏览器地址栏中输入:8080/jsp/Chapters4/Chapters4-7.jsp统计访问总次数,结果如图4-14所示。,图4-14运行Chapters4-7.jsp统计访问总次数结果页面,4.1.6pageContext对象pageContext对象被封装成javax.servlet.jsp.pageContext接口,该对象存储本JSP页面相关信息,如属性、内建对象等。,【例4-8】pageContext的应用统计在线人数。其中包括Chapters4-8.htm、Chapters4-8-1.jsp与Chapters4-8-2.jsp1Chapters4-8.htm代码如下:,pagecontext的应用name:,2Chapters4-8-1.jsp代码如下:,Chapters4-8-1.jsp页面-pageContext对象的应用pageContext的测试页面-在pagecontext中对一些属性的设置下一页-以下是该页面的代码:ServletRequestsz=pageContext.getRequest();Stringname=sz.getParameter(name);out.println(name=+name+);pageContext.setAttribute(userName,name);pageContext.getServletContext().setAttribute(sharevalue,多页面的共享值!);pageContext.getSession().setAttribute(sessionvalue,只能在Session中才是共享的值!);out.println(pageContext.getAttribute(userName):);/pageContext.getAttribute(userName)能把当前页面中“pageContext.setAttribute(userName,name)”设置的属性读取出来out.println(pageContext.getAttribute(userName);,3Chapters4-8-2.jsp代码如下:,Chapters4-8-2.jsp页面-pageContext对象的应用pageContext的测试页面获得上一个页面所设置的值:pageContext.getAttribute(userName);out.println(pageContext.getAttribute(userName);out.println(pageContext.getSession().getAttribute(sessionValue);out.println(pageContext.getSession().getAttribute(sessionvalue);out.println(pageContext.getServletContext().getAttribute(shareValue);out.println(pageContext.getServletContext().getAttribute(sharevalue);%,在浏览器地址栏中输入:8080/jsp/Chapters4/Chapters4-8.htm,结果如图4-15所示。,图4-15运行Chapters4-8.htm结果页面,在图4-15的表单中输入数据后(本例输入“Mike”)单击【开始】按钮后,执行结果如图4-16所示。,图4-16运行Chapters4-8-1.jsp结果页面,单击图4-16中的“下一页”链接,执行结果如图4-17所示。,图4-17运行Chapters4-8-2.jsp结果页面,Chapters4-8-2.jsp可以获得session及ServletContext中的属性,不能获得前一页面通过pageContext.setAttribute方法设置的属性。可以使用下面的方法进行验证,重新打开一个浏览器,在地址栏中输入::8080/jsp/Chapters4/Chapters4-8-2.jsp执行结果如图4-18所示。,图4-18重新打开一个浏览器执行Chapters4-8-2.jsp结果页面,4.1.7config对象config对象被封装成javax.servlet.ServletConfig接口,用于存取Servlet实例的初始化参数。,4.1.8page对象page对象与Servlet密切相关,该对象代表由JSP转换而来的Servlet。JSP实现类对象的句柄,只有在JSP页面的范围内才是合法的。4.1.9exception对象exception对象主要用于处理JSP程序中的异常。使用exception对象处理异常的页面,必须在page指令中指定isErrorPage=true。,4.2内置对象综合应用实例以下是一个简易网上购物系统,使用的网页及功能如下:goods.html功能:该网页用来存储及显示可供购买的商品信息,表单能够向购物车提交所购商品。goodsCart.jsp功能:实现所购商品添加到购物车内、从购物车内删除商品及链接到收银台进行结账。Check.jsp功能:实现收银结账及所购商品的显示。,本章小结,JSP的内置对象有:request对象、response对象、out对象、session对象、applicatiion对象、config对象、pageContext对象、page对象及exception对象。,选择题1.()对象代表请求对象,被封装成HttpServletRequest接口。AresponseBrequestCoutDsession2.()对象主要用于处理JSP程序中的异常。ApageBexceptionCoutDsession,习题,3.()对象被封装成javax.servlet.ServletConfig接口,用于存取Servlet实例的初始化参数。A.configBexceptionCoutDsession4out对象的()方法,能够

温馨提示

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

评论

0/150

提交评论