JSP中的response对象
Response对象
注意:在使用Redirect方法时一定要设置 Response.Buffer=true或在所有HTML 标记之前使用Redirect方法,否则会出错。
6.Write方法 Response对象的Write方法是负责将字符串信息输出至 客户端。
格式:Response.write任何数据类型 凡是Asp中的合法的数据类型,皆可以通过Response的 Write方法来显示。但字符串中不可以包含“%>”字符 或“"”符号。前者使用“%\>”来显示,后者则必须重复 使用“""”字符来显示。如: <% Response.Write "欢迎您!" %> <% Response.Write "今天的日期是"& date & "<br>"%> 通常可利用“<%=显示内容%>”来代替 “<%Response.Write显示的内容%>”。如将前面两 条语句代替为:
格式:Response.Expires=分钟数
注意:Response对象s属性的设置必须放 置于<HTML>标签之间,否则会出现错误。
1.2 Response对象方法
1.BinaryWrite方法 Response对象的BinaaryWrite方法可以在不经过任何 字符转换就将指定的信息写到HTTP输出。该方法用于写 非字符串信息(如客户端应用程序所需图形文件、声音文 件、影像文件等二进制数据)。
一般Response.Buffer=false。对于运行时间较长的程 序,如果使用缓冲,会使用户长时间处于等待中。
2.Charset属性:用来设置Web服务器响应给 客户端的文件字符编码。
Response对象
其中调用的两个HTML文件可以分别简化为: workday.htm的代码如下:
<HTML> <BODY> 今天是工作日 </BODY> </HTML>
playday.htm的代码如下:
<HTML> <BODY> 今天是休息日 </BODY> </HTML>
将三个文件发布到Web服务器中,运行ASP程序 3_2.asp,根据日期不同,浏览器中将显示不同的网 页。
(4) Expire属性 Expire属性取值为整数,用来确定在浏览器上缓 冲存储的页面距离过期还有多少时间(以分钟为单 位)。如果用户在某个页面过期之前返回该页,就会 显示缓冲区中的页面,否则将从服务器重新读取该页 面。 这是一个较实用的属性,当客户通过ASP的登录 页面进入Web站点后,应该利用该属性使登陆页面立 即过期(如设置Response.Expire=0),以确保安全。
事实上,凡是浏览器能处理的所有资源都有对应 的MIME资源类型。在与服务器的交互中,浏览器就是 根据所接受数据的MIME类型来判断要进行什么样的处 理,对HTML、JPG等文件浏览器直接将其打开,对Word、 Excel等浏览器自身不能打开的文件则调用相应方法打 开。对没有标记MIME类型的文件,浏览器则根据其扩 展名和文件内容猜测其类型。如果浏览器无法猜出, 则将它作为Application/octet-stream。 ContentType属性的默认值为text/HTML,表示浏 览器将代码解释为普通HTML页面并显示给用户。常用 的 类 型 有 是 text/plain 、 image/gif 、 image/jpeg 、 Application/msword、Application/msexcel等。
responset对象
JSP 的基础语法JSP 内置对象response 对象:response 对象的主要功能是服务器端用于向客户端发送信息,例如HTTP 的头信息和Cookie 信息等。
request 对象:服务器端用于接收客户端请求内容的所属的接口:javax.servlet.http.HttpServletRequestHttpServletRequest 是 ServletRequest 接口的子接口而且 ServletRequest 也只有唯一的一个子接口 —— HttpServletRequest主要是因为,现在的J2EE 的WEB 程序 主要以HTTP 协议为主要通讯协议response 对象:服务器端回应客户端的请求所属的接口:javax.servlet.http.HttpServletResponseHttpServletReponse 的父接口是ServletResponse而且 ServletResponse 也现在只有唯一的一个HttpServletReponse 子接口主要原因:现在的J2EE 的WEB 程序 主要以HTTP 协议为主要通讯协议response 的主要功能:1、设置头信息: ------- responseDemo01.jsp最有用的一个头信息:refresh :刷新response.setHeader("头信息内容","头信息参数") ;<%!// 此处为全局变量,初始化一次int i = 0 ;%><%// 一秒种刷新一次,每次使i 自增response.setHeader("refresh","1") ;%><h1><%=i++%></h1>新的需求:两秒种跳转到responseDemo02.jsp 页面上 ------ responseDemo02.jspresponse.setHeader("refresh","2;URL=页面名称") ;此代码在开发中较为常见setHeader 可以实现跳转功能。
第4章 JSP内置对象
P
例:input1.html
J
s
如何接收多个同名参数?
P
例:request02.html
J
s
P
原因:在整个操作过程中复选框的内容只能得到一个,因 为getParameter()方法,只能接收一个参数的内容,如 果想要接收多个参数,则必须使用: public String[] getParameterValues(String name) 此方法返回一个数组,表示接收同名的一组参数。
§4.1 request对象
J 在JSP中,内置对象request封装了用户请求页面时所提 交的信息,该对象调用相应的方法可以获取封装的信息.即
s
request对象可以获取用户提交的信息。
用户在请求JSP页面时,通常会使用HTML表单提交信息,表 单的一般格式是:
<FORM method=get|post action="提交信息的目的地页面"> 提交手段
J
getParameterNames()方法
此方法可以取得表单提交的所有参数名称
例:request04.html
s
P
思考:如何同时显示复选框的全部内容?
request05.jsp
4.1.5
处理HTML标记_<Select>、<Option>格式
J
下拉式列表和滚动列表通过<Select>和<Option>标记来定义。基本格式 为:
4.1.3
J
常用方法举例
可以用内置对象request对象来获取请求所提交的各类信 息,request对象的常用方法如下:
getProtocol():获取请求使用的通信协议,如http/1.1等。 getServletPath():获取请求的JSP页面所在的目录。 getContentLength():获取HTTP请求的长度。 getMethod():获取表单提交信息的方式,如POST或GET。
第三章: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程序设计网上测试系统”,如下图所示。
jsp程序设计笔试填空及答案
j s p程序设计笔试填空及答案(总10页)-CAL-FENGHAI.-(YICAI)-Company One1-CAL-本页仅作为文档封面,使用请直接删除1、指令标识通常以(<%@)标记开始,以(%>)标记结束。
2、如果想在JSP页面中调用exception对象输出错误信息,需要将页面指令的(isErropage)属性设置为true。
3、页面指令的(import)属性可出现多次。
4、表达式用于向页面输出信息,其使用格式是以(<%=)标记开始,以(%>)标记结束。
5、在页面中通过声明标识声明的变量和方法的有效范围为(整个页面),他们将成为JSP页面被转换成Java类后类中的(属性)和(方法)。
6、通常应用(<jsp:useBean>)动作标识可以在JSP页面中创建一个Bean实例,并且通过属性的设置可以将该实例存储到JSP中的指定范围内。
7、在JSP内置对象中,(request)对象是从客户端向服务器端发出请求,包括用户提交的信息以及客户端的一些信息,此对象的(getparameter)方法可以获取客户端表单中某输入框提交的信息。
8、在JSP内置对象中,(response)对象提供了设置HTTP响应报头的方法。
9、JSP内置对象的有效范围由小到大为(page)、(request)、(session)和(application)。
10、按功能JavaBean可以分为(可视化JavaBean)和(非可视化JavaBean)。
11、通常情况下通过类的(forName(String className))方法加载要连接数据库的Driver类。
1.W3C是指___万维网联盟_______。
2.IP地址用四组由圆点分割的数字表示,其中每一组数字都在__0至254___之间。
3.URL是Uniform Resource Locator的缩写,中文称之为统一资源定位器。
4.超级链接标记<a>的href属性取值为链接的目标地址。
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引擎向它传递信息⽤的。
Response对象解释
一、Response对象功能:response对象控制向客户端浏览器输出信息。
语法:response[.属性|方法|集合](“变量”)1、 Response对象的常用属性(1)BufferBuffer属性设置页面显示时是否在服务器端缓冲。
若设置为true则当页面代码全部执行完毕或调用Flush或End方法后,服务器才将页面执行结果发送给客户端,否则服务器边执行边发送。
ASP3.0以上版本默认值为true;Windows2000的IIS5中默认值也为true。
(2)CharsetCharset属性设置页面显示中所使用的字符集。
此属性设置后在客户端浏览器代码的HTML头信息的meta属性增加一个属性值对,charset=字符集名。
(3)ContenttypeContenttype属性设置客户端HTTP文件格式。
此属性设置后在客户端浏览器代码的HTML 头信息的meta属性增加一个属性值对,content=网页内容类型。
(4)IsclientconnectedIsclientconnected属性为只读属性,表示客户端与服务器端是否连接。
若此属性返回值为True则表示客户端与服务器端处于连接状态,否则表示客户端与服务器端已经断开。
2、Response对象的方法(1)Write功能:在服务器端将指定数据发送给客户端浏览器。
语法:response.write变量或字符串省略用法:<%= 变量或字符串 %>说明:字符串内含有引号时,外层使用双引号,内层使用单引号,不能用单引号时使用chr(34)替换。
例如:<!-- 基本用法格式-- ><%name="zyj"name & ",您的访问时间是:"& now()%><!-- 省略用法格式-- ><%= name&",您的访问时间是:"& now() %>(2)Redirect功能:重定向当前客户端浏览器连接到另一个URL页面。
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 对象中用来获得客户端的计算机名字的方法是方法。
JSP九大对象
JSP内置对象:一.request对象:该对象封装了用户提交的信息,通过调用该对象相应的方法可以获取封装的信息,即使用该对象可以获取用户提交信息。
它是HttpServletRequest的实例。
JSP下面介绍request的常用方法:1,getParameter();getParameterValues();使用如下String str=request.getParameter();2,setAttribute();getAttribute();removeAttribute();getMethod();getPr otocol();getReqeustURI();getRemoteAddr();getServerPort();和getServerName();二.response对象:对客户的请求做出动态的响应,向客户端发送数据。
三.session对象1.什么是session:session对象是一个JSP内置对象,它在第一个JSP页面被装载时自动创建,完成会话期管理。
从一个客户打开浏览器并连接到服务器开始,到客户关闭浏览器离开这个服务器结束,被称为一个会话。
当一个客户访问一个服务器时,可能会在这个服务器的几个页面之间反复连接,反复刷新一个页面,服务器应当通过某种办法知道这是同一个客户,这就需要session对象。
2.session对象的ID:当一个客户首次访问服务器上的一个JSP页面时,JSP引擎产生一个session对象,同时分配一个String类型的ID号,JSP引擎同时将这个ID号发送到客户端,存放在Cookie中,这样session对象和客户之间就建立了一一对应的关系。
当客户再访问连接该服务器的其他页面时,不再分配给客户新的session对象,直到客户关闭浏览器后,服务器端该客户的session对象才取消,并且和客户的会话对应关系消失。
当客户重新打开浏览器再连接到该服务器时,服务器为该客户再创建一个新的session对象。
JSP九大内置对象及四个作用域
JSP九大内置对象及四个作用域九大对象:内置对象(又叫隐含对象,有9个内置对象):不需要预先声明就可以在脚本代码和表达式中随意使用1-out: out对象是JspWriter类的实例,是向客户端输出内容常用的对象javax.servlet.jsp.JspWriter类型,代表输出流的对象。
作用域为page(页面执行期)request:javax.servlet.ServletRequest的子类型,此对象封装了由WEB浏览器或其它客户端生成地HTTP客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应。
它是HttpServletRequest类的实例。
请求的细节(参数,属性,头标和数据)。
作用域为request(用户请求期)。
方法由可查看APIresponse:javax.servlet.ServletResponse的子类型,此对象封装了返回到HTTP客户端的输出,向页面作者提供设置响应头标和状态码的方式。
经常用来设置HTTP标题,添加cookie,设置响应内容的类型和状态,发送HTTP重定向和编码URL。
作用域为page (页面执行期)。
response对象包含了响应客户请求的有关信息,但在JSP中很少直接用到它。
它是HttpServletResponse类的实例。
pageContext:javax.servlet.jsp.PageContext(抽象类)类型,作用域为page(页面执行期)。
此对象提供所有四个作用域层次的属性查询和修改能力,它也提供了转发请求到其它资源和包含其他资源的方法:pageContext对象提供了对JSP页面内所有的对象及名字空间的访问,也就是说他可以访问到本页所在的SESSION,也可以取本页面所在的application的某一属性值,他相当于页面中所有功能的集大成者,它的本类名也叫pageContext。
该对象的方法都是抽象方法session:javax.servlet.http.HttpSession类型,主要用于跟踪对话。
31 Response对象解析
1. Response对象功能概述 2. Response对象的属性
3. Reponse对象的Cookies集合
1. Response对象功能概述
Response对象主要用来输出信息到客户端。包括 直接发送信息给浏览器、重定向浏览器到另一个 URL 或设置 cookie 的值等功能。 Reponse 对象提供了集合、 属性、方法等来进行参数的传递。 (1) 将输出传输到浏览器端 使用 Response 对象的 Write 方法可以向发往客户 端浏览器的HTML文件中直接输出信息。与Document对 象的Write方法相似,Response对象的Write方法将信 息从Web服务器输出到浏览器。其语法格式为: Response.Write Variant
ASP程序3_3.asp的代码如下:
<%@ Language=VBScript %> <% CurrentTime=Time() If CurrentTime <#09:00:00# Or CurrentTime >#17:00:00# Then Response.Write "现在时刻为" Response.Write CurrentTime Response.Write "<P> 网页开放时间为 09:00:00 — 17:00:00 , 目前暂不开放!</P>" Response.End End If %> <HTML> <BODY> <CENTER><P>现在时刻为<% =CurrentTime%></P> <FONT size=7 face=华文彩云 color= blue>欢迎光临!</FONT> </CENTER> </BODY> </别简化为: workday.htm的代码如下:
四大作用域及九大内置对象
四⼤作⽤域及九⼤内置对象四⼤作⽤域及九⼤内置对象jsp是运⾏在服务端的程序JSP有九个内置对象(⼜叫隐含对象),不需要预先声明就可以在脚本代码和表达式中随意使⽤JSP九⼤内置对象分为四类:输⼊输出对象:out对象、response对象、request对象通信控制对象:pageContext对象、session对象、application对象Servlet对象:page对象、config对象错误处理对象:exception对象jsp四⼤作⽤域:page范围:只在⼀个页⾯保留数据(javax.servlet.jsp.PageContext(抽象类))request范围:只在⼀个请求中保存数据(javax.servlet.httpServletRequest)Session范围:在⼀次会话中保存数据,仅供单个⽤户使⽤(javax.servlet.http.HttpSession)Application范围:在整个服务器中保存数据,全部⽤户共享(javax.servlet.ServletContext)九种对象简介:1. out对象:⽤于向客户端、浏览器输出数据。
2. request对象:封装了来⾃客户端、浏览器的各种信息。
3. response对象:封装了服务器的响应信息。
4. exception对象:封装了jsp程序执⾏过程中发⽣的异常和错误信息。
5. config对象:封装了应⽤程序的配置信息。
6. page对象:指向了当前jsp程序本⾝。
7. session对象:⽤来保存会话信息。
也就是说,可以实现在同⼀⽤户的不同请求之间共享数8. application对象:代表了当前应⽤程序的上下⽂。
可以在不同的⽤户之间共享信息。
9. pageContext对象:提供了对jsp页⾯所有对象以及命名空间的访问。
1.page对象page对象有点类似与java编程中的this指针,他指向了当前jsp页⾯本⾝。
page对象是ng.object类的⼀个实例page对象拥有⼀个toString⽅法,下⾯是官⽅定义的⽅法介绍:public String toString() {return getClass().getName() + "@" + Integer.toHexString(hashCode());}包名+类名+@+hashcode值page对象的⽅法:⽅法名说明toString将当前项⽬的信息打印出来getClass返回当前的object类hashCode返回page对象的hashCode值equals⽤于⽐较对象是否与当前对象相同2.request对象request对象封装了从客户端到服务器发出的请求信息。
JSP中request与response的用法详解
JSP中request与response的⽤法详解JSP 中request与response的⽤法详解概要:在学习这两个对象之前,我们应该已经有了http协议的基本了解了,如果不清楚http协议的可以看我的关于http协议的介绍。
因为其实request和response的使⽤⼤部分都是对http协议的操作。
request对象的介绍我们先从request对象进⾏介绍:我们知道http协议定义了请求服务器的格式:请求⾏请求头空格请求体(get请求没有请求体)好了,这⾥我们就不详细介绍了,我们只看⼏个应⽤就可以了,没什么难度:应⽤1 获取请求头/*** 获取HTTP请求头 * String getHeader(String name),适⽤于单值头 * int getIntHeader(String name),适⽤于单值int类型的请求头 * long getDateHeader(String name),适⽤于单值毫秒类型的请求头 * Enumeration<String> getHeaders(String name),适⽤于多值请求头***/public class CServlet extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {String ip = request.getRemoteAddr();//获取IP地址String method = request.getMethod();//获取请求⽅式System.out.println(ip);System.out.println(method);getLiuLanQi(request);protectMethod(request, response);}//防盗链public void protectMethod(HttpServletRequest request,HttpServletResponse response) {String url = request.getHeader("referer");System.out.println(url);if(url != null && url.equalsIgnoreCase("http://localhost:8080/day10/MyHtml.html") ) {System.out.println("hi");}else {response.setStatus(302);response.setHeader("Location","/day10/MyHtml.html");System.out.println("重定向");}}//判断浏览器的类型public void getLiuLanQi(HttpServletRequest request) {String user = request.getHeader("User-Agent");if(user != null) {String userNoC = user.toLowerCase();if(userNoC.contains("chrome")) {System.out.println("浏览器类型:⾕歌" );}else if(userNoC.contains("firefox/")) {System.out.println("浏览器类型:⽕狐");}else {System.out.println("浏览器类型:IE");}}else {System.out.println("null");}应⽤2获取URL路径/*** 获取请求URLhttp://localhost:8080/day10_2/AServlet?username=xxx&password=yyy > String getScheme():获取协议,http > String getServerName():获取服务器名,localhost > String getServerPort():获取服务器端⼝,8080 > *****String getContextPath():获取项⽬名,/day10_2 > String getServletPath():获取Servlet路径,/AServlet > String getQueryString():获取参数部分,即问号后⾯的部分。
response对象的使用(实例讲解)
response对象的使⽤(实例讲解)1.使⽤response对象提供的sendRedirect()⽅法可以将⽹页重定向到另⼀个页⾯。
重定向操作⽀持将地址重定向到不同的主机上,这⼀点与转发是不同的。
在客户端浏览器上将会得到跳转地址,并重新发送请求链接。
⽤户可以从浏览器的地址栏中看到跳转后的地址。
进⾏重定向操作后,request中的属性全部失效,并且开始⼀个新的request对象。
sendRedirect()⽅法的语法格式如下:response.sendRedirect(String psth);例⼦:新建⼀个index.jsp页⾯在body中添加Java重定向语句<%@ page language="java" contentType="text/html;charset="UTF-8" pageEncoding="UTF-8"%><html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"><title>⾸页</title></head><body><%response.sendRedirect("login.jsp");%></body></html>新建⼀个login.jsp 布局登录界⾯<%@ page language="java" contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"%><html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"><title>⽤户登录页⾯</title></head><body><form name="form1" method="post" action="">⽤户名:<input name="name" type="text" id="name" style="width:120px"><br>密码:<input name="pwd" type="password" id="pwd" style="width:120px"><br><input type="submit" name="Submit" value="提交"></form></body></html>以上这篇response对象的使⽤(实例讲解)就是⼩编分享给⼤家的全部内容了,希望能给⼤家⼀个参考,也希望⼤家多多⽀持。
response对象设置输出缓冲大小
response对象设置输出缓冲⼤⼩
response对象设置输出缓冲⼤⼩
制作⼈:全⼼全意
通常情况下,服务器要输出到客户端的内容不会直接写到客户端,⽽是先写到⼀个输出缓冲区,在计算机术语中,缓冲区被定义为暂时放置输⼊或输出资料的内存。
实际上,缓冲区也可以这样理解:在⼀个粮库中,由于装缷车队的速度要快于传送带的传输速度,为了不造成装缷车队的浪费,粮库设计了⼀个站台,装缷车队可以先将运送的粮⾷缷到这个平台上,然后让传送机慢慢传送。
粮库的这个站台就起到了缓冲的作⽤。
当满⾜以下三种情况之⼀,就会把缓冲区的内容写到客户端。
JSP页⾯的输出信息已经全部写⼊到了缓冲区。
缓冲区已满。
在JSP页⾯中,调⽤了response对象的flushBuffer()⽅法或out对象的flush()⽅法。
response对象提供了以下对缓冲区进⾏配置的⽅法:
⽅法说明
flushBuffer() 强制将缓冲区的内容输出到客户端
getBufferSize() 获取响应所使⽤的缓冲区的实际⼤⼩。
如果没有使⽤缓冲区,则返回0
setBufferSize(int size) 设置缓冲区的⼤⼩
reset() 清除缓冲区的内容,同时清除状态码和报头
isCommitted() 检测服务器端是否已经把数据写⼊到了客户端
设置缓冲区的⼤⼩为32KB:
<%
response.setBufferSize(32);
%>
说明:如果将缓冲区的⼤⼩设置为0KB,则表⽰不缓冲。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
JSP中的response对象
想索取更多相关资料请加qq:649085085或登录
PS;本文档由北大青鸟广安门收集自互联网,仅作分享之用。
Jsp的隐藏对象response在转换为servlet对象之后,对应于HttpServletResponse形态对象。
HttpServletResponse就是有关客户端请求之响应,可以用它来设定一些标题、响应状态信息。
response对象所提供的方法。
(1)设定表头的方法
void addCookie(Cookie cookie)新增cookie
void addDateHeader(String name, long date)新增long类型的值到name标头
void addHeader(String name, String value)新增String类型的值到name标头
void addIntHeader(String name, int value)新增int类型的值到name 标头
void setDateHeader(String name, long date)指定long类型的值到name标头
void setHeader(String name, String value)指定String类型的值到name标头
void setIntHeader(String name, int value)指定int类型的值到name 标头
containsHeader( String name )判断指定名字的HTTP文件头是否已经存在,然后返回真假布尔值
(2)设定响应状态码的方法
void sendError(int sc)传送状态码(status code)
void sendError(int sc, String msg)传送状态码和错误信息
void setStatus(int sc)设定状态码
(3)用来URL 重写(rewriting)的方法
String encodeRedirectURL(String url)对使用sendRedirect()方法的URL予以编码
(4)设置重定向
sendRedirect():设置重定向页面。
范例
(1)使用response对象可以设置HTTP的头信息。
格式response.setHeader ("头信息名称","参数"),其中一个重要的头信息:refresh(刷新)。
例如,每秒刷新一次也没,显示刷新次数:
[html]
<%@pagecontentType="text/html;charset=GB2312" %>
<html>
<head>
<title>response01.jsp</title>
</head>
<body>
<%!int i=0; %>
<%
//每秒刷新一次
response.setHeader("refresh","1");
%>
<%=i++ %>
</body>
</html>
(2)使用头信息设置我们还可以设置在规定的时间内跳转。
格式:response.setHeader("refresh","时间;URL=跳转页面地址");
[html]
<%@pagecontentType="text/html;charset=gb2312"%>
<HTML>
<HEAD>
<TITLE>页面自动跳转</TITLE>
</HEAD>
<BODY>
<%
response.setHeader("refresh","3;URL=common.jsp") ;
%>
三秒后跳转!!!<br>
如果没有跳转,请按<a href="common.jsp">这里</a>!!!
</BODY>
</HTML>
(3)设置cookie
[html]
<%@pagecontentType="text/html;charset=gb2312"%>
<HTML>
<HEAD>
<TITLE>Cookie的使用</TITLE>
</HEAD>
<BODY>
<%
Cookie c1 = newCookie("name","aaa") ;
Cookie c2 = newCookie("password","111") ;
// 最大保存时间为60秒
c1.setMaxAge(60) ;
c2.setMaxAge(60) ;
// 通过response对象将Cookie设置到客户端response.addCookie(c1) ;
response.addCookie(c2) ;
%>
</BODY>
</HTML>
(4)读取cookie
[html]
<%@page contentType="text/html;charset=gb2312"%> <HTML>
<HEAD>
<TITLE>Cookie的使用</TITLE>
</HEAD>
<BODY>
<%
// 通过request对象,取得客户端设置的全部Cookie
// 实际上客户端的Cookie是通过HTTP头信息发送到服务器端上的Cookie c[] = request.getCookies() ;
%>
<%
for(int i=0;i<c.length;i++){
Cookie temp = c[i] ;
%>
<h1><%=temp.getName()%> --> <%=temp.getValue()%></h1> <%
}
%>
</BODY>
</HTML>
想索取更多相关资料请加qq:649085085或登录
PS;本文档由北大青鸟广安门收集自互联网,仅作分享之用。