Jsp九大内置对象和作用
3.1新Out对象及常用方法
request
javax.servlet.http.HttpServletR esponse
page
javax.servlet.http.HttpSession session
说明
该对象提供对HTTP请求数据的访问,同时还提供用于加入特定 请求数据的上下文
该对象允许直接访问HttpServletReponse对象,可用来向客户端 输入数据
户端去。 out.clear():清除缓冲区里的数据,但不把数据写到客户端去 out.getRemaining():获取缓冲区中没有被占用的空间的大小。
out对象方法
out.flush():输出缓冲区里的数据。out.flush()方法也会清除缓冲区中的数据。但是 此方法会先将之前缓冲区中的数据输出至客户端,然后再清除缓冲区中的数据。
out.close():关闭输出流,从而可以强制终止当前页面的剩余部分向浏览器输出。
03
out对象实例
out对象实例
【例1】用out对象输出如下表格。 效果如下:
out对象实例
【例1】 关键代码
<body> <%
%> </body>
out.print("参会人员名单(用out输出表格)"); out.print("<table border='1' width='100%'>"); out.print("<tr><td width='25%'>" + "姓名" + "</td>"); out.print("<td width='15%'>" + "年龄" + "</td>"); out.print("<td width='15%'>" + "性别" + "</td>"); out.print("<td width='45%'>" + "工作单位" + "</td></tr>"); out.print("<tr><td width='25%'>" + "张三" + "</td>"); out.print("<td width='15%'>" + "26" + "</td>"); out.print("<td width='15%'>" + "男" + "</td>"); out.print("<td width='45%'>" + "北京工业大学" + "</td></tr>"); out.print("<tr><td width='25%'>" + "李四" + "</td>");
“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 对象中用来判断缓冲区是否自动刷新的方法是______________________。
JSP的内置对象及作用
4.int getMaxInactiveInterval() 返回两次请求间隔多长时间此SESSION被取消(ms)
5.String[] getValueNames() 返回一个包含此SESSION中所有可用属性的数组
14.Servlet getServlet(String name) 返回指定名的Servlet
15.Enumeration getServlets() 返回所有Servlet的枚举
16.Enumeration getServletNames() 返回所有Servlet名的枚举
17.void log(String msg) 把指定消息写入Servlet的日志文件
16.String getRemoteHost() 返回发送此请求的客户端主机名
17.void setAttribute(String key,Object obj) 设置属性的属性值
18.String getRealPath(String path) 返回一虚拟路径的真实路径
二、response对象
3.PrintWriter getWriter() 返回可以向客户端输出字符的一个对象
4.void setContentLength(int len) 设置响应头长度
5.void setContentType(String type) 设置响应的MIME类型
6.sendRedirect(ng.String location) 重新定向客户端的请求
四、out对象
out对象是JspWriter类的实例,是向客户端输出内容常用的对象
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中的内置对象<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>标签来传递多个参数。
第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。
第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九大内置对象
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共有以下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引擎向它传递信息⽤的。
第五章 JSP内置对象
setContenType(String type):响应设置内容类型头。 sendRedirect(URL):可以将用户重定向到一个不同的页面(URL)。 sendRedirect(URL)方法通过返回特定的状态代码而起作用,当它被 调用时,返回一个状态代码,然后在响应中定位,给新页面一个新 地址。状态代码和定位头会自动把浏览器重定位到新页面。不过, 用户通常不能被顺利重定位到新的页而,特别是老一些的浏览器, 而且一些新版本的浏览器在自动响应定向作用状态代码时会有些问 题,当浏览器无法自动响应状态代码时,会收到一些字段信息。
isSecure():如果客户机是通过一个安全的访问方式访问的, 就返回true;反之,返回false. getDateHeader():返回一个long类型的数据,表示客户端发 送到服务器的头信息中的时间信息。 getInitHeader():获取客户端发送到服务器端的头信息中的某 一个特定的信息,并转换为int类型。 getContextPath():返回环境路径。对于JSP来说,一般是当 前Web应用程序的根目录。 isRequestedSessionIdValid():返回一个指示客户端请求发送 Session ID是否仍然有效的布尔值。 isRequestedSessionIdFromCookie():返回一个指示客户端请 求发送Session ID是否存在于Cookie中的布尔值。 isRequestedSessionIdFromURL():返回一个指示客户端请求 发送Session ID是否存在于URL中的布尔值。
பைடு நூலகம்
getId():返回Session对象在服务器端的编号。每生成一个Session对 象,服务器都会给它一个编号,并且该编号不会重复,这样服务器 才能根据编号来识别Session,并且正确的处理某一特定的Session及 其提供的服务。 getCreationTime():返回Session对象被创建的时间,单位为毫秒。 getLastAccessedTime():返回当前Session对象最后一次被操作的时 间,时间的单位为毫秒。 getMaxInactiveInterval():获取Session对象的生存时间,即最长的 “发呆”时间(单位为秒)。 setMaxInactiveInterval(int interval):设置Session的有效时间(也叫 超时时间),时间的单位为秒。 removeAttribute(String name)“删除指定的属性(包含属性名、属性 值)。如果在有效时间内,用户做出了新的请求,那么服务器就会 将其看作一个新的用户,此时,服务器将创建一个新的Session,旧 的Session信息将会丢失
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 对象中用来获得客户端的计算机名字的方法是方法。
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类型,主要用于跟踪对话。
WEB应用与开发_05JSP内置对象
<option value="看电影">看电影</option> <option value="打球">打球</option> <option value="看书">看书</option> <option value="听音乐">听音乐</option> <option value="爬山">爬山</option> <option value="游泳">游泳</option> </select> </td> </tr> </table> <center>
5.2 request对象:
javax.servlet.ServletRequest类的子类,该对象 封装了用户提交的信息(请求的标头、浏览器的版 本名称、语言与编码、请求的方式:GET、PUT、 POST、请求的参数名称、参数值和客户端的主机 名称等),通过调用该对象相应的方法可以获取封 装的信息,即使用该对象可以获取用户提交信息。
<jsp:include page="example2a.jsp" flush="true"/> <% } %> </body> </html> EXAMPLE2A.JSP <html> <body> <p> <%-- Get paramaters from the request object --%>
四大作用域及九大内置对象
四⼤作⽤域及九⼤内置对象四⼤作⽤域及九⼤内置对象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对象封装了从客户端到服务器发出的请求信息。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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接口的对象添加到输出流的后面。