第4章 JSP内置对象.doc
《第4章 JSP内置对象.doc》由会员分享,可在线阅读,更多相关《第4章 JSP内置对象.doc(24页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第四章、JSP内置对象JSP的内置对象由JSP容器自动为JSP页面提供,可以使用标准的变量来访问这些对象,并且不用编写任何额外的代码,可以在JSP网页中使用。在JPS 2.0规范中定义了以下9个内置对象:request(请求对象)、response(响应对象)、session(会话对象)、application(应用程序对象)、out(输出对象)、page(页面对象)、config(配置对象)、exception(异常对象)、pageContext(页面上下文对象)。在这一章中,我们将对它们进行介绍,并通过示例来介绍它们的具体使用方法。4.1内置对象概述正如第一章所介绍,Web应用程序的特点是
2、每一个JSP文件相当于独立的运行单元,类似于一个独立的应用程序,并由容器(Tomcat)进行统一管理。对于一个实际工程项目来说,不可能只有一张页面,且页面之间存在各类内部数据的实时通信问题,如:把A页面登录数据传递到B页面进行验证;购物车的设计涉及若干页面共享数据问题;公告栏涉及不同用户的数据共享问题。而且,在实际项目中,存在着对各类请求/响应有一些特殊要求等。因此,容器根据规范要求,向用户提供了一些内置对象,用于解决上述问题,并负责对这些对象的管理,包括内置对象的生存期、作用域等。这些内置对象中,request、response对象是在客户端请求一个JSP页面,由容器实时生成并作为服务参数传
3、递给JSP(实际上是servlet),请求/相应结束,由容器回收;session的生成一般是在用户第一进入系统时形成,退出系统时,由容器回收。4.2 request对象request对象最主要的作用在于接收参数,当客户端请求一个JSP页面时,JSP容器会将客户端的请求信息包装在这个request对象,请求信息的内容包括请求的头信息、请求的方式、请求的参数名称和参数值等信息。request对象封装了用户提交的信息,通过调用该对象相应的方法可以获取来自客户端的请求信息,然后做出响应。它是HttpServletRequest类的实例。4.2.1 request对象主要方法序号方 法 名方 法 说 明
4、1 * getAttribute(String name)返回指定属性的属性值2 getAttributeNames()返回所有可用属性名的枚举3 getCharacterEncoding()返回字符编码方式4 getContentLength()返回请求体的长度(以字节数)5 getContentType()得到请求体的MIME类型6 getInputStream()得到请求体中一行的二进制流7 * getParameter(String name)返回name指定参数的参数值8 getParameterNames()返回可用参数名的枚举9 getParameterValues(String
5、 name)返回包含参数name的所有值的数组10 getProtocol()返回请求用的协议类型及版本号11 getServerName()返回接受请求的服务器主机名12 getServerPort()返回服务器接受此请求所用的端口号13 getReader()返回解码过了的请求体14 getRemoteAddr()返回发送此请求的客户端IP地址15 getRemoteHost()返回发送此请求的客户端主机名16 * setAttribute(String key,Object obj)设置属性的属性值17 getRealPath(String path)返回一虚拟路径的真实路径18 get
6、Method()返回客户向服务器传输数据的方式19 getRequestURL()返回发出请求字符串的客户端地址20 * getSession()创建一个session对象表4-1 request对象方法 下面的程序示例了request对象的一些常用方法,通常使用request对象来获得客户端传来的数据。example4_1.jsprequest对象示例一.request对象常用方法请求方式:请求的资源:请求用的协议:请求的文件名:请求的服务器的IP:请求服务器的端口:客户端IP地址:客户端主机名:表单提交来的值:二.使用request获取客户端提交的参数用户名: 密
7、码: %String str=; if(request.getParameter(username)!=null & request.getParameter(userpass)!=null) Enumeration enumt = request.getParameterNames(); while(enumt.hasMoreElements() str=enumt.nextElement().toString(); out.println(str+:+request.getParameter(str)+); %擅长:VC+ JAVA DELPHI&
8、nbsp;VB %if(request.getParameter(qwe)!=null ) for(int i=0;irequest.getParameterValues(cb).length;i+) out.println(cb+i+: +request.getParameterValues(cb)i +); out.println(request.getParameter(qwe); %执行结果如图4-1所示:图4-14.2.2 request对象的常用技术 1、用getParameter方法获取表单提交信息request对象获取客户提交信息的最常用的方法是getParamete
9、r(String s)。在下面的示例,form.html通过表单向requestForm1.jsp提交用户名和密码信息;requestForm1.jsp通过request对象获取表单提交的信息。form1.html示例代码:姓名:密码: 图4-2requestForm.jsp示例代码:姓名:密码:图4-32、用getParameterValues方法获取表单成组信息通过request对象的getParameterValues方法可以获得指定参数的成组信息,通常在表单的复选框中使用。该方法的原型如下:public String getParameterValues(String str)下面示例
10、中,form2.html表单中有三个复选框,选中复选框后,表单信息提交给requestForm2.jsp,在requestForm2.jsp中使用getParameterValues获取复选框的成组信息并显示。form2.html请选择喜欢的水果:apple banana peach 图4-4requestForm2.jsp % String temp = request.getParameterValues(checkbox); out.println(你喜欢的水果是:); for (int i = 0; i 图4-53、表单信息获取的综合应用下面示例通过request对象中的常用方法获取表
11、单中的各类信息。注意:request对象中获取中文信息经常出现乱码,在requestForm3.jsp中编写了trans方法解决乱码文题。form3.html姓名: 密码: 性别:男 女性格:热情大方 温柔体贴 多愁善感 简介: 城市: 北京 上海 图4-6requestForm3.jsp % String name = trans(request.getParameter(name); String pass = trans(request.getParameter(pass); String sex = trans(request.getParameter(sex); String tem
12、p = request.getParameterValues(checkbox); String xingge=; for (int i = 0; i 姓名: 密码: 性别: 性格: 简介: 城市: 图4-74、利用request传递任意类型对象数据正如上述,request主要用来传递数据的(二个页面之间)。大多数情况下,利用其getParameter()和getParameterValues()方法获取各类表单信息,一般是字符串或字符串数组类型。有时,项目要求传递其它类型值,如,在一个servlet中,通过数据库操作,得到一个学生记录集,以二维数组形式存放,具体可以用ArrayList实现。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第4章 JSP内置对象 JSP 内置 对象
限制150内