Jsp九大内置对象和作用
- 格式:doc
- 大小:108.50 KB
- 文档页数:23
“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年下期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查询与更新,然后访问表中记录。
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⽂件翻译后⽣成的⽂件:在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隐式对象概述:由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程序设计网上测试系统”,如下图所示。
1、Request对象该对象封装了用户提交的信息,通过调用该对象相应的方法可以获取封装的信息,即使用该对象可以获取用户提交的信息。
当Request对象获取客户提交的汉字字符时,会出现乱码问题,必须进行特殊处理。
首先,将获取的字符串用ISO-8859-1进行编码,并将编码存发到一个字节数组中,然后再将这个数组转化为字符串对象即可。
如下:Request常用的方法:1.01 getParameter(String strTextName) 获取表单提交的信息。
1.02 getProtocol() 获取客户使用的协议。
1.03 getServletPath() 获取客户提交信息的页面。
1.04 getMethod() 获取客户提交信息的方式,get|post。
1.05 getHeade() 获取HTTP头文件中的accept、accept-encoding和Host的值。
1.06 getRermoteAddr() 获取客户的IP地址。
1.07 getRemoteHost() 获取客户机的名称。
1.08 getServerName() 获取服务器名称。
1.09 getServerPort() 获取服务器的端口号。
1.10 getParameterNames() 获取客户端提交的所有参数的名字。
2、Response对象对客户的请求做出动态的响应,向客户端发送数据。
2.1 动态响应contentType属性当一个用户访问一个JSP页面时,如果该页面用page指令设置页面的contentType属性时text/html,那么JSP引擎将按照这个属性值做出反应。
如果要动态改变这换个属性值来响应客户,就需要使用Response对象的setContentType(String s)方法来改变contentType的属性值。
格式:response.setContentType(String s);参数s可取text/html,application/x-msexcel,application/msword等。
2.2 Response重定向在某些情况下,当响应客户时,需要将客户重新引导至另一个页面,可以使用Response的sendRedirect(URL)方法实现客户的重定向。
例如:3、Session对象(1)什么是Session对象Session对象是一个JSP内置对象,它在第一个JSP页面被装载时自动创建,完成会话期管理。
从一个客户打开浏览器并连接到服务器开始,到客户关闭浏览器离开这个服务器结束,被称为一个会话。
当一个客户访问一个服务器时,可能会在这个服务器的几个页面之间切换,服务器应当通过某种办法知道这是一个客户,就需要Session对象。
(2)Session对象的ID当一个客户首次访问服务器上的一个JSP页面时,JSP引擎产生一个Session对象,同时分配一个String类型的ID号,JSP引擎同时将这换个ID号发送到客户端,存放在Cookie中,这样Session对象,直到客户关闭浏览器后,服务器端该客户的Session对象才取消,并且和客户的会话对应关系消失。
当客户重新打开浏览器再连接到该服务器时,服务器为该客户再创建一个新的Session对象。
(3)Session对象的常用方法● public String getId():获取Session对象编号。
● public void setAttribute(String key,Object obj):将参数Object指定的对象obj 添加到Session对象中,并为添加的对象指定一个索引关键字。
● public Object getAttribute(String key):获取Session对象中含有关键字的对象。
● public Boolean isNew():判断是否是一个新的客户。
4、Application对象(1)什么时Application对象服务器启动后就产生了这个Application对象,当客户再所访问的网站的各个页面之间浏览时,这个Application对象都时同一个,直到服务器关闭。
但是与Session对象不同的时,所有客户的Application对象都时同一个,即所有客户共享这个内置的Application对象。
(2)Application对象的常用方法● setAttribute(String key,Object obj):将参数Object指定的对象obj添加到Application对象中,并为添加的对象指定一个索引关键字。
● getAttribute(String key):获取Application对象中含有关键字的对象。
5、Out对象Out对象时一个输出流,用来向客户端输出数据。
Out对象用于各种数据的输出。
其常用方法如下。
● out.print():输出各种类型数据。
● out.newLine():输出一个换行符。
● out.close():关闭流。
6、Cookie对象(1)什么是CookieCookie是Web服务器保存在用户硬盘上的一段文本。
Cookie允许一个Web站点在用户电脑上保存信息并且随后再取回它。
举例来说,一个Web站点可能会为每一个访问者产生一个唯一的ID,然后以Cookie文件的形式保存在每个用户的机器上。
如果用户使用IE浏览器访问Web,用户就会看到所有保存在自己硬盘上的Cookie。
它们最常存放的地方是:C:/Windows/Cookies。
Cookie是以“关键字key=值value”的格式来保存记录的。
(2)创建一个Cookie对象调用Cookie对象的构造函数就可以创建Cookie对象。
Cookie对象的构造函数有两个字符串参数:Cookie名字和Cookie值。
例如:Cookie c = new Cookie("username","john");(3)将Cookie对象传送到客户端在JSP中,如果要将封装好的Cookie对象传送到客户端,可使用Response对象的addCookie()方法。
例如:response.addCookie(c)。
(4)读取保存到客户端的Cookie使用Request对象的getCookie()方法,执行时将所有客户端传来的Cookie对象以数组的形式排列,如果要取出符合需要的Cookie对象,就需要循环比较数组内每个对象的关键字。
例如:(5)设置Cookie对象的有效时间调用Cookie对象的setMaxAge()方法便可以设置Cookie对象的有效时间,例如:Cookie c = new Cookie("username","john");c.setMaxAge(3600);(6)Cookie应用Cookie对象的典型应用时用来统计网站的访问人数。
由于代理服务器、缓存等的使用,唯一能帮助网站精确统计来访人数的方法就是为每个访问者建立一个唯一ID。
使用Cookie,网站可以完成一下工作。
● 测定多少人访问过。
● 测定访问者有多少是新用户(即第一次来访),多少是老用户。
● 测定一个用户多久访问一次网站当一个用户第一次访问时,网站在数据库中建立一个新的ID,并把ID通过Cookie传送给用户。
用户再次来访时,网站把该用户ID对应的计数器加1,得到用户的来访次数。
7、Config对象配置对象8、Page对象页面对象。
PageContext对象页面上下文对象Jsp引入了一个名位PageContext的类,通过它可以访问页面的许多属性。
PageContext类拥有getRequest,getResponse,getOut,getSession等方法。
pageContext变量存储与当前页面相关联的PageContext对象的值。
补:如果方法需要访问多个与页面相关的对象,传递pageContext要比传递request,response,out等的独立引用更容易。
(虽然两种方式都能达到同样的目的)9、Exception对象在处理异常的网页中可以直接访问exception隐式对象。
-----------------------------------补充部分--------------------------------① out - javax.servlet.jsp.jspWriterout对象用于把结果输出到网页上。
方法:1. void clear() ;清除输出缓冲区的内容,但是不输出到客户端。
2. void clearBuffer() ;清除输出缓冲区的内容,并输出到客户端。
3. void close() ;关闭输出流,清除所有内容。
4. void flush() ;输出缓冲区里面的数据。
5. int getBufferSize() ;获取以kb为单位的目前缓冲区大小。
6. int getRemaining() ;获取以kb为单位的缓冲区中未被占用的空间大小。
7. boolean isAutoFlush() ;是否自动刷新缓冲区。
8. void newLine() ;输出一个换行字符。
9. void print( boolean b ) ;void print( char c ) ;void print( char[] s ) ;void print( double d ) ;void print( float f ) ;void print( int i ) ;void print( long l ) ;void print( Object obj ) ;void print( String s ) ;将指定类型的数据输出到Http流,不换行。
10. void println( boolean b ) ;void println( char c ) ;void println( char[] s ) ;void println( double d ) ;void println( float f ) ;void println( int i ) ;void println( long l ) ;void println( Object obj ) ;void println( String s ) ;将指定类型的数据输出到Http流,并输出一个换行符。
11. Appendable append( char c ) ;Appendable append( CharSequence cxq, int start, int end ) ; Appendable append( CharSequence cxq ) ;将一个字符或者实现了CharSequence接口的对象添加到输出流的后面。