JSP中的九大内置对象
http
5、out对象
用于浏览器内输出信息,并且管理应用服务器上的输出缓冲区。在使用out对象输出数据时,可以对数据缓冲区进行操作,及时清除缓冲区的残余数据,为其他的输出让出缓冲空间。待数据输出完毕后,要及时关闭输出流。
是由服务器自动创建的与用户请求相关的对象。服务器为每个用户都生成一个session对象,用于保存该用户的操作状态。session对象内部使用Map类来保存数据,因此保存的数据可是为“key/value”。session对象的value可以使用复杂的对象类型,不仅仅局限于字符串类型。
4、application对象
代表客户端的请求信息,主要用于接受通过HTTP协议传送到服务器的数据包括(头信息、系统信息、请求方式及请求参数)。作用域为一次请求。
2、response对象
代表对客户端的响应,主要将JSP容器处理过的对象传回到客户端。作用域为JSP页面内有效。
3、session对象
6、pageContext对象
作用:取得任何范围的参数,通过它可以获取JSP页面的out、request、session、application等对象
7、config对象
用于取得服务器的配置信息。通过pageContext对象的getServletConfig()方法可以获取一个config对象。当一个
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内置对象”单元习题一、填空题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 对象中用来判断缓冲区是否自动刷新的方法是______________________。
2007年下期WEBjsp试题(A)答案(习胜丰)
2007年下期WEB试题(A)答案一、选择题AAABB CCCCDDAAAD二、填空题1.80802.HTML3.css、xsl4.不同页面超链接5.复选按钮、单选按钮,列表6.request、response、out7.同一服务器的所有用户8.脚本、指令、动作9.客户端、服务器10.page、session、application三、简答题(共20分)1.简述JSP的九大内置对象及功能并对其中二个对象编程举例说明其应用。
(15分)①:request::该对象的主要作用是获取用户传入的参数②:response: 该对象的主要作用是设置客户端输出信息的字符集、重定向客户端的请求添加Cookie等。
③:PageContext:该对象的主要作用是取得任何范围内的参数、取得JSP页面的out、request、 response、 session 、application等对象。
④:Session:该对象的主要作用是记录客户端的访问状态。
⑤:application:保存在该对象中的值可以让所有客户端使用⑥:out:该对象的主要作用是在浏览器内输也信息⑦:Config: 该对象的主要作用是取得服务器的初始化信息⑧:page: 该对象的实质就是ng.Object,在JSP文件内没有实质的应用⑨:exception:该对象的主要作用是处理异常和错误(9’)例1: <%@ page language=="java" %><HTML><HEAD><TITLE> Hello world! </TITLE></HEAD><BODY BGCOLOR="#FFFFFF"><%out.print("hello world!");%></BODY></HTML>例二:<HTML><BODY><H1>Application Object Example </H1><h2>Display the default application settings</h2><%--Access or modify application parameters from thisor any other JSP page in the application.--%><% String appName = (String) application.getInitParameter("appName"); %>The name of this application is "<%= appName %>"<br><br><% String counter = (String) application.getInitParameter("counter"); %>The counter value = <%= counter %></BODY></HTML>(15’)2.简述JSP中动态INCLUDE与静态INCLUDE的区别?(5分)动态INCLUDE用jsp:include动作实现它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数静态INCLUDE用include伪码实现,定不会检查所含文件的变化,适用于包含静态页面(5’)四、编程题(共30分)1.试编写JSP页面实现对SQL server数据库中的数据表进行有参数的SQL查询与更新,然后访问表中记录。
chap4-JSP内置对象
request对象的常用方法举例
getProtocol(): 获取请求使用的通信协议,如 http/1.1等。
getServletPath(): 获取请求的JSP页面所在的路 径。
getContentLength(): 获取HTTP请求的长度。 getMethod(): 获取表单提交信息的方式,如POST
example4_8.jsp、example4_8_play_mp4.jsp
22
4.1.5处理超链接
超链接标记 <a href ="example4_9_receive.jsp>购买</a> 使用超链接标记时还可以增加参数: <a href
="example4_9_receive.jsp?id=A1001&price=876 5">购买</a> 获取参数: String idStr = request.getParameter("id");
algin= "top" checked="ok" />男生 (3)复选框checkbox <input type="checkbox" name= "item"
value="A" algin= "top" checked="ok" />足球 (4)口令框password <input type= "password" name= "me" size=
"12" maxlength="30" />
15
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内置对象 (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内置对象
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基本的语法、3个编译指令、7个动作指令、9个内置对象
JSP基本的语法、3个编译指令、7个动作指令、9个内置对象⽬录⼀、jsp概述JSP是java server page的缩写,其**==本质是⼀个简化的servlet**,是⼀种动态⽹页技术标准。
jsp页⾯是在HTML页⾯中嵌⼊java程序段。
使⽤jsp开发的应⽤程序能够跨平台。
⼆、jsp基本的语法2.1 jsp表达式jsp表达式⽤于向页⾯输出信息。
语法格式例如以下:<%= 表达式 %>如:<%= 5+6 %>注意:<%与=之间不能有空格,=与后⾯的表达式之间能够有空格,另外没有语句结束符号;。
2.2 jsp声明标识声明标识⽤语在jsp页⾯中定义全局的变量或者⽅法,通过声明标识定义的变量和⽅法能够被整个jsp页⾯訪问。
语法格式例如以下:<%!声明变量或者⽅法的代码%>如<%!String str = "test";%>注意:<%与!之间不能有空格,!与其后⾯的代码之间能够有空格。
2.3 jsp代码段代码⽚段就是嵌在jsp页⾯中的java代码或脚本代码。
会在页⾯请求的处理期间被运⾏,java代码能够实现定义变量、流程控制等功能。
脚本代码能够通过使⽤jsp内置对象在jsp页⾯输出内容、处理请求和响应、訪问session等,代码⽚段的语法格式例如以下:<% java代码或者脚本代码 %>2.4 jsp注释2.4.1 HTML注释HTML注释格式:<!-- html凝视 -->html凝视不会显⽰在⽹页中。
在浏览器中查看源代码的时候能够看到注释信息。
2.4.2 代码⽚段注释由于代码⽚段即为java代码或者脚本代码,代码⽚段的注释和java语法⼀样。
单⾏注释写在//之后,多⾏注释写在/* */ 之间,⽂档提⽰注释写在/**与 */之间。
//单⾏注释/*多⾏注释第⼀⾏多⾏注释第⼆⾏*//**⽂档注释*/2.4.3 隐藏注释html注释在查看⽹页源代码的时候能够看到,所以严格来说这样的注释并不安全,jsp提供的隐藏注释在浏览器和查看源代码的时候都看不到。
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引擎向它传递信息⽤的。
第4讲 JSP内置对象
● String getParameterNames( ) 获得客户端传送到服务器的所 有参数名,结果保存在Enumeration(枚举)类实例中; ● String getQueryString()获得客户端向服务器请求的查询字符 串; 例:e3-6.htm, e3-7.jsp
3
关于sendRedirect的使用说明: 1. response.sendRedirect( )之后如果还有java片段,则在 response.sendRedirect( )之后应该紧跟一句return; 2. response.sendRedirect( )可Байду номын сангаас带参数传递,比如: <% response.sendRedirect(“abc.jsp?name=frank”); %>
4
§ 4 session对象
session对象用来保存每个登录用户的会话信息, ,主要方法: ● String getId() 获得session的编号; ● void putValue(String name,Object value) 将value值保存在 session对象的name变量中; ● Object getValue(String name) 返回session对象中name变量 的值; ● void setAttribute(String name, Object value) 将value值保存在session对象的name变量中; ● Object getAttribute (String name) 返回session对象中name变量的值; ● void invalidate ( ) 删除当前session对象; 例 e3-10.html ,e3-11.jsp,e3-12.jsp
第5章 JSP内置对象
北京源智天下科技有限公司
1-1
联系方式:
5.1 JSP内置对象分类
根据各对象的作用不同,可以将这九个对象分为如下四类。 第一类:与Servlet有关的内置对象。 包括page和config两个对象。 第二类:与Input/Output有关的内置对象 包括out、request和response三个对象。 第三类:与Context有关的内置对象 包括session、application和pageContext三个对象。 第四类:与Error有关的内置对象。 仅包括exception这一个对象。
getServletContext() getSession() getAttribute(String name, int scope) ServletConte xt HttpSession Object 获得当前的application内置对象 获得当前的session内置对象 获得指定范围的name属性值
北京源智天下科技有限公司
1-10
联系方式:
5.8 pageContext对象
pageContext对象不但可以用来设置page范围的属性,同样也可以用来设置其他 范围属性,不过需要指定范围参数。通过pageContext对象还可以获得其他内置对象。
方 getException() getOut() getPage() getRequest() 法 返回值 Exception JspWriter Object ServletReque st 方法说明 获得当前的exception内置对象 获得当前的out内置对象 获得当前的page内置对象 获得当前的request内置对象
5.2.1 page范围 所谓page范围,就是指设置的属性只在当前页面有效。通过使用pageContext的 setAttribute()方法来设置属性,并通过pageContext的getAttribute()方法来取得属性。 示例代码 PageScopeDemo.jsp 5.2.2 request范围 所谓request范围,就是指属性在一次请求范围内有效。如果页面从一个页面跳转 到另一个页面,那么该属性就失效了。这里所指的跳转是指客户端跳转,比如客户单 击超链接跳转到其他页面,或者通过浏览器地址栏浏览其他网页。如果使用服务器端 跳转<jsp:forward>,则该属性仍然有效。通过使用request的setAttribute()方法来设置 属性,并通过request的getAttribute()方法来取得属性。 示例代码 RequestScopeDemo.jsp
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八大对象
response
对象的作用是封装JSP产生的响应,然后将其发送至客户端以响应 客户的请求。 2. response对象被封装为javax.servlet.http.HttpServletResponse接 口 3. 常用方法 Viod sendRedirect(String location):将请求重新定位到一个不同的URL 例如用 sendredirect(“http://localhost:8080/bss/list.jsp?page=1”); 1.
• page
page对象的实质就是ng.Object,它是ng.Object类的一个 实例。page对象代表JSP本身,更确切的说,它是代表JSP被转译后 的Seቤተ መጻሕፍቲ ባይዱvlet,它可以调用Servlet类定义的方法,作用和Java中的this一
样。
pageContext
pageContext表示一个javax.servlet.jsp.PageContext对象。 PageContext对象的作用是取得任何范围的参数,通过PageContext 对象可以获取JSP页面的out、request、response、session、 application等对象,重新定向客户的请求等
Session 1. session对象的作用是记录每个客户端的访问状态,以便跟踪每个 客户端的操作状态。 2. session对象被封装为javax.servlet.http.HttpSession接口,通过调 用pageContext.getSession()方法可以获取一个session对象。
application
1.
2.
类似于系统的“全局变量”,用于实现用户之间的数据共享。他是 存储到服务器上.直至服务器关闭为止. application对象被封装为javax.servlet.SercletContext接口的类型, 通过pageContext.getSrevletContext()方法可以获取application对 象。
“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 对象中用来获得客户端的计算机名字的方法是方法。
002 JavaWeb技术之JSP篇对象-v2
运行结果
17
18
得到Form表单的信息
通常我们用得最多的就是客户端请求的参数名称和参 数值信息。得到某参数值的语法为: “request.getParameter(”param1“)”。
也可以通过request对象的getParameterNames()方法 得到客户端传递过来的所有参数名字,如:
4
从本质上讲,JSP的这些内置对象其实都 是由特定的Java类所产生的,在服务器 运行时根据情况自动生成,所以如果你 有较好的Java基础,可以参考相应的类 说明,表3.1给出了他们的对应关系。更 进一步的讲解将会在讲解Servlet的一章 中展开,如果你的Java基础不太好,可 以先熟悉在这一章里所介绍的各种方法 的使用。
02-31.jsp
)
<%@ page contentType="text/html;charset=gb2312" %> <html> <head> <title>request</title> </head> <body> <form method="POST" action="post.jsp"> <p align="center">用户登录 <p align="center"> 用户名:<input type="text" name="User" size="20"> 密码:<input type="password" name="pwd" size="20"><br> <br>
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类型,主要用于跟踪对话。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
JSP中的九大内置对象1.客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应。
它是HttpServletRequest类的实例序号方法说明1object getAttribute(String name)返回指定属性的属性值2Enumeration getAttributeNames()返回所有可用属性名的枚举3String getCharacterEncoding()返回字符编码方式4int getContentLength()返回请求体的长度(以字节数)5String getContentType()得到请求体的MIME类型6ServletInputStream getInputStream()得到请求体中一行的二进制流7String getParameter(String name)返回name指定参数的参数值8Enumeration getParameterNames()返回可用参数名的枚举9String[]getParameterValues(String name)返回包含参数name的所有值的数组10String getProtocol()返回请求用的协议类型及版本号11String getScheme()返回请求用的计划名,如:http.https及ftp等12String getServerName()返回接受请求的服务器主机名13int getServerPort()返回服务器接受此请求所用的端口号14BufferedReader getReader()返回解码过了的请求体15String getRemoteAddr()返回发送此请求的客户端IP地址16String getRemoteHost()返回发送此请求的客户端主机名17void setAttribute(String key,Object obj)设置属性的属性值18String getRealPath(String path)返回一虚拟路径的真实路径2response对象包含了响应客户请求的有关信息,但在JSP中很少直接用到它。
它是HttpServletResponse类的实例。
序号方法说明1String getCharacterEncoding()返回响应用的是何种字符编码2ServletOutputStream getOutputStream()返回响应的一个二进制输出流3PrintWriter getWriter()返回可以向客户端输出字符的一个对象4void setContentLength(int len)设置响应头长度5void setContentType(String type)设置响应的MIME类型6sendRedirect(ng.String location)重新定向客户端的请求pageContext对象提供了对JSP页面内所有的对象及名字空间的访问,也就是说他可以访问到本页所在的SESSION,也可以取本页面所在的application的某一属性值,他相当于页面中所有功能的集大成者,它的本类名也叫pageContext。
序号方法说明1JspWriter getOut()返回当前客户端响应被使用的JspWriter流(out)2HttpSession getSession()返回当前页中的HttpSession对象(session)3Object getPage()返回当前页的Object对象(page)4ServletRequest getRequest()返回当前页的ServletRequest对象(request)5ServletResponse getResponse()返回当前页的ServletResponse对象(response)6Exception getException()返回当前页的Exception对象(exception)7ServletConfig getServletConfig()返回当前页的ServletConfig对象(config)8ServletContext getServletContext()返回当前页的ServletContext对象(application)9void setAttribute(String name,Object attribute)设置属性及属性值10void setAttribute(String name,Object obj,int scope)在指定范围内设置属性及属性值11public Object getAttribute(String name)取属性的值12Object getAttribute(String name,int scope)在指定范围内取属性的值13public Object findAttribute(String name)寻找一属性,返回起属性值或NULL//搜寻四大范围直到搜寻到指定属性止从小的范围开始1pageContext2request3 session4application14void removeAttribute(String name)删除某属性15void removeAttribute(String name,int scope)在指定范围删除某属性16int getAttributeScope(String name)返回某属性的作用范围17Enumeration getAttributeNamesInScope(int scope)返回指定范围内可用的属性名枚举18void release()释放pageContext所占用的资源19void forward(String relativeUrlPath)使当前页面重导到另一页面//请求分派20void include(String relativeUrlPath)在当前位置包含另一文件//与page指令中的include不同先编译后调用在work目录下有相应的Java文件和class文件(动态包含)//page指令是先合并后编译只有一个Java文件(静态)forward和include不要同时出现include forword前会报错java.io.IOException:Error:Attempt to clear a buffer that's already been flushedsession对象指的是客户端与服务器的一次会话,从客户连到服务器的一个WebApplication开始,直到客户端与服务器断开连接为止。
它是HttpSession类的实例.序号方法说明1long getCreationTime()返回SESSION创建时间2public String getId()返回SESSION创建时JSP引擎为它设的惟一ID号3long getLastAccessedTime()返回此SESSION里客户端最近一次请求时间4int getMaxInactiveInterval()返回两次请求间隔多长时间此SESSION被取消(ms) 5String[]getValueNames()返回一个包含此SESSION中所有可用属性的数组6void invalidate()取消SESSION,使SESSION不可用7boolean isNew()返回服务器创建的一个SESSION,客户端是否已经加入8void removeValue(String name)删除SESSION中指定的属性9void setMaxInactiveInterval()设置两次请求间隔多长时间此SESSION被取消(ms)5application对象实现了用户间数据的共享,可存放全局变量。
它开始于服务器的启动,直到服务器的关闭,在此期间,此对象将一直存在;这样在用户的前后连接或不同用户之间的连接中,可以对此对象的同一属性进行操作;在任何地方对此对象属性的操作,都将影响到其他用户对此的访问。
服务器的启动和关闭决定了application对象的生命。
它是ServletContext类的实例。
序号方法说明1Object getAttribute(String name)返回给定名的属性值2Enumeration getAttributeNames()返回所有可用属性名的枚举3void setAttribute(String name,Object obj)设定属性的属性值4void removeAttribute(String name)删除一属性及其属性值5String getServerInfo()返回JSP(SERVLET)引擎名及版本号6String getRealPath(String path)返回一虚拟路径的真实路径7ServletContext getContext(String uripath)返回指定WebApplication的application对象8int getMajorVersion()返回服务器支持的Servlet API的最大版本号9int getMinorVersion()返回服务器支持的Servlet API的最大版本号10String getMimeType(String file)返回指定文件的MIME类型11URL getResource(String path)返回指定资源(文件及目录)的URL路径12InputStream getResourceAsStream(String path)返回指定资源的输入流13RequestDispatcher getRequestDispatcher(String uripath)返回指定资源的RequestDispatcher对象14Servlet getServlet(String name)返回指定名的Servlet15Enumeration getServlets()返回所有Servlet的枚举16Enumeration getServletNames()返回所有Servlet名的枚举17void log(String msg)把指定消息写入Servlet的日志文件18void log(Exception exception,String msg)把指定异常的栈轨迹及错误消息写入Servlet的日志文件19void log(String msg,Throwable throwable)把栈轨迹及给出的Throwable异常的说明信息写入Servlet的日志文件6out对象是JspWriter类的实例,是向客户端输出内容常用的对象序号方法说明1void clear()清除缓冲区的内容2void clearBuffer()清除缓冲区的当前内容3void flush()清空流4int getBufferSize()返回缓冲区以字节数的大小,如不设缓冲区则为8kb5int getRemaining()返回缓冲区还剩余多少可用6boolean isAutoFlush()返回缓冲区满时,是自动清空还是抛出异常7void close()关闭输出流7config对象是在一个Servlet初始化时,JSP引擎向它传递信息用的,此信息包括Servlet初始化时所要用到的参数(通过属性名和属性值构成)以及服务器的有关信息(通过传递一个ServletContext对象)序号方法说明1ServletContext getServletContext()返回含有服务器相关信息的ServletContext对象2String getInitParameter(String name)返回初始化参数的值3Enumeration getInitParameterNames()返回Servlet初始化所需所有参数的枚举8page对象就是指向当前JSP页面本身,有点象类中的this指针,它是ng.Object类的实例序号方法说明1class getClass返回此Object的类2int hashCode()返回此Object的hash码3boolean equals(Object obj)判断此Object是否与指定的Object对象相等4void copy(Object obj)把此Object拷贝到指定的Object对象中5Object clone()克隆此Object对象6String toString()把此Object对象转换成String类的对象7void notify()唤醒一个等待的线程8void notifyAll()唤醒所有等待的线程9void wait(int timeout)使一个线程处于等待直到timeout结束或被唤醒10void wait()使一个线程处于等待直到被唤醒11void enterMonitor()对Object加锁12void exitMonitor()对Object开锁9exception对象是一个例外对象,当一个页面在运行过程中发生了例外,就产生这个对象。