第三章内置对象课件_第1页
第三章内置对象课件_第2页
第三章内置对象课件_第3页
第三章内置对象课件_第4页
第三章内置对象课件_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第三章JSP内置对象目标了解隐式对象的概念介绍隐式对象out、request、response、pageContext、page隐式对象out、request、response、pageContext、page的使用实例JSP页面之间的跳转隐式对象我们在使用JSP页面进行编程的时候,会发现我们可以直接使用

request.getParameter()或者response.getWriter()等方法,可是我们从没有实例化过request或者response。其实,这些对象不需要我们来new,而由web容器来进行加载,这就是我们所说的JSP隐式对象.JSP页面隐式对象客户端响应请求响应请求服务器隐式对象隐式对象输入/输出对象作用域通信对象Servlet

对象错误对象requestresponseoutsessionpageContextapplicationpageconfigexception隐式对象对象名说

明outout对象是javax.servlet.jsp.JspWriter对象的实例,可以代表对输出流、经过滤的输出流或来自其他JSP页面的嵌套的JspWriter的直接引用。requestrequest对象是javax.servlet.ServletRequest对象的实例,当来自客户端的请求带有参数时,该对象对应的就会有一个参数列表。responseresponse对象是javax.servlet.ServletResponse对象的实例,用来处理返回给客户的数据流。pageContextpageContext对象是javax.servlet.jsp.PageContext对象的实例。为每个请求存储request和response对象的引用。pagepage对象是对页面对象实例的引用,也就是指向页面自身的方式(相当于Java代码中的this)。该对象可以看作是代表整个JSP页面的对象。隐式对象对象名说

明sessionsession对象是javaxj.servlet.http.HttpSession对象的实例,用与在使用无状态连接协议(如HTTP)的情况下跟踪关于某个客户的信息。applicationapplication对象是javax.servlet.ServletContext对象的实例,可以提供JSP与服务器进行通信的方法。configconfig对象是javax.servlet.ServletConfig对象的实例,该对象允许JSP页面编写者访问Servlet的初始化参数。exceptionexception对象是包含从前一个页面抛出的异常的包装器,通常根据错误条件产生合适的响应。输入/输出对象控制页面的输入和输出访问与所有请求和响应有关的数据输入和输出对象包括request、response和outout

对象表示输出流

javax.servlet.jsp.JspWriter

类的实例使用write()、print()

和println()

方法JSP

页面out

对象客户端创建输出流创建输出流以显示信息输出流请求在网页上显示输出流服务器注:out对象是javax.servlet.jsp.JspWriter对象的实例out

对象out

对象的方法println()、print()、write()用以输出至客户端页面

getBufferSize()获取缓冲区大小getRemaining()获取剩下的缓冲区大小out

对象<html><body><%out.print(“欢迎来到JSP:隐式对象”);

out.write(“欢迎来到JSP:隐式对象”);%></body></html>使用out对象进行JSP编程注意:使用println()方法添加的空行在被浏览器解析时会被忽略。换行需使用out.println("<br>")方法实现。out对象其他方法方法名作

用clear()清除缓冲区数据,但不把数据输出至客户端clearBuffer()清除缓冲区数据,而且把数据输出至客户端close()关闭输出流flush()输出缓冲区数据getBufferSize()获得缓冲区大小getRemaining()获得缓冲区空闲空间大小isAutoFlush()返回Boolean类型值。当AutoFlush为真时返回true;反之则返回falsenewLine()输出一个换行符out方法演示<%@

page

language="java"

contentType="text/html;

charset=gb2312" pageEncoding="UTF-8"%><!DOCTYPE

html

PUBLIC

"-//W3C//DTD

HTML

4.01

Transitional//EN“

"

"><html><head><meta

http-equiv="Content-Type"

content="text/html;

charset=ISO-8859-1"><title>out对象使用示例</title></head><body><%out.println("out对象使用示例:<br><br><br>");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.println("<br>调用out.close()后将停止输出");

out.close(); out.println("<br>这段字符将不会输出");

out.clear();%>out方法演示<%String

str1="你看不见的";String

str2="你看得见的";out.print("默认的缓冲区大小是:");out.print(out.getBufferSize()+"<br>");out.flush();out.print(

str1

+

"<br>"

);out.clearBuffer();out.print("缓冲区剩余空间原来的大小为:");out.print(out.getRemaining()+"<br>");out.print(

str2+"<br>");out.print("缓冲区剩余空间现在的大小为:");out.print(out.getRemaining()+"<br>");%>request

对象表示客户端对网页的请求实现javax.servlet.http.HttpServletRequest

接口使用HTTP

协议处理客户端的请求JSP

页面request

对象客户端请求信息表示并存储客户端的请求请求服务器request

对象request

对象常用方法String

getParameter(String

name)根据页面表单组件名称获取请求页面提交数据String[

]

getParameterValues

(String

name)获取页面请求中一个表单组件对应多个值时的用户的请求数据setCharacterEncoding(String

param)设置请求中的字符编码方式request其他方法方法名作

用getAttribute(String

name)返回由name所指定的属性值。当指定属性值不存在时返回nullgetAttributeNames()返回request对象的所有属性的名称集合,其结果是一个枚举的实例getCookies()返回客户端的所有cookie对象,其结果是一个cookie数组getCharacterEncoding()返回请求中使用的字符编码形式getContentLength()返回请求的body长度,当长度不确定时返回-1getHeader(String

name)获取HTTP头信息request其他方法方法名作

用getHeaders(String

name)返回name对象的requestHeader的所有值,其结果是一个枚举的实例getHeaderNames()返回所有requestHeader的名称,其结果是一个枚举的实例getInputStream()返回请求的输入流,可以获得请求中的数据getMethod()获得客户端向服务器端传送数据的方法,可以是GET、POST、HEADER、TRACE中的一种getParameterNames()获得客户端传送给服务器端所有参数名,其结果是一个枚举的实例getProtocol()获得客户端向服务器端传送数据所依据的协议名称request其他方法方法名作

用getQueryString()获得由客户端以GET方法向服务器传送的查询字符串getRequestURI()获取发出请求字符串的客户端地址getRemoteAddr()获取客户端IP地址getRemotoHost()获取客户端主机名getSession([Booleancreate])返回一个与请求相关的session。可选

create参数为true时,若客户端没有创建session,那么将创建一个新的

sessiongetServerName()获取服务器名request其他方法方法名作

用getServletPath()获取客户端请求的脚本文件的文件路径getServletPort()获取服务器端口号isUserInRole(String

role)判断认证后的用户是否属于逻辑role中的成员removeAttribute(String

name)删去请求中的一个属性setAttribute(Stringname,java.lang.Object

objc)设置名为name的属性的request参数值,此参数值由java.lang.Object类型的objc指定。request

对象练习接受用户历和你从使用request

对象进行JSP编程需求:1、某网站注册时,需要输入注册信息,请编写JSP页面输入,并获取用户输入的数据。2、注册信息包括用户名、密码、确认密码、性别、学哪里知道本网站等主题。分析:1、编写reg.jsp,提供用户输入的表单组件。

2、编写show.jsp,显示用户提交的数据。response

对象处理JSP

生成的响应将响应发送给客户端实现javax.servlet.http.HttpServletResponse

接口使用HTTP

协议将响应发送给客户端JSP

页面Response

对象客户端从服务器中检索的信息存储信息,以在响应客户端请求时发送此信息响应服务器response

对象response

对象常用方法void

setContentType

(String

name)设置作为响应生成的内容的类型和字符编码void

sendRedirect

(String

name)发送一个响应给浏览器,指示其应请求另一个URLresponse

对象response

对象常用方法二addCookie(Cookie

cook)添加一个Cookie对象,用来保存客户端的用户信息addHeader(String

name,String

value)添加HTTP文件头信息。此Header将会被传送到客户端,如果已存在同名的Header,那么已有的Header将被覆盖containsHeader(String

name)判断指定名字的HTTP文件头是否存在并返回布尔值-

encodeURL()使用sessionId封装URL。如果没必要封装URL则返回原值response

对象response

对象常用方法三flushBuffer()把当前缓冲区内容强制发送到客户端getBufferSize()返回缓冲区大小getOutputStream()返回传送到客户端的输出流对象-

sendError(int)向客户端发送错误信息response

对象response

对象常用方法四setContentType(String

contentType)设置响应的MIME类型setHeader(String

name,String

value)设置指定名字HTTP文件头的值,如果该值已经存在,则新值会覆盖原有的旧值response

对象<%@

page

language="java"

contentType="text/html;

charset=gb2312"pageEncoding="UTF-8"%><!DOCTYPE

htmlPUBLIC

"-//W3C//DTD

HTML

4.01

Transitional//EN"

"

"><%@

page

language="java"

contentType="text/html;

charset=GB2312"%><%@

page

import="java.util.*"

%><html><head><meta

http-equiv="Content-Type"

content="text/html;charset=ISO-8859-1"><title>

response刷新页面实例</title></head><body><%response.setHeader("refresh","3");out.println(newDate());%></body></html>response对象修改头信息之前,我们可以用表达式决定响应给客户端的页面显示,但没有更改此页面的属性(放在网页的Header中)。使用response对象的setHeader()方法就可以进行属性修改。比如,要使发回的页面具有2秒后定向到另一页面的功能,可以加上Scriptlet:response.setHeader("refresh","2;url=x.jsp");或者带参数的:response.setHeader("refresh","2;url=b.jsp?ref=a");页面跳转转发(forward)pageContext对象的forward()方法的作用同于<jsp:forward>标记,主要目的就是把接收到的请求发送到其他的资源。它们的作用不仅仅是在HTML中的链接,还要向跳转到的页面传递

Request对象。“要跳转到的页面”接收到Request对象之后,根据Request对象中的信息执行命令。所以使用forward()方法跳转到操作指令的页面应该是一个独立的页面。比如说另外一个JSP页面。页面跳转重定向(redirect)sendRedirect工作在客户端,重定向后客户端浏览器地址栏的

URL变为新的资源URL,可以通过get方式传递参数。session

对象Web服务器为单个用户发送的多个请求创建会话存储有关用户会话的所有信息

javax.servlet.http.HttpSession

接口的实例

session

对象最常用的方法有:void

setAttribute(String

name,Object

value)以键/值的方式,将一个对象的值存放到session

中void

getAttribute(String

name)根据名称去获取session中存放对象的值session

对象<%session.setAttribute(“name”,

“admin”);%><%if(session.getAttribute(“name”)!=null){String

name

=

(String)

session.getAttribute(“name”);}%>session方法方法名作

用getAttributeNames()返回session对象中存储的每一个属性对象,其结果是一个枚举类的实例getCreationtime()返回此session的建立时间,以毫秒为单位getId

()返回session在服务器的识别码getLastAccessedTime()返回用户最后通过session向服务器提出请求的时间getMaxInactiveInterval()返回总时间,以秒为单位。其中,负值表示session永远不会超时。它的值为该session对象的生存时间getSessionContext()返回与session相关的contextsession方法方法名作

用getValue(String

name)取出session中名称为name的数据的内容getValueNames()取出session中所有的数据名称invalidate()使session失效并把它从context中删除isNew()判断是否是新的session。如服务器端建立了session且尚未被客户端存取,则返回true;否则返回falseputValue(Stringname,Object

objname)在session中设置一个字符串变量并指定其内容removeAttribute(String

name)删除与指定name相联系的属性session<%

request.getSession(true);

session.putValue("userName","围裙");session.putValue("userSex","F");session.putValue("ip",request.getRemoteAddr());String

sex

=

(String)

session.getValue("userSex");String

sessionName[]

=

session.getValueNames();out.print(session.getValue("userName"));if

(sex.equals("M"){out.println("先生,你好!<br>");}else

{out.println("女士,你好!<br>");}out.println("你来自

");

out.println(session.getId()+"<br>");out.println(sessionName.length+"笔<br>");out.println("已经建立的session数据共有");out.println("分别为;");for(int

i=0;

i<sessionName.length;

i++){out.println(sessionName[i]+"

");}out.println("<br>");

out.println("目前的用户session是否是new?");out.println(session.isNew());%>session<%request.getSession(true);out.print("session建立的时间:");out.print(session.getCreationTime()+"<br>");session.setMaxInactiveInterval(7200);out.print("设置session最大的存在期限为7200秒<br>");out.print("目前session的最大存在期限是:");out.print(session.getMaxInactiveInterval()+"秒<br>");out.print("最后请求此session的时间是:");out.print(session.getLastAccessedTime());%>application

对象表示JSP页面所属的应用程序应用程序的JSP

页面组合起来形成一个应用程序

javax.servlet.ServletContext接口实例

application对象最常用的方法有:void

setAttribute(String

name,Object

value)以键/值的方式,将一个对象的值存放到application中void

g

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论