ch03-JSP内置对象笔记
第四章 内置对象笔记(2)
JSP内置对象requestrequest对象主要用于处理客户端请求,主要功能是服务器端接收客户端以HTTP方式传递的数据,然后对其进行进一步处理,实现交互设计。
JSP页面所在的T omcat服务器将用户的请求使用request接受参数例子:输入中文:发现,页面总原本的文字,可以正确的显示,但是传递过来的参数文字却无法正确的进行显示。
在进行request接受参数的过程中会产生乱码。
3.1.2 分析乱码产生所有的静态WEB的执行流程,是先从服务器上取得一个页面,之后通过此页面把内容进行提交,提交给服务器之后服务器再将提交的内容返回给客户进行显示。
浏览器的默认编码是UTF-8,中文编码是GBK,两种编码不一样,就造成了乱码。
通过request提供的统一设置编码方法可以解决这种乱码问题。
设置一个统一的编码。
之后就按此编码进行数据的接受。
直接使用从servletRequest接口中继承而来的:setCharacterEncoding()方法进行统一的编码设置。
request.getParameter()方法只能接收表单中文本框输入的内容,即接收一个参数。
如果一组参数用什么方法:request-demo02.html使用getParameter()方法接收参数。
如果表单传递的是一个复选框,则只能接收第一个选中的。
所谓复选框实际上是一个数组,同时接收一组数据。
如果想要都接收,则使用如下方法完成:/requestdemo/request_demo02.jsp at line 16数组是否为空;URL地址重写在WEB开发中,所有的参数不一定非要由表单传递过来,也可以使用地址重写的方式进行传递。
格式:动态页面地址?参数名称1=参数内容1 & 参数名称2=参数2 &...在表单中存在两种方式的提交:1.get2.post两者的区别?范例:将input.htm中的提交方式修改为get提交<FORM METHOD=“get" ACTION="input.jsp">输入信息:<INPUT TYPE="text" NAME="info"><INPUT TYPE="submit" value="显示"></FORM>从页面的地址上可以发现,用户的表单输入的全部信息都显示在了地址栏中,证明get提交的时候是将所有的内容都在地址栏中进行显示。
内置对象笔记
alert(strArr[i]);
}
for(var i=0;i<objArr.length;i++){ //objArr不受影响
alert(objArr[i]);
}
(10)、splice(start,deleteCount[,item1,item2[,...]]]):这是一个复杂的函数,用于完成数组元素的删除 取代和插入操作。其中,start参数表示要进行操作的索引位置,deleteCount指从start开始要删除的元素的元素个数(包括了start位置),如果deleteCount省略,则表示从start开始要删除数组的剩余部分。[,item1[,item2[,...]]]则表示可选的插入到start之前的元素列表。
var studentsArr=new Array(len);
var studentsArr=new Array([student0,[student1,[student2,]]]);
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>标签来传递多个参数。
第5单元 JSP内置对象
Enumeration getAttributeNamesInScope(int scope )
取得所有scope范围的属性名称组成的列举表
void removeAttribute(String name[, int scope])
内置(又称隐含)对象是特定Java类的实例, 它们由JSP引擎在运 行时根据情况自动创建并管理,在JSP页面中可以直接使用。
能实现很多功能, 如: 从客户端获得数据、向客户端发回数据、控制 传输数据的有效域和异常处理等。
对象的名称是JSP的保留字, 使用内置对象可简化应用开发。
隐含对象功能:
不必使用表达式, 直接使用out对象向客户端输出信息。
getParameter() :读取请求参数 getParameterNames():获取指定范围内的请求参数名的集合; getParameterValues():读取指定参数的所有值; getHeader():读取指定字段名的请求头信息。
此外该接口还包含大量的方法, 概括起来分为四类。
请求对象reques
在错误页面中显示出错信息。
<% String st=exception.getMessage();%>
等等… …
9种隐含对象
2
JSP内置对象的由来
3
转译为Servlet
编写jsp页面可 使用隐含对象 注意: 它们在 _jspService() 方法中定义,故 只能在脚本和 表达式中使用
页面对象: page
page对象代表当前JSP页面, 即代表转译后的Servlet
4
JSP容器将JSP页面转译成Servlet后, 将指针this赋给了page对象
第三章:JSP内置对象 (request对象、response对象session对象、application对象、cookie)
第三章:Jsp隐式对象(request对象、response对象session对象、application对象、cookie)Jsp隐式对象概述:由JSP规范提供,不用编写者实例化。
通过Web容器实现和管理。
所有JSP页面均可使用。
只有在脚本元素的表达式或代码段中才可使用(<%=使用内置对象%>或<%使用内置对象%>)。
常用九大内置对象的作用和方法1、out对象:代表提供输出流的访问。
2、request对象:request对象是从客户端向服务器端发出请求,包括用户提交的信息以及客户端的一些信息。
常用方法:getparameter()getParameterValues()setAttribute() getAttribute()3、response对象:允许直接访问HttpServletResponse对象常用方法:sendRedirect()4、session对象:允许直接访问HttpServletResponse对象常用方法:setAttribute()、getAttribute()5、application对象:用于多个程序或者多个用户之间共享数据。
常用方法:setAttribute()、getAttribute()6、config :将初始化数据传递给一个JSP页面7、page :代表JSP页面对应的Servlet类实例8、exception:针对错误网页,未捕捉的例外9、pageContext :管理网页的属性内置对象的作用域:◆application:服务器启动到停止这段时间◆session:HTTP会话开始到结束这段时间◆request:HTTP请求开始到结束这段时间◆page:当前页面从打开到关闭这段时间对于每一个用户都共享同一个对象的是:application对象,而每个用户分别使用不同对象实例的是:session对象forword和sendRedirect的区别:forword仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;sendRedirect则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接getParameter(String name);例题一:文件名:input.html<html>< body bgcolor="white"><font size=1><form action="requestdemo1.jsp" method=post name=form><input type="text" name="boy"><input type="submit" value="Enter" name="submit"></form></font></body></html>文件名:requestDemo1.jsp:<%@ page contentType="text/html;charset=GB2312" %><html><body bgcolor="white"><font size=4><p>获取文本框提交的信息:<%String strContent=request.getParameter("boy");%><%=strContent%> // 输出文本框boy提交的信息<p> 获取按钮的名字:<%String strButtonName=request.getParameter("submit");%><%=strButtonName%> // 输出按钮的value名字</font></body></html>例题二:设计一个简单的“JSP程序设计网上测试系统”,如下图所示。
实验3 JSP实验内置对象实验
实验2:内置对象、Cookie及JavaBean实验
一、实验目的:
●理解对象概念,掌握application、session等对象的基本使用方法。
●理解Cookie概念,掌握Cookie的基本使用方法。
●理解JavaBean概念,掌握JavaBean的基本使用方法。
●
二、实验要求:
●使用开发工具Eclipse编程。
●编写程序完成以下实验内容并上交实验报告
●
三、实验内容:
1、编写一个简单的网上商店,用application对象存放网上的商品清单和库存量,用session 对象存放用户的购买信息(用户名、商品名及购买数量),然后利用这些信息给用户结账。
2、利用Cookie实现用户的自动登录功能。
其中,要求在登录页面中通过对Cookie有效期的设置来保存用户的信息。
3、用JavaBean和JSP设计一个某教育机构的简易在线报名子系统。
要求将表单输入的信息通过JSP向JavaBean设置属性,并通过JSP将获取属性返回给客户端。
四、实验过程中遇到的问题及解决手段:
描述实验过程中遇到的问题并尽量提供解决的方法。
五、参考源代码:
1.网上商店:
登陆.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对象。
第四章 内置对象笔记(3)
4.2 JSP内置对象responseresponse对象的主要功能是服务器端用于响应客户请求并向客户端发送信息1 改变contentType属性的值当一个客户请求访问一个JSP页面时,如果该页面用page指令设置页面的contentType属性的值为text/html,那么response对象按照这种属性值做出响应,将页面的静态部分返回给客户。
由于page指令只能为contentType指定一个值,来决定响应的MIME类型,如果想动态地改变这个属性的值来响应客户,就需要让response对象调用setContentType(String s)方法来改变contentType的属性值:public void setContentType(String s)当服务器用setContentType方法动态改变了contentType的属性值,即响应的MIME类型,并将JSP页面的输出结果按照新的MIME类型返回给客户时,客户端要保证支持这种新的MIME类型。
response.setHeader(“头信息内容”,”头信息参数”);最有用的一个头信息:刷新(refresh)应用:通过setHeader可以实现跳转功能举例:两秒后跳到另一个页面上response.setHeader(“refresh”,”2;URL=另一页面名称”);3.response 对象常用方法void sendRedirect (String location):将请求重新定位到一个不同的URL (重定向)——客户端跳转应用:在首页面(input1.jsp)上输入用户名、密码,提交至input2.jsp进行处理<%服务器端跳转一个会话就是浏览器与服务器之间的一次通话,它包含浏览器与服务器之间的多次请求、响应过程4.4 JSP内置对象sessionsession对象用来存储有关用户会话的所有信息,直到它的生命周期超时或被人为释放掉为止。
第四章 内置对象笔记(1)
什么是JSP内置对象?JSP 内置对象是Web 容器创建的一组对象JSP 内置对象是可以直接在JSP页面使用的对象,无需使用“new”获取实例JSP 内置对象的名称是JSP 的保留字示例<%request.setCharacterEncoding("GBK");String titleName = request.getParameter("titlename");%>没有出现new关键字,但却可以使用request对象JSP内置对象概览JSP中4种属性保存范围(补充)属性范围:指的是一个设置的对象可以在多少个页面中保存并继续使用。
page:只在一个页面中保存属性,跳转之后无效。
⏹request:只在一次请求中保存,服务器跳转后依然有效。
⏹session:在一次会话范围中,无论何种跳转都可以使用,但是新开浏览器无法使用。
⏹application:在整个服务器上保存,所有用户都可以使用。
四种属性范围中都将包含以下的属性操作方法。
Page属性范围(使用pageContext表示,但是一般都习惯于将这种范围称为page 范围)表示将一个属性设置在本页,跳转之后无法取得,如图:例子:设置和取得page范围的属性--- page_scope_01.jsp在一个页面设置一个属性,然后直接从本页面中取出属性,返回的类型是Object,所以必须进行向下转型操作。
例子:跳转后属性无法取得。
page_scope_02.jsp输出时,内容为null,request 属性范围;服务器跳转后,属性依然保存下来,可以使用request 属性范围操作。
设置request范围属性request_scope_01.jsprequest将属性保存在一次请求范围内。
前提:必须使用服务端跳转<jsp:forward page=“uri”/>如果跳转方式改成超链接<a href=“uri”></a>,地址栏改变(新的一次请求),上一次请求的内容没有保存下来,故显示内容为null。
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开发能力。
ch3内置对象
3.2 out隐含对象
page指令的buffer属性 buffer属性为out对象定义输出流缓冲区,则 out.write()输出的信息会暂时存储在缓冲区中, 缓冲区被刷新后,其中的信息会通过PrintWriter 对象传给客户端。
3.2 out隐含对象
输出缓冲区能够改善系统的性能。buffer属性取值 为none时,表示不设缓冲区,则out对象的输出信 息会直接传递PrintWriter。当buffer取值为nkb时, 表示缓冲区的大小为nKB,默认值为8KB。一个 应用样例如:
exam302.jsp读取出来的中文参数值是乱码? 解决方案1: 1.修改tomcat安装目录下conf文件夹下的 server.xml: <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="gb2312“ /> 2.在exam302.jsp中: request.setCharacterEncoding("gb2312");
3.3 request隐含对象
request. getRequestDispatcher()的作用是返回 目标资源的RequestDispatcher对象,语法为:
public requestDispatcher getRequestDispatcher(ng.String path)
程序4-29:oldjsp/Attribute_receive.jsp <%@page contentType="text/html;charset=GB2312"%> <% String name =(String)request.getAttribute("name"); if(name==null) { out.println("<h1>request中没有name参数!"); } else out.println(name); %>
JSP的内置对象及作用
JSP的内置对象及作用JSP(Java Server Pages)是一种基于Java的用于动态生成网页的技术。
在JSP中,有一些内置对象可供使用,这些对象具有特定的作用,能够帮助开发者简化代码并实现与客户端的交互。
本文将详细介绍JSP的内置对象及其作用。
1. request对象:request对象用于获取客户端发出的HTTP请求的相关信息,例如请求的URL、参数、头部信息等。
通过request对象,开发者可以处理来自客户端的请求并返回相应的数据。
2. response对象:response对象用于向客户端发送HTTP响应,可以通过该对象设置HTTP响应的头部信息、状态码、响应内容等。
通过response对象,开发者可以将结果返回给客户端。
3. out对象:out对象是一个输出流,用于向客户端输出数据。
开发者可以使用out对象输出HTML代码、文本、变量等内容,将结果展示给用户。
4. session对象:session对象用于存储用户的会话信息。
它是在用户访问服务器时自动创建的,每个用户的session对象都有一个唯一的ID。
通过session 对象,开发者可以在多个页面之间共享数据,实现用户状态的管理。
5. application对象:application对象是整个应用程序共享的,所有用户都可以访问它。
它在服务器启动时创建,只有一个实例。
通过application对象,开发者可以在整个应用程序中共享数据,实现数据的全局访问。
6. pageContext对象:pageContext对象是JSP页面的上下文对象,可以访问其他内置对象。
通过pageContext对象,开发者可以获取其他内置对象,例如request、response、session、application等。
7. exception对象:exception对象用于处理JSP页面中的异常。
当JSP页面发生异常时,exception对象会被自动创建,并且可以向页面输出异常信息供开发者进行调试。
jsp 内置对象实验报告
jsp 内置对象实验报告
JSP 内置对象实验报告
JSP(Java Server Pages)是一种用于开发动态网页的技术,它允许开发人员在HTML 页面中嵌入 Java 代码。
在 JSP 中,有许多内置对象可以帮助开发人员访问请求、会话和应用程序信息,以及执行其他常见任务。
本实验报告将探讨JSP 内置对象的使用和功能。
首先,我们创建了一个简单的 JSP 页面,并在其中使用了内置对象。
我们使用了 request 对象来获取客户端发送的请求信息,并使用了 session 对象来管理用户会话信息。
通过使用这些内置对象,我们能够轻松地访问和操作客户端请求和会话数据,从而实现更灵活和动态的网页。
接下来,我们尝试使用 application 对象来访问应用程序范围的数据。
通过将数据存储在 application 对象中,我们可以确保所有用户都能够访问和共享这些数据,从而实现更高效的应用程序设计。
此外,我们还使用了 out 对象来向客户端输出动态内容。
通过将 Java 代码嵌入到 JSP 页面中,并使用 out 对象来输出结果,我们能够实现更灵活和动态的网页内容,从而提升用户体验。
总的来说,JSP 内置对象为开发人员提供了丰富的功能和便利的操作方式,使得开发动态网页变得更加简单和高效。
通过本次实验,我们深入了解了这些内置对象的使用和功能,相信这将对我们今后的 JSP 开发工作产生积极的影响。
JSP(内置对象)
4.3.1 重定向网页
上述两个方法都会中止当前的请求和响应。如果HTTP 响应已经提交给客户,则不会调用这些方法。 response对象中用于重定向网页的方法如下表所示。
方法
说明
sendError(int number)
使用指定的状态码向客户发送错误响应
sendError(int number,String msg)
4.1 JSP内置对象概述
为了Web应用程序开发的方便,在JSP页 面中内置了一些默认的对象,这些对象不需要 预先声明就可以在脚本代码和表达式中随意使 用。JSP提供的内置对象共有9个,如下表所 示。
4.1 JSP内置对象概述
内置对象名称
所属类型
application
config exception out page
使用指定的状态码和描述性消息向客户 发送错误响应
sendRedirect(String location)
使用指定的重定向位置URL想客户发送 重定向响应,可以使用相对URL
【例4-5】 重定向网页示例
使用request对象的相关方法重定向网页。
4.3.2 设置HTTP响应报头
response对象提供了设置HTTP响应报头的方法, 如下表所示。
out.print("北京欢迎您");
}
%>
这段代码,如果所在区域为中
国,将显示“北京欢迎您”,
而所在区域为英国,则显示 “Welcome to BeiJing”。
4.3 response对象
response对象和request对象相对应,用于响 应客户请求,向客户端输出信息。response对象 是javax.servlet.http.HttpServletResponse接口类 的对象,它封装了JSP产生的响应,并发送到客 户端以响应客户端的请求。请求的数据可以是各 种数据类型,甚至是文件。
JSP内置对象详解及示例
JSP内置对象详解及⽰例JSP 内置对象jsp⼀共有9个内置对象,这些对象由web容器创造并且适⽤于所有jsp页⾯。
九⼤内置对象如列表所⽰:对象类型JspWriter类的实例HttpServletRequest接⼝的实例HttpServletResponse接⼝的实例ServletConfig类的实例ServletContext类的实例HttpSession类的实例PageContext类的实例Object类Throwableout对于任意想要写⼊缓存的数据,都可以使⽤JSP的内置函数out,它是JspWriter对象。
在servlet中书写格式为PrintWriter out=response.getWriter();但在JSP中可以直接使⽤。
requestrequest是⼀个类型为HttpServletRequest的隐式对象,即由web容器为每个JSP请求创建。
它可以⽤来获取请求信息,如参数、头信息、远程地址、服务器名称、服务器端⼝、内容类型、字符编码等。
它还可以⽤于从jsp请求范围中设置、获取和删除属性。
responseresponse是⼀个类型为HttpServletResponse的隐式对象。
即HttpServletResponse的实例由web容器为每个jsp请求创建。
它可以⽤来添加或操作响应,例如将响应重定向到另⼀个资源、发送错误等。
configconfig是ServletConfig类型的隐式对象。
此对象可⽤于获取特定JSP页⾯的初始化参数。
config对象是由web容器为每个jsp页⾯创建的。
通常⽤于从web.xml⽂件获取初始化参数。
application在JSP中,application是ServletContext类型的隐式对象。
当应⽤程序或项⽬部署在服务器上时,web容器只创建⼀次ServletContext实例。
此对象可⽤于从configuaration⽂件(web.xml)获取初始化参数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
JSP 内置对象request 对象 response 对象 page 对象pageContext 对象 out 对象 session 对象 application 对象 config 对象 exception 对象一、什么是内置对象二、内置对象:request 对象response 对象page 对象pageContext 对象out 对象session application 对象config 对象 exception 对象三、常用内置对象 1. request 对象主要方法:什么是参数:1.客户端提交的数据参数;2.<jsp:param name=”pwd ” value=”123”> 例:request.html<!DOCTYPE html> <html > <head ><meta charset ="UTF-8"><title >request 内置对象实例</title > </head > <body > <form action ="request.jsp" method ="get"> 用户名:<input type ="text" name ="user" <input type ="submit"></form ></body > </html > request.jsp <body > <% String user=request.getParameter( out.println(user);%></body >request.html<body > <form action ="request.jsp"> 操作数1:<input type ="text" name ="num1"> 操作数2:<input type ="text" name ="num2"><br ><input type ="submit" value ="+"></form></body>request.jsp<body><%String strNum1=request.getParameter("num1");String strNum2=request.getParameter("num2");int num1=Integer.parseInt(strNum1);int num2=Integer.parseInt(strNum2);out.println(num1+num2);%></body>什么时候一个参数对应多个值?同名复选框、列表框、下拉列表框(允许多选)<body><form action="request.jsp"method="get">兴趣:<input type="checkbox"name="inst"value="b">篮球<input type="checkbox"name="inst"value="p">排球<br><input type="submit"></form><body><%String[] insts=request.getParameterValues("inst");for(String inst:insts)out.println(inst);%></body><%%> </body ><% request.setAttribute("name", "htz");Object o=request.getAttribute("name"); out.println(o);request.removeAttribute("name"); o=request.getAttribute("name"); out.println(o);%>1.jsp forward2.jsp 1.jsp2.jsp<body><form action="request.jsp"method="get">兴趣:<input type="checkbox"name="inst"value="b">篮球<input type="checkbox"name="inst"value="p">排球<br><input type="submit"></form><body>Request.jsp<a href="request.jsp?inst=b&inst=p"> request</a>如果request.html改成post提交request.html<body><form action="request.jsp"method="post">兴趣:<input type="checkbox"name="inst"value="b">篮球<input type="checkbox"name="inst"value="p">排球<br><input type="submit"></form><body><%String sn=request.getServerName();out.println("服务器名: ");out.println(sn);int port=request.getServerPort();out.println("<br>服务器端口: ");out.println(port);String jn=request.getServletPath();out.println("<br>jsp名: ");out.println(jn);HttpSession session1=request.getSession();out.println("sessionID: ");out.println(session1.getId());%>request.html<body><form action="request.jsp"method="get">兴趣:<input type="checkbox"name="inst"value="b">篮球<input type="checkbox"name="inst"value="p">排球<br><input type="submit"></form><body>request.jsp<body><%String sn=request.getCharacterEncoding();out.println("请求字符编码: ");out.println(sn);%><br>兴趣:<%=request.getParameter("inst") %></body>request.jsp<body><%request.setCharacterEncoding("utf-8");String sn=request.getCharacterEncoding();out.println("请求字符编码: ");out.println(sn);%><br>兴趣:<%=request.getParameter("inst") %></body>2. response对象Web服务器接受请求并进行相应的响应,response.html<!DOCTYPE html><html><head><meta charset="UTF-8"><title>Insert title here</title></head><body><form action="response.jsp">用户名:<input type="text"name="user"><input type="submit"value="提交"> </form></body></html>response.jsp<body><%request.setCharacterEncoding("utf-8");String name=request.getParameter("user");Cookie c=new Cookie("name",name);response.addCookie(c);out.println("用户名:"+name);%><a href="response1.jsp">response1</a></body>response1.jsp<body><%request.setCharacterEncoding("utf-8");Cookie[] cs=request.getCookies();Cookie userCookie=null;for(Cookie c:cs){if(c.getName().equals("name")) {userCookie=c;break;}}String name=userCookie.getValue();out.println("用户名:"+name);%><a href="response1.jsp"></a></body>void sendRedirect(“1.jsp”)与<jsp:forward page=”1.jsp”>共同点:都是转向1.jsp执行区别:response. sendRedirect(“1.jsp”)与重定向前的jsp的request对象不是同一个,并且<jsp:forward page>与重定向前的jsp的request对象是同一个,并且地址栏显示的是重定向前clientDirect.html<!DOCTYPE html><html><head><meta charset="UTF-8"><title>Insert title here</title></head><body><form action="clientRedirect.jsp">用户名:<input type="text"name="user"><input type="submit"value="提交"></form></body>clientDirect.jsp<body><%request.setCharacterEncoding("utf-8");String name=request.getParameter("user");out.println("用户名:"+name);response.sendRedirect("1.jsp");%></body>1.jsp<body><%request.setCharacterEncoding("utf-8");String name=request.getParameter("user");out.println("用户名:"+name);%>></body<body><form action="serverRedirect.jsp">用户名:<input type="text"name="user"><input type="submit"value="提交"></form></body>serverRedirect.jsp<body><%request.setCharacterEncoding("utf-8");String name=request.getParameter("user");out.println("用户名:"+name);%><jsp:forward page="1.jsp"/><%!int c=0;%></head><body><%response.setHeader("Refresh","1");c++;out.println(c);%></body>3. page对象page对象代表当前正在运行的JSP页面,或者可以认为page代表的是JSP页面被编译后的Servlet,因此类似Java语言中的this关键字page.jsp<body><%Class c=page.getClass();out.println(c.getName());%></body>4. pageContext对象对象指当前页面的上下文,即当前页面的所有属性和对象;,可以得到其他内置对象5. out对象out对象的主要作用是向JSP页面上输出各种类型的数据,并且管理Web服务器上的输出缓冲区。