欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    JSP内置对象详解.ppt

    • 资源ID:6510419       资源大小:426.50KB        全文页数:70页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    JSP内置对象详解.ppt

    第4章 JSP内置对象详解,Jsp基础,熟练掌握,为什么叫JSP内置对象,不用声明就可以在jsp页面的脚本部分使用。,第4章 JSP内置对象详解,4.1 请求对象:request,4.2 响应对象:response,4.3 会话对象:session,4.4 多客户端共享对象:application,4.5 页面对象:page,第4章 JSP内置对象详解,4.6 页面上下文对象:pageContext,4.7 输出对象:out,4.8 配置对象:config,4.9 异常对象:exception,http协议的运行过程,WWW协议(World Wide Web)使用浏览器从网站获取HTTP页面时,使用HTTP(Hypertext Transfer Protocol)协议规定信息在Internet上的传输方法,特别规定了浏览器与服务器的交互方法。从网站获取页面时,首先浏览器在网站上打开一个对网络服务器的连接,并发出请求,服务器收到请求后响应,返回结果。,HTTP请求的结构,包括请求行、头域和可能的信息体例:GET/hello.htm HTTP/1.1,一个典型的请求包含许多HTTP请求头。头提供了关于信息体的附加信息及请求的来源,其中有些头是标准的,有些头和特定的浏览器有关。请求还可能包含信息体。如表单内容。,Accept:浏览器可接受的MIME类型。Accept-Charset:浏览器可接受的字符集。Accept-Encoding:浏览器能够进行解码的数据编码方式,如gzip。Servlet能够向支持gzip的浏览器返回经gzip编码的HTML页面。许多情形下这可以减少5到10倍的下载时间。Accept-Language:浏览器所希望的语言种类,当服务器能够提供一种以上的语言版本时要用到。Content-Length:表示请求消息的正文长度。Cookie:这是最重要的请求头信息之一。From:请求发送者的email地址,有一些特殊的web客户程序使用,浏览器不会用到它。Host:初始URL中的主机和端口。Referer:包含一个URL,用户从该URL代表的页面出发访问当前请求的页面。User-Agent:浏览器类型,如servlet返回内容与浏览器类型有关则该值非常有用。UA=Pixel,UA-Color,UA-OS,UA-CPU:由某些版本的IE浏览器所发送的非标准的请求头,表示屏幕大小、颜色深度、操作系统和CPU类型。,HTTP响应的结构,每个响应都由状态行开始,可以包含几个头及可能的信息体,称作响应的HTTP头和响应信息体。这些头和信息体由服务器发送给客户的浏览器,信息体就是客户请求的网页的运行结果,对于JSP页面,就是网页的静态信息。,4.1 请求对象:request,内置对象request封装了用户提交的信息。该对象调用相应的方法可以获得封装的信息。客户一般使用HTML表单向服务器的某个JSP页面提交信息。例:提交的手段,4.1 请求对象:request,4.1.1 获取请求参数,4.1.2 在作用域中管理属性,4.1.3 获取Cookie对象,4.1.4 获取客户端信息,参数“name”与form表单中的name属性对应,或者与提交链接的参数名对应,如果参数值不存在,则返回null值,该方法的返回值类型是String。,request对象通过getParameter()方法可以用来获取用户提交的数据。获取请求参数的使用格式如下:,获取请求参数,String name=request.getParameter(“name”),例:request.getParameter(“boy”),例:,tree.jsp,获取文本框提交的信息:获取按钮的名字:,例:,trynumber=Double.parseDouble(textContent);if(number=0)r=Math.sqrt(number);out.print(“”+String.valueOf(number)+”的平方根:”);out.print(“”+String.valueOf(r);elseout.print(“”+”请输入一个正数”);catch(NumberFormatException e)out.print(“”+”请输入数字字符”);,使用对象前确定客户是否已提交数据,如客户还没有提交表单数据,那调用该对象就会出现空对象错误。即NullPointException异常。为了避免使用空对象,可以添加如下代码:,String textContent=request.getParameter(“girl”);double number=0,r=0;if(textContent=null)textContent=“”;,处理汉字对象,当用request对象获取客户提交的汉字字符时,会出现乱码问题,所以对含有汉字字符的信息必须进行特殊处理。首先,将获取的字符串用ISO-8859-1进行编码,并将编码存放到一个字节数组中,然后再将这个数组转化成字符串对象,例:,String textContent=request.getParameter(“boy”);Byte b=textContent.getBytes(“ISO-8859-1”);textContent=new String(b);,例:,tree.jsp,获取文本框提交的信息:获取按钮的名字:,在作用域中管理属性,在进行请求转发操作时,把一些数据带到转发后的页面处理。这时,就可以使用request对象的setAttribute()方法将数据设置在request范围内存取。在request作用域中,设置转发数据的方法使用格式如下:,request.setAttribute(“key”,value);,参数key为String类型的键名。在转发后的页面取数据时,通过这个键名来获取数据;参数value为Object类型的键值,代表需要保存在request范围内的数据。在requet作用域中,获取转发数据的方法使用格式如下:,Object object=request.getAttribute(“name”);,在requet作用域中,获取所有属性的名称集的方法使用格式如下:,request.getAttributeNames();,该方法返回值是枚举类型(Enumeration)数据。,示例:详见教材及源代码,index.jsp,用户注册信息 账号:密码:真实姓名:Email地址:性别:男 女,dealwith.jsp,showUser.jsp,Email地址:性别:,获取Cookie对象,Cookie是Web应用程序保存用户相关信息提供的一种有效的方法,它是一段文本信息,伴随着用户请求和页面在Web服务器和浏览器之间传递。用户每次访问站点时,Web应用程序都可以读取Cookie包含的信息。在JSP页面中,可以通过requet对象中的getCookie()方法获取Cookie中的数据,格式如下:,Cookie cookie=request.getCookie();,该方法返回值是Cookie数组。,.);if(cookie_response!=null)out.println(上一次访问的时间:+cookie_response.getValue();cookie_response.setValue(new Date().toString();if(cookies=null)cookie_response=new Cookie(AccessTime,);cookie_response.setValue(new Date().toString();response.addCookie(cookie_response);%,获取客户端信息,request对象的一些方法可以用于确定组成JSP页面的客户端的信息,request对象用于访问请求行元素的方法如表所示。,session和cookie,session是保存在服务端的内存里面,而cookie保存于浏览器或客户端文件里面;session是基于访问的进程,记录了一个访问的开始到结束,当浏览器或进程关闭之后,session也就“消失”了,而cookie更多地被用于标识用户,它可以是长久的,用于用户跟踪和识别唯一用户(Unique Visitor)。,其他常用方法,getRemoteAddr()获取客户端的IP地址。getRemoteHost()获取客户端的名字。getServerName()获取服务器的名字getServerPort()获取服务器的端口号。getHeader()获取客户端的浏览器类型。,4.2 响应对象:response,Response的http文件头:http请求和http响应;典型的http请求:post/tree.jsp/http/1.1host:localhost:8080accept_encoding:gzip,deflate,Response的状态行,当服务器对客户请求进行响应时,它发送的首行称作状态行。状态行包括3位数字的状态行代码和对状态代码的描述。,5类状态代码的简单描述,1yy:(1开头的3位数)主要是实验性质的。2yy:用来表明请求成功。3yy:用来表明在请求满足之前应采取进一步的行动。4yy:当浏览器做出无法满足的请求时,返回该代码。5yy:用来表示服务器出现问题。,4.2 响应对象:response,4.2.1 客户端与服务器端的交互,4.2.2 页面重定向,4.2.3 缓冲区的输出,4.2.4 response对象常用方法,客户端与服务器端的交互,request对象和response对象的结合可以使JSP更好地实现客户端与服务器的信息交互。用户在客户端浏览器中发出的请求信息被保存在request对象中并发送给Web服务器,JSP引擎根据JSP文件的指示处理request对象,或者根据实际需要将request对象转发给由JSP文件所指定的其他服务器端组件,如Servlet组件、JavaBean组件或EJB组件等。处理结果则以response对象的方式返回给JSP引擎,JSP引擎和Web服务器根据response对象最终生成JSP页面,返回给客户端浏览器,这也是用户最终看到的内容。客户端与服务器端信息交互的流程如图所示。,页面重定向,JSP页面可以使用response对象中的setRedirect()方法将客户请求重定向到一个不同的页面资源。例如:,response.sendRedirect(“sanyang,jsp”),JSP页面还可以使用response对象中的sendError()方法指明一个错误状态,该方法接受一个错误及一条可选的错误信息。该信息将在内容主体上返回给客户。例如:,response.sendError(500,”请求页面存在错误”);,上述两个方法都会中止当前的请求和响应。response对象中用于重定向的方法如下:,sendError(int number)方法:使用指定的状态码向客户发送错误响应。sendError(int number,String msg)方法:使用指定的状态码和描述性消息向 客户发送错误响应。sendRedirect(String location)方法:指定的重定向位置URL并向客户发送 重定向响应,可以使用相对URL。,缓冲区的输出,缓冲可以有效地在服务器与客户之间传输内容。HttpServletResponse对象为支持jspWriter对象而启用了缓冲区配置。response对象中的getBufferSize()方法的返回值用于JSP页面的当前缓冲区容量;response对象中的setBufferSize()方法允许JSP页面为响应的主体设置一个首选的输出缓冲区容量。response对象中用于相应缓冲的方法如下:,flushBuffer()throws IOException:强制把缓冲区中的内容发送给客户。getBufferSize():返回响应所使用的实际缓冲区大小,如果没使用缓冲 区,则该方法返回0。setBufferSize(int size):为响应的主体设置首选的缓冲区大小。boolean isCommitted():表示响应是否已经提交,提交的响应已经写入 状态码。reset():清除缓冲区存在的任何数据,同时清除状态码。,例:,缓冲区大小:缓冲区设置之前 输出的内容是否提交:缓冲区设置之后 输出的内容是否提交:,response对象常用方法,response对象常用方法如表所示。,例,现在的时间是:,4.3 会话对象:session,4.3.1 理解session,4.3.2 内置对象对通信的控制,4.3.3 创建与获取客户端session,4.3.4 移除指定session中的对象,4.3.5 session销毁,4.3.6 session超时管理,4.3.7 session实现局部网页计数器,理解session,session是用于保存客户信息而分配给客户的对象,HTTP协议不能保存客户端请求信息的历史记录,为了解决这一问题,生成一个session对象,这样服务器和客户端之间的连接就会一直保持下去。session中的ID标识是唯一的,用来标识每个用户,当刷新浏览器时,该标识的值不变。如果在一定时间内,客户端不向服务器发出应答请求,系统默认在30分钟内,session对象会自动消失。session标识可以通过getId()方法得到,具体代码如下:,客户端session的ID值:,程序运行结果如图所示。,内置对象对通信的控制,resquest、response和session是JSP内置对象中的重要3个对象,这3个对象体现了服务器端与客户端进行交互通信的控制。resquest、response和session内置对象的通信过程如图所示。,JSP通过request对象控制客户浏览器的请求;通过response对客户浏览器进行响应;而session就维持这个反反复复的过程中会话起见需要传递的数据信息。,创建与获取客户端session,session内置对象可以使用setAttribuete()方法保存对象名和对象的值,如果程序员想要获取到保存到session中的信息,则需要调用getAttribuete()方法进行获取。例如:,设置属性和获取属性可以在不同的文件中,但是不允许在同一个session中,是否在同一会话中要根据客户的访问情况来决定。通过下面的方法可以获取包含绑定在该session中所有对象的名称。,java.util.Enumeration getAttributeNames(),该方法返回一个枚举类型的对象。,移除指定session中的对象,JSP页面可以将任何已经保存到session中的对象进行移除操作。session内置对象使用removeAttribute()方法所提供的名称移除,removeAttribute()方法的语法如下:,void removeAttribute(java.lang.String name),参数name为String类型的值,代表移除的对象的名称。,session销毁,在JSP页面中,可以通过session对象中的invalidate()方法删除已经保存到session中所有对象。invalidate()方法的语法如下:,void invalidate(),session超时管理,在JSP页面中,确定客户端session是否存在唯一的方法是使用超时设置。这是因为Web客户在进入非活动状态时不通知服务器。为了清除存储在session对象中的客户申请资源,Servlet容器设置一个超时窗口。在非活动的时间超出了窗口的大小时,JSP容器将使session对象无效并撤销所有属性的绑定,从而管理session的声明周期。session对象用于超时管理如表所示。,session实现局部网页计数器,使用session编写局部网页计数器,首先,设置int类型的变量number,并将该对象初始化为1。然后,通过获取session中getAttribute()方法获取number对象,并判断该对象是否为null,如果不为null,则将获取的内容赋值给number变量。最后,将该变量自动加1并显示在页面中。实现代码如下:,注意:当浏览器关闭时或session过期时,网页访问次数将回到 初始化值。,4.4 多客户端共享对象:application,4.4.1 appliaction对象作用范围,4.4.2 application对象常用方法,4.4.3 application实现全局网页计数器,appliaction对象作用范围,application对象用于保存所有应用系统中的公共数据,web服务器启动并自动创建application对象后,只要没有关闭服务器,appliaction对象一直存在,所有用户可以共享appliaction对象。,appliaction对象与session对象有一定区别,session对象和用户客户端有关,不同的客户端的session是完全不同的对象,而appliaction对象都是相同的一个对象,即共享这个内置的appliaction对象。,在JSP页面中,作用范围的对象分别为page、request、session、application,它们之间的关系如图所示。,application对象常用方法,application对象常用方法如表所示。,application实现全局网页计数器,使用application编写全局网页计数器,首先,设置int类型的变量number,并将该对象初始化为1。然后,通过获取application中getAttribute()方法获取number对象,并判断该对象是否为null,如果不为null,则将获取的内容赋值给number变量。最后,将该变量自动加1并显示在页面中。实现代码如下:,注意:当浏览器关闭时时,再次访问该网页时,访问次数继续增加。,4.5 页面对象:page,4.5.1 page对象的常用方法,4.5.2 page对象转换类型,page对象的常用方法,page对象的常用方法如表所示。,page对象转换类型,使用page输出JSP页面的对象转换类型和哈希代码值,调用page对象的hashCode()方法和toString()方法,分别获取Page对象的哈系代码值和JSP页面的对象转换类型,代码如下:,);out.println(page对象的hash代码+hashCode);%,程序运行结果如图所示。,4.6 页面上下文对象:pageContext,4.6.1 pageContext对象的常用方法,4.6.2 pageContext对象获取作用域的值,pageContext对象是一个比较特殊的对象,它的作用是取得任何范围的参数,通过pageContext对象可以获取JSP页面的out、request、response、session、application等对象,或者可以重新定向客户的请求等。,pageContext对象的常用方法,pageContext对象的常用方法如表所示。,pageContext对象获取作用域的值,使用pageContext对象获取作用域的值,首先在不同的范围内设置属性:,然后取出属性:,运行结果如图所示。,4.7 输出对象:out,out对象主要内容是向web浏览器内输出各种数据类型的内容,并且管理应用服务器上的输出缓冲区,缓冲区默认值是8KB。out对象被封装为接口,它是JSP编程过程中经常用到的一个对象。out对象的常用方法如表所示。,4.8 配置对象:config,4.8.1 config对象的常用方法,4.8.2 config对象获取初始化参数,config对象的主要作用是取得服务器的配置信息。config对象被封装为javax.servletConfig接口,通过pageContext.getServletConfig()方法可以获取一个config对象。,config对象的常用方法,config对象的常用方法如表所示。,config对象获取初始化参数(1),首先在web.xml文件中配置初始化参数:,sanyang/index.jsp email sanyang/index.jsp,config对象获取初始化参数(2),然后在JSP页面中通过config对象中的getInitParameter()方法获取在web.xml文件中初始化的参数,程序代码如下:,钟毅邮箱地址:,运行结果如图所示。,4.9 异常对象:exception,4.9.1 exception错误机制,4.9.2 exception对象的常用方法,4.9.3 exception设置指定错误页面,4.9.4 exception对象指向空指针错误,exception错误机制,exception异常对象指的是web应用程序所能够识别并能够处理的问题。在Java语言中,通过“try/catch”的关键在来处理异常信息情况,如果在JSP页面中出现没有捕捉到的异常信息,那么系统会自动生成exception对象,并把这个对象传送到page指令元素中设定的错误页面中,然后在错误提示页面中处理相应的exception对象。Exexceptionception对象只能在错误页面中才可以使用,并在页面指令元素里存在isErrorPage=true的页面。,exception对象的常用方法,exception对象的常用方法如表所示。,exception设置指定错误页面,首先,建立一个自定义的错误页面“error.jsp”,即在该页面的开始部分标识符中添加如下代码:,然后,将其他页面指向该错误页面。在标识符中添加以下代码:,这样,就给其他页面指定了错误页面。,exception对象指向空指针错误(1),首先,创建一个JSP页面,在该页面设置一个空指针的错误,并为该页面指定一个错误页面“exception.jsp”。,exception对象指向空指针错误(2),然后,创建exception.jsp页面,如果发生任何的异常信息,则系统将自动重定向到exception.jsp页面,该页面将通过exception对象中各种方法将错误信息进行输出。主要代码如下:,下面就是异常信息,exception对象指向空指针错误(3),显示的错误信息:,

    注意事项

    本文(JSP内置对象详解.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开