第6章 JSP内置对象
JSP内建对象
out对象
• out对象被封装成
javax.servlet.jsp.JspWriter接口。它表示为 客户打开的输出流,PrintWriter使用它向客 户端发送输出流。简单地说,它主要用来 向客户端输出数据。
• 主要方法有:
1、out.print(boolean)、out.println(boolean):输出Boolean 类型的数据,其还可以输出Char、Char[]、Double、Float、 Int、Long、Object、String
• • • • • • • • • • • • • • • • •
out.println("<br>out.println(string):"); out.println("string"); out.println("<br>out.newLine():"); out.newLine(); out.println("<br>out.getBufferSize():"); out.println(out.getBufferSize()); out.println("<br>out.getRemaining():"); out.println(out.getRemaining()); out.println("<br>out.isAutoFlush():"); out.println(out.isAutoFlush()); out.flush(); out.println("<br>调用out.flush()后,测试 是否输出"); out.close(); out.println("<br>调用out.close()后测试是 否输出"); out.clear(); out.println("<br>调用out.clear()后测试是 否输出"); %>
JSP课后习题参考答案
JSP课后习题参考答案●JSP引擎调用Java虚拟机解释执行.class文件,并将运行结果返回给服务器。
●服务器将运行结果以HTML形式作为响应返回给客户端的浏览器。
由于一个JSP页面在第一次被访问时要经过翻译、编译和执行这几个步骤,所以客户端得到响应所需要的时间比较长。
当该页面再次被访问时,它对应的.class文件已经生成,不需要再次翻译和编译,JSP引擎可以直接执行.class文件,因此JSP页面的访问速度会大为提高。
2. 简述JSP两种体系结构。
答:JSP规范中分别称作JSP Model 1 和JSP Model 2,它们的本质区别在于处理批量请求的位置不同。
Model1,在Model1体系中,JSP页面独自响应请求并将处理结果返回客户。
这里仍然存在显示与内容的分离,因为所有的数据存取都是由JavaBean来完成的。
尽管Model1体系十分适合简单应用的需要,它却不能满足复杂的大型Web应用程序需要。
不加选择地随意运用Model 1,会导致JSP页内被嵌入大量的脚本片段或Java代码。
尽管这对于Java程序员来说可能不是什么大问题,但如果JSP页面是由网页设计人员开发并维护的这就确实是个问题了。
从根本上讲,将导致角色定义不清和职责分配不明,给项目管理带来不必要的麻烦。
Model2体系结构,是一种把JSP与Servlet联合使用来实现动态内容服务的方法。
它吸取了两种技术各自的优点,用JSP生成表示层的内容,让Servlet完成深层次的处理任务。
Servlet充当控制者的角色,负责管理对请求的处理,创建JSP页面需要使用的Bean和对象,同时根据用户的动作决定把哪个JSP页面传给请求者。
在JSP页面内没有处理逻辑,它仅负责检索原先由Servlet创建的对象或JavaBean,从Servlet中提取动态内容插入静态模板。
分离了显示和内容,明确了角色的定义以及实现了开发者与网页设计者的分开。
项目越复杂,使用Model 2体系结构的优势就越突出。
JSP中的内置对象详解
JSP中的内置对象<j s p:f o r w a r d><jsp:forward>是把一个请求转发到另一个JSP或Servlet或者其他的静态资源(HTML)特点:被forward转发的资源必须与发出请求的页面处于相同的上下文环境中,每当遇到此标签时,容器就会停止执行当前的JSP,转而执行被转发的资源<j s p:p a r a m>l当使用<jsp:include>和<jsp:forward>标签引入或将请求转发给的资源是一个能动态执行的程序时,例如Servlet和JSP页面,那么,还可以使用<jsp:param>标签向这个程序传递参数信息。
l语法1:<jsp:include page="relativeURL | <%=expression%>"><jsp:param name="parameterName" value="parameterValue|<%= expression %>" /> </jsp:include>l语法2:<jsp:forward page="relativeURL | <%=expression%>"><jsp:param name="parameterName" value="parameterValue|<%= expression %>" /> </jsp:include>l<jsp:param>标签的name属性用于指定参数名,value属性用于指定参数值。
在<jsp:include>和<jsp:forward>标签中可以使用多个<jsp:param>标签来传递多个参数。
jsp九大内置对象
jsp九⼤内置对象什么是内置对象 可以在JSP⽂件中直接拿来使⽤的对象 JSP⽂件翻译后⽣成的⽂件:在service⽅法中就引⼊了9个对象,所以在jsp⽂件中才可以直接使⽤九⼤内置对象有哪些四个范围对象的范围从⼩到⼤是什么: 从⼩范围到⼤范围:pageContext、request、session、applicationpageContext对象是什么 pageContext对象代表jsp页⾯上下⽂对象pageContext对象可以⼲什么 通过pageContext对象可以获取整个JSP页⾯环境中的所有数据: 获取当前JSP页⾯中的请求对象:pageContext.getRequest()。
获取当前JSP页⾯中的会话对象:pageContext.getSession()。
获取ServletContext对象:pageContext.getServletContext()。
通过pageContext对象传递数据(只能存储⼀个页⾯中的数据,⽆法跨页⾯。
可以获取include指令包含的jsp页⾯中存储的数据,但是不能获取include动作包含的jsp页⾯中存储的数据): pageContext.setAttribute(“username”,jack); //存 pageContext.getAttribute(“username”); //取 通过pageContext对象往request,session,application对象中存储数据: 向request范围存储数据:pageContext.setAttribute(“username”,”jack”,PageContext.REQUEST_SCOPE); 向session范围存储数据:pageContext.setAttribute(“username”,”jack”,PageContext.SESSION_SCOPE); 向application范围存储数据:pageContext.setAttribute(“username”,”jack”,PageContext.APPLICATION_SCOPE);。
《JSP程序设计》教案
《JSP程序设计》教案第一章:JSP简介1.1 课程目标了解JSP的概念和发展历程掌握JSP的运行原理和基本语法1.2 教学内容JSP的定义和发展历程JSP的运行原理JSP的基本语法1.3 教学方法讲解和演示相结合实例教学1.4 教学资源教材:《JSP程序设计》课件:JSP简介.ppt1.5 教学过程介绍JSP的概念和发展历程(15分钟)讲解JSP的运行原理(15分钟)介绍JSP的基本语法(15分钟)1.6 课后作业掌握JSP的概念和发展历程理解JSP的运行原理第二章:JSP页面结构2.1 课程目标掌握JSP页面的基本结构和标记了解JSP页面的生命周期2.2 教学内容JSP页面的基本结构JSP页面的生命周期JSP标记的使用2.3 教学方法讲解和演示相结合实例教学2.4 教学资源教材:《JSP程序设计》课件:JSP页面结构.ppt2.5 教学过程介绍JSP页面的基本结构(20分钟)讲解JSP页面的生命周期(15分钟)介绍JSP标记的使用(15分钟)2.6 课后作业掌握JSP页面的基本结构了解JSP页面的生命周期第三章:JSP内置对象3.1 课程目标掌握JSP的内置对象及其作用熟练使用JSP内置对象进行数据处理3.2 教学内容JSP内置对象的介绍JSP内置对象的使用方法3.3 教学方法讲解和演示相结合实例教学3.4 教学资源教材:《JSP程序设计》课件:JSP内置对象.ppt3.5 教学过程介绍JSP内置对象(20分钟)讲解JSP内置对象的使用方法(20分钟)3.6 课后作业掌握JSP内置对象的概念和作用熟练使用JSP内置对象进行数据处理第四章:JSP指令4.1 课程目标掌握JSP指令的作用和用法学会使用JSP指令优化页面性能4.2 教学内容JSP指令的介绍JSP指令的使用方法4.3 教学方法讲解和演示相结合实例教学4.4 教学资源教材:《JSP程序设计》课件:JSP指令.ppt4.5 教学过程介绍JSP指令(20分钟)讲解JSP指令的使用方法(15分钟)4.6 课后作业掌握JSP指令的概念和作用学会使用JSP指令优化页面性能第五章:JSP脚本语言5.1 课程目标掌握JSP脚本语言的基本语法学会在JSP页面中使用脚本语言5.2 教学内容JSP脚本语言的介绍JSP脚本语言的基本语法5.3 教学方法讲解和演示相结合实例教学5.4 教学资源教材:《JSP程序设计》课件:JSP脚本语言.ppt5.5 教学过程介绍JSP脚本语言(20分钟)讲解JSP脚本语言的基本语法(15分钟)5.6 课后作业掌握JSP脚本语言的概念和作用学会在JSP页面中使用脚本语言第六章:JSP标准标签库6.1 课程目标掌握JSP标准标签库的基本用法学会使用JSP标准标签库简化页面代码6.2 教学内容JSP标准标签库的介绍JSP标准标签库的基本用法6.3 教学方法讲解和演示相结合实例教学6.4 教学资源教材:《JSP程序设计》课件:JSP标准标签库.ppt6.5 教学过程介绍JSP标准标签库(20分钟)讲解JSP标准标签库的基本用法(20分钟)6.6 课后作业掌握JSP标准标签库的概念和作用学会使用JSP标准标签库简化页面代码第七章:JSP非标准标签库7.1 课程目标了解JSP非标准标签库的来源和作用学会使用JSP非标准标签库提高开发效率7.2 教学内容JSP非标准标签库的介绍JSP非标准标签库的使用方法7.3 教学方法讲解和演示相结合实例教学7.4 教学资源教材:《JSP程序设计》课件:JSP非标准标签库.ppt7.5 教学过程介绍JSP非标准标签库(20分钟)讲解JSP非标准标签库的使用方法(20分钟)7.6 课后作业了解JSP非标准标签库的概念和作用学会使用JSP非标准标签库提高开发效率第八章:JSP数据库操作8.1 课程目标掌握JSP数据库连接的方法学会使用JSP进行数据库操作8.2 教学内容JSP数据库连接的方法JSP数据库操作的常用语句8.3 教学方法讲解和演示相结合实例教学8.4 教学资源教材:《JSP程序设计》课件:JSP数据库操作.ppt8.5 教学过程介绍JSP数据库连接的方法(20分钟)讲解JSP数据库操作的常用语句(20分钟)8.6 课后作业掌握JSP数据库连接的方法学会使用JSP进行数据库操作第九章:JSP会话管理9.1 课程目标了解JSP会话管理的基本原理学会使用JSP进行会话管理9.2 教学内容JSP会话管理的基本原理JSP会话管理的方法9.3 教学方法讲解和演示相结合实例教学9.4 教学资源教材:《JSP程序设计》课件:JSP会话管理.ppt9.5 教学过程介绍JSP会话管理的基本原理(20分钟)讲解JSP会话管理的方法(20分钟)9.6 课后作业了解JSP会话管理的基本原理学会使用JSP进行会话管理第十章:JSP安全与优化10.1 课程目标掌握JSP安全性的基本措施学会对JSP页面进行性能优化10.2 教学内容JSP安全性的基本措施JSP页面性能优化方法10.3 教学方法讲解和演示相结合实例教学10.4 教学资源教材:《JSP程序设计》课件:JSP安全与优化.ppt10.5 教学过程介绍JSP安全性的基本措施(20分钟)讲解JSP页面性能优化方法(20分钟)10.6 课后作业掌握JSP安全性的基本措施学会对JSP页面进行性能优化重点和难点解析1. JSP页面的基本结构:JSP页面由声明、脚本程序、标签库指令、脚本片段、表达式语言、内联标记和注释等部分组成。
JSP内置对象
JSP内置对象本讲主要介绍JSP主要内置对象,包括对象的作用、常用函数,并通过具体实例说明其用法,并介绍了Cookie的概念和使用方法。
通过本讲的学习,重点掌握以下内容:●掌握常用内置对象的作用●掌握常用内置对象的用法●了解Cookie的有关操作1.1 内置对象介绍JSP九大隐式对象:[1]request:表示客户端的请求,包含了所有的请求信息,是Servlet中service(或doPost/doGet方法)方法的resquest参数。
[2]response:处理JSP生成的响应,然后将响应结果发送给客户端。
是service(或doPost/doGet方法)方法的response参数。
[3]out:表示输出流,将作为请求的响应发送给客户端。
是JspWriter的一个实例。
[4]session:表示用户的会话状况,用此机制可以轻易的识别每一个用户,能保存和跟踪用户的会话状态。
是HttpSession的一个实例。
[5]pageContext:作用于此页面,可以访问页面作用域中定义的所有隐式对象。
是PageContext的一个实例。
[6]application:作用于整个应用程序。
是ServletContext的一个实例。
[7]page:提供对网页上定义的所有对象的访问。
是一个Object对象。
是此Servlet的一个引用。
[8]config:存储Servlet的一些初始信息。
是ServletConfig的一个实例。
[9]exception:此对象负责处理程序执行过程中引发的异常。
1.2 out:输出对象out对象是JspWriter类的实例,主要用于向客户端输出数据。
out对象与response.getWriter()得到的PrintWriter对象的关系:一、都是继承自java.io.Writer类。
JspWriter在JSP页面中直接用out对象输出,也可以用pageContext.getOut(); 得到out对象。
《JSP实用教程(第三版)》课后答案
《JSP实用教程(第三版)》课后答案第1章 JSP简介1.安装Tomcat引擎的计算机需要事先安装JDK吗?答:需要。
2.怎样启动和关闭Tomcat服务器?答:bin目录下使用startup.bat启动Tomcat服务器。
bin目录下使用shutdown.bat 关闭Tomcat服务器。
3. Boy.jsp和boy.jsp是否是相同的JSP文件名字?答:不是4. 请在D:\下建立一个名字为water的目录,并将该目录设置成一个Web服务目录,然后编写一个简单JSP页面保存到该目录中,让用户使用虚拟目录fish 来访问该JSP页面。
答:设置方法:①建立D:\ water目录;②修改server.xml文件,在</host>上一行添加:<Context path="/fish" docBase="D:\ water" debug="0" reloadable="true"/>③使用http://localhost:8080/ fish /example1_1.jsp访问example1_1.jsp页面.5. 假设Dalian是一个Web服务目录,其虚拟目录为moon。
A.jsp保存在Dalian 的子目录sea中。
那么在Tomcat服务器(端口号8080)所在计算机的浏览器键入下列哪种方式是访问A.jsp的正确方式?A.http://127.0.0.1:8080/A.jsp B. http://127.0.0.1:8080/Dalian/A.jspC. http://127.0.0.1:8080/moon/A.jspD. http://127.0.0.1:8080/moon/sea/A.jsp 答:D6.如果想修改Tomcat服务器的端口号,应当修改哪个文件?能否将端口号修改为80?答:修改Tomcat服务器的conf目录下的主配置文件server.xml可以更改端口号.若Tomcat服务器上没有其它占有80端口号的程序,可以将其修改为80,否则不能。
jsp有哪些内置对象?作用分别是什么?
jsp有哪些内置对象?作⽤分别是什么?
JSP共有以下9种基本内置组件
1、request对象客户端请求,此请求会包含来⾃GET/POST请求的参数通过它才能了
解到客户的需求,然后做出响应。
2、response对象响应客户请求的有关信息
3、session对象它指的是客户端与服务器的⼀次会话,从客户端连到服务器的⼀个WebApplication开始,直到客户端与服务器断开连接为⽌。
4、out对象它是JspWriter类的实例,是向客户端输出内容常⽤的对象
5、page对象它是指向当前JSP页⾯本⾝,有点象类中的this指针,它是 ng.Object类的实例
6、application对象它实现了⽤户间数据的共享,可存放全局变量。
它开始于服务器的启动,直到服务器的关闭
7、exception对象它是⼀个例外对象,当⼀个页⾯在运⾏过程中发⽣了例外,就产⽣这个对象。
8、pageContext对象它提供了对JSP页⾯内所有的对象及名字空间的访问
9、config对象它是在⼀个Servlet初始化时,JSP引擎向它传递信息⽤的。
jsp6
a) 在页面被请求的时候引入一个文件。 b) 寻找或者实例化一个JavaBean。 c) 把请求转到一个新的页面。 d) 输出某个JavaBean的属性。 10、 下面对forward动作描述正确的是:c a) 在页面被请求的时候引入一个文件。 b) 寻找或者实例化一个JavaBean。 c) 把请求转到一个新的页面。 d) 输出某个JavaBean的属性。 11、 下面对plugin动作描述正确的是:d a) 在页面被请求的时候引入一个文件。 b) 寻找或者实例化一个JavaBean。 c) 把请求转到一个新的页面。 d) 根据浏览器类型为Java插件生成OBJECT或EMBED标记 12、 下面对setProperty动作描述正确的是:c a) 在页面被请求的时候引入一个文件。 b) 寻找或者实例化一个JavaBean。 c) 设置JavaBean的属性。 d) 根据浏览器类型为Java插件生成OBJECT或EMBED标记 13、 在MVC体系架构中,承担显示功能(VIEW层)的组件是:a a) JSP b) JavaBean c) Servlet d) JDBC 14、 在安装完Tomcat服务器后,需要配置Tomcat运行环境,增加的环境变量属性是:c a) PATH b) Class_Path c) Java_Home d) Tomcat_Home 15、 JSP语法16、 可以取得用交提交的参数的所有记录值的方法是:c a) getParameter() b) getAttribute() c) getParameterValues() d) getSession() 17、 是JSP的动作指令,可以在JSP页面中调用已经写好的Bean来实现代码开发的简化,在这 个动作指令中有scope属性表明Bean的使用范围,选择属于scope属性的值:abcd a) session b) application c) page
JSP的内置对象习题
第四章 JSP的内置对象一、选择题1.下面不属于JSP内置对象的是()A)out对象 B)respone对象 C)application对象 D)page对象2.以下哪个对象提供了访问和放置页面中共享数据的方式()A)pageContext B)response C)request D)session3.调用getCreationTime()可以获取session对象创建的时间,该时间的单位是()。
A)秒 B)分秒 C)毫秒 D)微秒4.当response的状态行代码为哪个时,表示用户请求的资源不可用?()A)101 B)202 C)303 D)4045.一个典型的HTTP请求消息包括请求行、多个请求头和()A)响应行 B)信息体 C)响应行 D)响应头6.在JSP中为内建对象定义了4种作用范围,即Application Scope、Session Scope、Page Scope和()四个作用范围。
A)Request Scope B) Response ScopeC)Out Scope D) Writer Scope7.out对象是一个输出流,其输出各种类型数据并换行的方法是()A)( ) B)( )C)( ) D)( )8.out对象是一个输出流,其输出换行的方法是()A)( ) B)( )C)( ) D)( )9.out对象是一个输出流,其输出不换行的方法是()A)( ) B)( )C)( ) D)( )10.Form表单的method属性能取下列哪项的值()A)submit B)putsC)post D)out11.能在浏览器的地址栏中看到提交数据的表单提交方式是()A)submit B)getC)post D)out12.可以利用request对象的哪个方法获取客户端的表单信息()A)() B)()C)() D)()13.可以利用JSP动态改变客户端的响应,使用的语法是()A)() B)()C)() D)()14.JSP页面中(String )得到的数据,其类型是()A)Double B)intC)String D)Integer15.JSP页面程序片中可以使用下列哪个方法将strNumx=(“ix”)得到的数据类型转换为Double类型()A)(strNumx) B) (strNumx)C)(strNumx) D)(strNumx)16.<select>用于在表单中插入一个下拉菜单,它需与哪个标记配合使用()A)<list> B)<item> C)<dot> D)<option>17.当利用request的方法获取Form中元素时,默认情况下字符编码是哪个()A)ISO-8859-1 B)GB2312 C)GB3000 D)ISO-8259-118.下面不属于<input>标记中的name属性取值的是()A)text B)radio C)checkbox D)picture19.下面不属于<input>标记中的name属性取值的是()A)password B)hidden C)submit D)textarea20.<select>用于在表单中来定义下拉列表框和滚动列表框控件,下面哪个属性指定列表框默认选项()A)size B)value C)selected D)checked21.<select>用于在表单中来定义下拉列表框和滚动列表框控件,哪个属性指定列表框的类型()A)size B)value C)selected D)checked22.<textarea>子标记用来定义一个多行文本区,哪个属性指定文本框的行数()A)cols B)value C)rows D)size23.JavaScript执行表单验证一般都发生在用户单击“提交”按钮后,数据提交服务器之前,onValidate()函数返回值为true时()。
JSP9大内置对象详解
JSP9⼤内置对象详解内置对象特点:1. 由JSP规范提供,不⽤编写者实例化。
2. 通过Web容器实现和管理3. 所有JSP页⾯均可使⽤4. 只有在脚本元素的表达式或代码段中才可使⽤(<%=使⽤内置对象%>或<%使⽤内置对象%>)常⽤内置对象:1. 输出输⼊对象:request对象、response对象、out对象2. 通信控制对象:pageContext对象、session对象、application对象3. Servlet对象:page对象、config对象4. 错误处理对象:exception对象对象常⽤⽅法说明:1.out对象(数据流 javax.servlet.jsp.jspWriter)⽅法名说明print或println输出数据newLine输出换⾏字符flush输出缓冲区数据close关闭输出流clear清除缓冲区中数据,但不输出到客户端clearBuffer清除缓冲区中数据,输出到客户端getBufferSize获得缓冲区⼤⼩getRemaining获得缓冲区中没有被占⽤的空间isAutoFlush是否为⾃动输出2.request对象(请求信息 javax.servlet.http.HttpServletrequest)⽅法名说明isUserInRole判断认证后的⽤户是否属于某⼀成员组getAttribute获取指定属性的值,如该属性值不存在返回NullgetAttributeNames获取所有属性名的集合getCookies获取所有Cookie对象getCharacterEncoding获取请求的字符编码⽅式getContentLength返回请求正⽂的长度,如不确定返回-1getHeader获取指定名字报头值getHeaders获取指定名字报头的所有值,⼀个枚举getHeaderNames获取所有报头的名字,⼀个枚举getInputStream返回请求输⼊流,获取请求中的数据getMethod获取客户端向端传送数据的⽅法getParameter获取指定名字参数值getParameterNames获取所有参数的名字,⼀个枚举getParameterValues获取指定名字参数的所有值getProtocol获取客户端向端传送数据的协议名称getQueryString获取以get⽅法向传送的查询字符串getRequestURI获取发出请求字符串的客户端地址getRemoteAddr获取客户端的IP地址getRemoteHost获取客户端的名字getSession获取和请求相关的会话getServerName获取的名字getServerPath获取客户端请求⽂件的路径getServerPort获取的端⼝号removeAttribute删除请求中的⼀个属性setAttribute设置指定名字参数值3.response对象(响应 javax.servlet.http.HttpServletResponse)⽅法名说明addCookie添加⼀个Cookie对象addHeader添加Http⽂件指定名字头信息containsHeader判断指定名字Http⽂件头信息是否存在encodeURL使⽤sessionid封装URLflushBuffer强制把当前缓冲区内容发送到客户端getBufferSize返回缓冲区⼤⼩getOutputStream返回到客户端的输出流对象getOutputStream返回到客户端的输出流对象sendError向客户端发送错误信息sendRedirect把响应发送到另⼀个位置进⾏处理setContentType设置响应的MIME类型setHeader设置指定名字的Http⽂件头信息4.session对象(会话 javax.servlet.http.HttpSession)⽅法名说明getAttribute获取指定名字的属性getAttributeNames获取session中全部属性名字,⼀个枚举getCreationTime返回session的创建时间getId获取会话标识符getLastAccessedTime返回最后发送请求的时间getMaxInactiveInterval返回session对象的⽣存时间单位千分之⼀秒invalidate销毁session对象isNew每个请求是否会产⽣新的session对象removeAttribute删除指定名字的属性setAttribute设定指定名字的属性值5.pageContext对象(页⾯上下⽂ javax.servlet.jsp.PageContext)⽅法名说明forward重定向到另⼀页⾯或Servlet组件getAttribute获取某范围中指定名字的属性值findAttribute按范围搜索指定名字的属性removeAttribute删除某范围中指定名字的属性setAttribute设定某范围中指定名字的属性值getException返回当前异常对象getRequest返回当前请求对象getResponse返回当前响应对象getServletConfig返回当前页⾯的ServletConfig对象getServletContext返回所有页⾯共享的ServletContext对象getSession返回当前页⾯的会话对象6.application对象(应⽤程序 javax.servlet.ServletContext)⽅法名说明getAttribute获取应⽤对象中指定名字的属性值getAttributeNames获取应⽤对象中所有属性的名字,⼀个枚举getInitParameter返回应⽤对象中指定名字的初始参数值getServletInfo返回Servlet编译器中当前版本信息setAttribute设置应⽤对象中指定名字的属性值7.config对象(Servlet的配置信息 javax.servlet.ServletConfig)⽅法名说明getServletContext返回所执⾏的Servlet的环境对象getServletName返回所执⾏的Servlet的名字getInitParameter返回指定名字的初始参数值getInitParameterNames返回该JSP中所有的初始参数名,⼀个枚举8.page对象(当前JSP的实例,ng.object)它代表JSP被编译成Servlet,可以使⽤它来调⽤Servlet类中所定义的⽅法9.exception对象(运⾏时的异常,ng.Throwable)被调⽤的错误页⾯的结果,只有在错误页⾯中才可使⽤,即在页⾯指令中设置:<%@page isErrorPage=“true”%>Request(Javax.servlet.ServletRequest)它包含了有关浏览器请求的信息.通过该对象可以获得请求中的头信息、Cookie和请求参数。
jsp内置对象实验报告
jsp内置对象实验报告JSP内置对象实验报告实验目的:通过实验,了解JSP内置对象的作用和用法。
实验步骤:1. 创建一个简单的JSP页面,命名为index.jsp。
2. 在index.jsp中使用JSP内置对象out,输出一段文本:"Hello, JSP!"。
3. 在index.jsp中使用JSP内置对象request,获取客户端传递的参数,并输出到页面上。
4. 在index.jsp中使用JSP内置对象session,存储用户登录信息,并在其他页面中获取并显示用户信息。
5. 在index.jsp中使用JSP内置对象application,存储全局变量,并在其他页面中获取并显示全局变量的值。
实验结果:1. 使用JSP内置对象out,成功在页面上输出了文本:"Hello, JSP!"。
这说明out 对象可以用来向页面输出内容。
2. 使用JSP内置对象request,成功获取客户端传递的参数,并在页面上显示了参数的值。
这说明request对象可以用来获取客户端的请求参数。
3. 使用JSP内置对象session,成功存储了用户登录信息,并在其他页面中获取并显示了用户信息。
这说明session对象可以用来存储用户的会话信息。
4. 使用JSP内置对象application,成功存储了全局变量,并在其他页面中获取并显示了全局变量的值。
这说明application对象可以用来存储全局变量。
结论:通过本次实验,我们了解了JSP内置对象的作用和用法。
out对象可以用来向页面输出内容,request对象可以用来获取客户端的请求参数,session对象可以用来存储用户的会话信息,application对象可以用来存储全局变量。
掌握了这些内置对象的用法,可以更加灵活地开发JSP页面,实现更丰富的功能。
希望通过本次实验,同学们能够更加熟练地运用JSP内置对象,提高自己的JSP开发能力。
jsp 内置对象实验报告
jsp 内置对象实验报告
JSP 内置对象实验报告
JSP(Java Server Pages)是一种用于开发动态网页的技术,它允许开发人员在HTML 页面中嵌入 Java 代码。
在 JSP 中,有许多内置对象可以帮助开发人员访问请求、会话和应用程序信息,以及执行其他常见任务。
本实验报告将探讨JSP 内置对象的使用和功能。
首先,我们创建了一个简单的 JSP 页面,并在其中使用了内置对象。
我们使用了 request 对象来获取客户端发送的请求信息,并使用了 session 对象来管理用户会话信息。
通过使用这些内置对象,我们能够轻松地访问和操作客户端请求和会话数据,从而实现更灵活和动态的网页。
接下来,我们尝试使用 application 对象来访问应用程序范围的数据。
通过将数据存储在 application 对象中,我们可以确保所有用户都能够访问和共享这些数据,从而实现更高效的应用程序设计。
此外,我们还使用了 out 对象来向客户端输出动态内容。
通过将 Java 代码嵌入到 JSP 页面中,并使用 out 对象来输出结果,我们能够实现更灵活和动态的网页内容,从而提升用户体验。
总的来说,JSP 内置对象为开发人员提供了丰富的功能和便利的操作方式,使得开发动态网页变得更加简单和高效。
通过本次实验,我们深入了解了这些内置对象的使用和功能,相信这将对我们今后的 JSP 开发工作产生积极的影响。
JSP内置对象实验报告
JSP程序设计实验报告(三)院系:计算机科学与工程学院【实验题目】JSP内置对象【实验目的】1、了解JSP中4个内置对象request、reponse、session、pagecontext的基本概念。
2、理解JSP内置对象的常用方法的功能。
3、掌握JSP内置对象的应用。
【实验内容】1、request对象:客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应。
它是HttpServletRequest类的实例。
2、response对象:response对象包含了响应客户请求的有关信息,但在JSP中很少直接用到它。
它是HttpServletResponse类的实例。
3、session对象:session对象指的是客户端与服务器的一次会话,从客户连到服务器的一个WebApplication开始,直到客户端与服务器断开连接为止。
4、pageContext对象:pageContext对象提供了对JSP页面内所有的对象及名字空间的访问,也就是说他可以访问到本页所在的SESSION,也可以取本页面所在的application 的某一属性值,他相当于页面中所有功能的集大成者。
5、练习(自己完成)【实验代码】实验1 request对象使用<%@ page language="java" import="java.util.*" pageEncoding="GBK"%> <%String path = request.getContextPath();String basePath = request.getScheme() + "://"+ request.getServerName() + ":" + request.getServerPort()+ path + "/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><base href="<%=basePath%>"><title>My JSP 'index.jsp' starting page</title></head><body bgcolor="#FFFFF0"><form action="" method="post"><input type="text" name="qwe"><input type="submit" value="提交"></form>请求方式:<%=request.getMethod()%><br>请求的资源:<%=request.getRequestURI()%><br>请求用的协议:<%=request.getProtocol()%><br>请求的文件名:<%=request.getServletPath()%><br>请求的服务器的IP:<%=request.getServerName()%><br>请求服务器的端口:<%=request.getServerPort()%><br>客户端IP地址:<%=request.getRemoteAddr()%><br>客户端主机名:<%=request.getRemoteHost()%><br>表单提交来的值:<%=request.getParameter("qwe")%><br><%String str = "";if (request.getParameter("qwe") != null) {Enumeration enumt = request.getParameterNames();while (enumt.hasMoreElements()) {str = enumt.nextElement().toString();out.println(str + ":" + request.getParameter(str) + "<br>");}}%></body></html>实验2 response对象<%@ page language="java" import="java.util.*" pageEncoding="gbk"%> <%String path = request.getContextPath();String basePath = request.getScheme() + "://"+ request.getServerName() + ":" + request.getServerPort()+ path + "/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><base href="<%=basePath%>"><title>你想重定向去哪个网站?</title></head><body><%String address = request.getParameter("where");if (address != null) {if (address.equals("sohu"))response.sendRedirect("");else if (address.equals("avceit"))response.sendRedirect("");else if (address.equals("mypage"))response.sendRedirect("mypage.jsp");}%><b>Please select:</b><br><form action="" method="GET"><select name="where"><option val ue="sohu" selected>go to sohu</option><option value="avceit">go to avceit</option><option value="mypage">go to mypage</option></select><input type="submit" value="go"></form></body></html>实验3 session对象使用<%@ page language="java" import="java.util.*" pageEncoding="gbk"%> <%String path = request.getContextPath();String basePath = request.getScheme() + "://"+ request.getServerName() + ":" + request.getServerPort()+ path + "/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><base href="<%=basePath%>"><title>My JSP 'index.jsp' starting page</title></head><body><br>session的创建时间:<%=session.getCreationTime()%> <%=newDate(session.getCreationTime())%><br><br>session的Id号:<%=session.getId()%><br><br>客户端最近一次请求时间:<%=session.getLastAccessedTime()%> <%=newjava.sql.Time(session.getLastAccessedTime())%><br><br>两次请求间隔多长时间此SESSION被取消(ms):<%=session.getMaxInactiveInterval()%><br><br>是否是新创建的一个SESSION:<%=session.isNew()?"是" : "否"%><br><br><%session.setAttribute("name", "火星人");session.setAttribute("nmber", "1234567");%><%String str;//Enumeration为枚举类Enumeration<String> enum1=session.getAttributeNames();while(enum1.hasMoreElements()){str=enum1.nextElement().toString();out.println(str+":"+session.getAttribute(str)+"<br>");}%><br></body></html>实验4 pageContext对象使用<%@ page language="java" import="java.util.*" pageEncoding="gbk"%> <%String path = request.getContextPath();String basePath = request.getScheme() + "://"+ request.getServerName() + ":" + request.getServerPort()+ path + "/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><base href="<%=basePath%>"><title>pageContext对象举例</title></head><body><%request.setAttribute("name", "软件001");session.setAttribute("name", "软件002");application.setAttribute("name", "编程001");%>request设定的值:<%=pageContext.getRequest().getAttribute("name")%><br>session设定的值:<%=pageContext.getSession().getAttribute("name")%><br>application设定的值:<%=pageContext.getServletContext().getAttribute("name")%><br>范围1内的值:<%=pageContext.getAttribute("name", 1)%><br>范围2内的值:<%=pageContext.getAttribute("name", 2)%><br>范围3内的值:<%=pageContext.getAttribute("name", 3)%><br>范围4内的值:<%=pageContext.getAttribute("name", 4)%><br><!--从最小的范围page开始,然后是reques、session以及application--><%pageContext.removeAttribute("name", 3);%>pageContext修改后的session设定的值:<%=session.getAttribute("name")%><br><%pageContext.setAttribute("name", "应用技术培训", 4);%>pageContext修改后的application设定的值:<%=pageContext.getServletContext().getAttribute("name")%><br>值的查找:<%=pageContext.findAttribute("name")%><br>属性name的范围:<%=pageContext.getAttributesScope("name")%><br> </body></html>【实验结果】request对象:response对象:、session对象:pageContext对象:【实验心得】通过本次实验,我知道了如何在JSP页面中实现使用request、reponse、session、pagecontext4个内置对象,对这四个内置对象有了一定的了解,并且对JSP编程更加得心应手。
“jsp内置对象”单元习题
“JSP 内置对象”单元习题一、填空题1.JSP 中有9 种内置对象,它们分别是:__________ 、 __________ 、response 对象、pageContext 对象、session 对、applicationt 对象、page 对象、config 对象和exception 对象。
2.Request 对象可以使用__________ 方法获取表单提交的信息。
3.客户端向服务器端提交数据的方式通常有两种:一种是___________ 提交方式;另一种是___________ 提交方式。
4.在JSP 内置对象中,与请求相关的对象是_______________________ 。
5.___________ 被封装成接口,它用来向客户端输出内容。
6.Out 对象中用来输出各种类型数据并换行的方法是 ________________________ 。
7.Out 对象中用来输出各种类型数据但不换行的方法是8.Out 对象中用来输出一个换行符的方法是 ________________________ 。
9.Out 对象中用来关闭输出流的方法是 _______________________ 。
10.Out 对象中用来输出缓冲区里的数据的方法是________________________ 。
11.Out 对象中用来清除缓冲区里的数据,并把数据写到客户端的方法是12.Out 对象中用来清除缓冲区里的数据,但不写到客户端的方法是13.Out 对象中用来获得缓冲区大小的方法是_______________________ 。
14.Out 对象中用来获得缓冲区剩余空间大小的方法是15.Out 对象中用来判断缓冲区是否自动刷新的方法是16.Request 对象中用来获得服务器名字的方法是________________________ 。
17.Request 对象中用来获得服务器的端口号的方法是18.Request 对象中用来获得客户端的IP 地址的方法是19.Request 对象中用来获得客户端的计算机名字的方法是方法。
Web应用程序设计-实验三JSP内置对象
7.掌握JavaBean的应用。
二、实环境
Windows XP,Tomcat,Editplus、Eclipse /MyEclipse
三、实验内容及步骤
1、使用request的常用方法获取用户提交的信息,如下图所示,源代码文件上传至服务器。源代码:
6参考教材第五章javabean的例子先编写一个登录javabean然后编写一个登录html页面loginhtml提交后的处理页面loginjsp应用该登录javabean获取表单的值如果用户名和密码都正确例如用户名等于qq密码等于123页面跳转到成功页面否则跳转到登录页面loginhtml
Web应用程序设计-实验三JSP内置对象
一、实验目的
1.了解JSP内置对象request、response的基本概念。
2.理解JSP内置对象request、response的常用方法的功能。
3.掌握JSP内置对象request、response的应用。
4.了解JSP内置对象session、application、out的基本概念。
5.理解JSP内置对象session、application、out的常用方法的功能。
<%@page language="java"import="java.util.*"contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
JSP常用的内置对象——out对象
JSP常⽤的内置对象——out对象1. out对象定义out对象主要⽤于向客户输出各⾃数据,同时管理应⽤服务器上的输出缓冲区(buffer)。
应⽤服务器上缓冲区⼤⼩默认是8KB,可以通过page指令中的buffer属性来设置缓冲区⼤⼩。
2. out对象的⽅法out对象可以调⽤以下⽅法把数据输出到⽹页上,并能够控制管理输出缓冲区和输出流。
(1)print()/println():⽤于输出数据。
print()⽅法把数据输出到客户端,⽽println()⽅法除了把数据输出到客服端,还在后⾯添加⼀个空⾏;(2)getBufferSize():⽤于获取缓冲区的⼤⼩;(3)getRemaining():⽤于获取缓冲区剩余空间;(4)isAutoFlush():⽤于判断是否⾃动刷新缓冲区。
⾃动刷新返回true,否则返回false;(5)flush():⽤于输出缓冲区⾥的数据,该⽅法先把缓冲区的数据输出到客户端,⽽后再清除缓冲区中的数据;(6)clearBuffer():⽤于清除缓冲区⾥的数据,但不会把缓冲区的数据输出到客服端;(7)close():⽤于关闭输出流;(8)newLine():⽤于输出⼀个换⾏符,⽤于实现换⾏功能;3. out对象应⽤实例<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>out对象其他常⽤⽅法的使⽤</title></head><body>以下是out对象其他常⽤⽅法的使⽤<hr>获取缓存⼤⼩:<%=out.getBufferSize() %><br>获取剩余缓存区⼤⼩:<%=out.getRemaining() %><br>判断是否⾃动刷新:<%=out.isAutoFlush() %><br><%out.print("jsp输出!<br>");out.print("当前可⽤缓存区空间⼤⼩:"+out.getRemaining());out.flush();out.print("当前可⽤缓存区空间⼤⼩:"+out.getRemaining()+"<br>");out.clearBuffer();out.print("当前可⽤缓存区空间⼤⼩:"+out.getRemaining());out.flush();%><hr></body></html>结果如图:。
Java_Web应用开发技术与案例教程课件第6章第2节 Servlet常用接口、类及其方法
第5节 MVC开发模式与应用案例
在开发一个Web应用程序时,通常需要同时使用这3种技术,并分别承担不同的职责 。 JSP一般用来编写用户界面层的信息显示,充当视图层的角色(简称为V); Servlet主要用来扮演任务的执行者,一般充当着控制层的角色(简称为C); JavaBean主要实现业务逻辑的处理,充当模型层的角色(简称为M)。
1.javax.servlet.http.HttpServletRequest
类HttpServletRequest的对象对应JSP的request对象, 常用方法:
void setCharacterEncoding(): 设置请求信息字符编码,常用于解决post方式下参数值汉字乱码问题。
String getParameter(String paraName):获取单个参数值。 String[] getParameterValues(String paraName):
假设,组件之间共享数据的参数为:username(用户名称)和userpwd(密码)。
【实现】 (1)登录页面login.jsp (2)处理登录的Servlet:LoginCheckServlet.java (3)显示结果的页面Info.jsp
【运行】《程序执行》
回顾上次课介绍的内容
1、如何创建Servlet? 一般在创建时,直接采用注解方式,配置servlet_形成访问地址,利用该地址,对 servlet 运行 2、重写 doGet(参数:请求,相应参数) doPost(参数) 3、部署 4、运行——利用该地址,对servlet 运行 5、给出了设计案例
的JSP页面。并且,在跳转到新组件后,重新创建request对象。 response.sendRedirect("JSP网页地址");
Jsp6——page指令
Jsp6——page指令index.jsp(contentType,pageEncoding,import)<%@page contentType="text/html" %><%@page pageEncoding="UTF-8" %><%@page import="java.util.Date" %><%@page import="java.util.*,java.text.SimpleDateFormat" %><%--关于JSP的指令:1、指令的作⽤,是指导JSP的翻译引擎如何翻译JSP代码。
2、JSP中共三个指令:* page 页⾯指令* include 包含指令* taglib 标签库指令【以后讲】3、指令的使⽤语法格式:<%@指令名属性名=属性值属性名=属性值.....%>3、关于JSP的page指令,page指令中常⽤的属性:* contentType 设置JSP的响应内容类型,同时在响应的内容类型后⾯也可以指定响应的字符编码⽅式* pageEncoding 设置JSP响应时的字符编码⽅式* import组织导⼊* session 设置当前JSP页⾯中是否可以直接使⽤session内置对象* errorPage 错误页⾯* isErrorPage 是否是错误页⾯* isELIgnored 是否忽略EL表达式【后期讲】--%><%Date nowTime = new Date();%><%=nowTime %><br><%SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");%><%=sdf.format(nowTime) %>index2.jsp(session)<%--<%@page contentType="text/html; charset=UTF-8" session="true"%><%=session %>--%><%--关于page指令中的session属性:- session="true"* 表⽰在当前JSP中可以直接使⽤内置对象session* 程序执⾏的时候获取当前的session会话对象,若获取不到则新建session对象- session="false"* 表⽰在当前JSP中不能直接使⽤内置对象session* 但是有⼀些业务可能要求在当前JSP页⾯中获取当前的session对象,没有获取到则不新建session对象,此时需要编写以下程序 - 若session这个属性没有指定,默认值就是session="true"--%><%@page contentType="text/html; charset=UTF-8" session="false"%><%HttpSession session = request.getSession(false);%><%=session%>index3.jsp<%@page contentType="text/html; charset=UTF-8" errorPage="/error.jsp"%><%--关于page指令的errorPage属性:当前JSP页⾯处错之后,要跳转的页⾯路径,需要使⽤该属性指定。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
out对象
本讲大纲: 1、向客户端输出数据 2、管理响应缓冲
向客户端输出数据
out对象一个最基本的应用就是向客户端浏览器输出信息 。out对象可以输出各种数据类型的数据,在输出非字符串类 型的数据时,会自动转换为字符串进行输出。out对象提供了 print()和println()两种向页面中输出信息的方法,下面分别进 行介绍。
getServerName() getServerPath() getServerPort()
获取客户端的IP地址 获取客户端的主机名
获取服务器的名字 获取客户端所请求的脚本文件的文件路径 获取服务器的端口号
显示国际化信息
浏览器可以通过accept-language的HTTP报头向Web服务器 指明它所使用的本地语言。request对象中的getLocale()和 getLocales()方法允许JSP开发人员获取这一信息,获取的信息属 于java.util.Local类型。java.util.Local类型的对象封装了一个国 家和一种国家所使用的语言。使用这一信息,JSP开发者就可以使 用语言所特有的信息作出响应。
处理HTTP文件头
通过response对象可以设置HTTP响应报头,其中,最常用的是 禁用缓存、设置页面自动刷新和定时跳转网页。下面分别进行介绍。
1、禁用缓存 2、设置页面自动刷新 3、定时跳转网页
设置输出缓冲
通常情况下,服务器要输出到客户端的内容不会直接写到客户端, 而是先写到一个输出缓冲区,在计算机术语中,缓冲区被定义为暂时放 置输入或输出资料的内存。实际上,缓冲区也可以这样理解:在一个粮 库中,由于装缷车队的速度要快于传送带的传输速度,为了不造成装缷 车队的浪费,粮库设计了一个站台,装缷车队可以先将运送的粮食缷到 这个平台上,然后让传送机慢慢传送。粮库的这个站台就起到了缓冲的 作用。当满足以下三种情况之一,就会把缓冲区的内容写到客户端。
返回session对象 返回out对象
返回application对象 为指定范围内的属性设置属性值
removeAttribute()
删除指定范围内的指定属性
读取Web.xml 配置信息的config对象
方 法 getServletContext() 获取Servlet上下文
获取会话范围tring relativeUtlpath) getAttribute(String name) 把页面转发到另一个页面 获取参数值
说 明
getAttributeNamesInScope(int scope) getException()
getRequest() getResponse()
获取某范围的参数名称的集合,返回值为java.util.Enumeration对象 返回exception对象
返回request对象 返回response对象
getSession() getOut()
getApplication setAttribute()
管理相应缓冲
方 法
说 明
clear() clearBuffer()
flush() isAutoFlush()
清除缓冲区中的内容 清除当前缓冲区中的内容
刷新流 检测当前缓冲区已满时是自动清空,还是抛出异常
getBufferSize()
获取缓冲区的大小
其他内置对象
本讲大纲: 1、获取会话范围的pageContext对象 2、读取web.xml配置信息的config对象 3、应答或请求的page对象 4、获取异常信息的exception对象
会话超时管理
在应用session对象时应该注意session的生命周期。一般来说, session的生命周期在20~30分钟之间。当用户首次访问时将产生一 个新的会话,以后服务器就可以记住这个会话状态,当会话生命周期超 时时,或者服务器端强制使会话失效时,这个session就不能使用了。 在开发程序时应该考虑到用户访问网站时可能发生的各种情况,比如用 户登录网站后在session的有效期外进行相应操作,用户会看到一张错 误页面。这样的现象是不允许发生的。为了避免这种情况的发生,在开 发系统时应该对session的有效性进行判断。
在作用域中管理属性
在进行请求转发时,需要把一些数据传递到转发后的页面进行 处理。这时,就需要使用request对象的setAttribute()方法将数据 保存到request范围内的变量中。 request对象的setAttribute()方法的语法格式如下: request.setAttribute(String name,Object object);
获取客户端信息
方 法 getHeader(String name)
getHeaders(String name) getHeadersNames() getMethod()
说 明 获得HTTP协议定义的文件头信息
返回指定名字的request Header的所有值,其结果是一个枚举型的实例 返回所有request Header的名字,其结果是一个枚举型的实例 获得客户端向服务器端传送数据的方法,如get,post,header,trace等
获取cookie
cookie的中文意思是小甜饼,然而在互联网上的意思与这就 完全不同了。它和食品完全没有关系。在互联网中,cookie是小 段的文本信息,在网络服务器上生成,并发送给浏览器的。通过使 用cookie可以标识用户身份,记录用户名和密码,跟踪重复用户 等。浏览器将cookie以key/value的形式保存到客户机的某个指定 目录中。 通过cookie的getCookies()方法即可获取到所有cookie对象 的集合;通过cookie对象的getName()方法可以获取到指定名称 的cookie;通过getValue()方法即可获取到cookie对象的值。另 外将一个cookie对象发送到客户端使用了response对象的 addCookie()方法。
request对象
本讲大纲: 1、访问请求参数 2、在作用域中管理属性 3、获取Cookie 4、解决中文乱码
5、获取客户端信息 6、显示国际化信息
访问请求参数
我们知道request对象用于处理HTTP请求中的各项参数。在 这些参数中,最常用的就是获取访问请求参数。当我们通过超链接 的形式发送请求时,可以为该请求传递参数,这可以通过在超链接 的后面加上问号“?”来实现。注意这个问号为英文半角的符号。
response对象
本讲大纲: 1、重定向网页 2、处理HTTP文件头
3、设置输出缓冲
重定向网页
使用response对象提供的sendRedirect()方法可以将网页重定向到 另一个页面。重定向操作支持将地址重定向到不同的主机上,这一点与 转发不同。在客户端浏览器上将会得到跳转的地址,并重新发送请求链 接。用户可以从浏览器的地址栏中看到跳转后的地址。进行重定向操作 后,request中的属性全部失效,并且开始一个新的request对象。 sendRedirect()方法的语法格式如下: response.sendRedirect(String path);
解决中文乱码
在上面的代码中我们为id参数传递了一个字符串类型的值 “001”,如果将这个参数的值更改为中文,则在show.jsp就会发生 大家都不愿意看到的问题——在显示参数值时中文内容变成了乱码 。这是因为请求参数的文字编码方式与页面中的不一致所造成的, 所有的request请求都是iso-8859-1的,而在此页面采用的是 UTF-8的编码方式。要解决此问题,只要将获取到的数据通过 String的构造方法使用指定的编码类型重新构造一个String对象即 可正确地显示出中文信息。
从会话中移除指定的绑定对象
对于存储在session会话中的对象,如果想将其从session会话中 移除,可以使用session对象的removeAttribute()方法,该方法的语 法格式如下: removeAttribute(String name) 参数说明如下: name:用于指定作用域在session范围内的变量名。一定要保证 该变量在session范围内有效,否则将抛出异常。
session对象的应用
session是较常用的内置对象之一,与requeset对象相比其作用范 围更大。下面通过实例介绍session对象的应用。
application对象
本讲大纲: 1、访问应用程序初始化参数 2、管理应用程序环境属性
访问应用程序初始化参数
application对象提供了对应用程序初始化参数进行访问 的方法。应用程序初始化参数在web.xml文件中进行设置, web.xml文件位于Web应用所在目录下的WEB-INF子目录中 。在web.xml文件中通过<context-param>标记配置应用程 序初始化参数。
管理应用程序环境属性
与session对象相同,也可以在application对象中设置 属性。与session对象不同的是,session只是在当前客户的 会话范围内有效,当超过保存时间,session对象就被收回; 而application对象在整个应用区域中都有效。application对 象管理应用程序环境属性的方法分别介绍如下。 getAttributeNames():获得所有application对象使用 的属性名。 getAttribute(String name):从application对象中获取 指定对象名。 setAttribute(String key,Object obj):使用指定名称和 指定对象在application对象中进行关联。 removeAttribute(String name):从application对象中 去掉指定名称的属性。
session对象
本讲大纲: 1、创建及获取客户的会话
2、从会话中移动指定的绑定对象