Jsp9大隐式对象

1.Servlet :  
 优点:逻辑处理方便
 缺点:页面表现麻烦
2.Jsp
  优点:页面表现方便
1:简便性和有效性。
2:  程序的独立性(一次编写,到处运行)
3:程序的兼容性。
4:程序的可重用性
  缺点:逻辑处理麻烦
所以互补使用,一般项目采用   jsp+servlet+javabean
method

JSP页面就是带有Jsp元素常规的web页面。它是有 静态内容 动态内容 构成。其中 静态内容就是:指的HTML页面元素。
动态内容就是:指令元素,脚本元素,动作元素,注释等
一.jsp中9大内置对象  
(out,config,request,response,page,Exception,PageContext,application,session)
jsp内置对象是WEB容器创建的一组对象,不能使用new关键字就可以使用的内置对象,
一.out对象:像客户端输出内容;
常用方法:
1.void println( )像客户端打印字符串
2.void clear( )清除缓冲区的内容,如果在flush之后调用会抛出异常
3. void clearBuffer( ) 清除缓冲区的内容,如果在flush之后调用不会抛出异常
4.void  flush( );
5.void close( )关闭输出流
6.void getBufferSize( )获取缓冲区大小
7.void getRemaining( ) 缓冲区剩余大小
8.boolean isAutoFlush( )返回缓冲区满时,是自动清空还是抛出异常。

out(隐式对象用于向客户端发送文本数据)   out对象是通过调用pageContext对象的
    getOut方法返回的,其作用和用法与ServletResponse.getWriter方法返回的PrintWriter
    对象非常相似
<%   int[ ]value ={60,70,80}
         for(int i;value){
              out.println( i);}
%>


二。web程序的请求响应模式
   用户发送请求(request)
   服务器给用户响应(response)

三,缓冲区:buffer,所谓缓冲区就是内存的一块区域用来保存临时数据。


6.  application session request    pageContext 属于作用域
response   out
page exception
config
request 请求对象                       类型 javax.servlet.ServletRequest        作用域 Request
response 响应对象                       类型 javax.servlet.SrvletResponse       作用域 Page
pageContext 页面上下文对象      类型 javax.servlet.jsp.PageContext      作用域 Page
session 会话对象                         类型 javax.servlet.http.HttpSession      作用域 Session
application 应用程序对象            类型 javax.servlet.ServletContext          作用域 Application
out 输出对象                                类型 javax.servlet.jsp.JspWriter            作用域 Page
config 配置对象                           类型 javax.servlet.ServletConfig            作用域 Page
page 页面对象                             类型 javax.lang.Object                           作用域 Page
exception 例外对象                      类型 javax.lang.Throwable                    作用域 page


request 对象代表的是来自客户端的请求,例如我们在FORM表单中填写的信息等,是最常用的对象
(存储在一次请求中里面的值,请求结束立刻作用域的值清空)
常用的方法有:getParameter、getParameterNames 和getParameterValues 通过调用这几个方法来获取请求对象中所包含的参数的值。

response 对象代表的是对客户端的响应,也就是说可以通过response 对象来组织发送到客户端的数据。但是由于组织方式比较底层,所以不建议普通读者使用,需要向客户端发送文字时直接使用


pageContext (分类,一些不经常改动,几乎不会发生变化的)对象直译时可以称作“页面上下文”对象,代表的是当前页面运行的一些属性)
pageContext 是在整个Web应用上都是有效的,可以理解为所有的网页,因为这个对象是常常用来共享资源的,也就是用户1提交了一个资源,放到了pageContext作用域中,其它用户也可以看到这个资源。

常用的方法有 :findAttribute、getAttribute、getAttributesScope 和getAttributeNamesInScope
一般情况下pageContext对象用到得也不是很多,只有在项目所面临的情况比较复杂的情况下,才会利用到页面属性来辅助处理。
PageContext  (对于Servlet而言没有)
   当前页面存在,当发生跳转之后数据丢失



session 对象代表服务器与客户端所建立的会话,当需要在不同的JSP页面中保留客户信息的情况下使用,比如在线购物、客户轨迹跟踪等。“session” 对象建立在cookie的基础上,所以使用时应注意判断一下客户端是否打开了cookie。常用的方法包括getId、 getValue、 getValueNames和putValue等。
(会话,存储在会话里面的值,他与浏览器同生共死,只要浏览器不关闭或者不超过web.xml配置的session失效的时间)

HTTP是无状态(stateless)协议;
Web Server 对每一个客户端请求都没有历史记忆;
Session用来保存客户端状态信息;(登陆,购物车)
由Web Server 写入;
存于客户端;
客户端的每次访问都把上次的session记录传递给Web Server;
Web Server读取客户端提交的session来获取客户端的状态信息

application 对象负责提供应用程序在服务器中运行时的一些全局信息,常用的方法有getMimeType和getRealPath等。

out 对象代表了向客户端发送数据的对象,与“response” 对象不同,通过“out” 对象发送的内容将是浏览器需要显示的内容,是文本一级的,可以通过“out” 对象直接向客户端写一个由程序动态生成HTML文件。常用的方法除了pirnt和println之外,还包括clear、clearBuffer、flush、getBufferSize和getRemaining,这是因为“out” 对象内部包含了一个缓冲区,所以需要一些对缓冲区进行操作的方法
(输出流)

“config” 对象提供一些配置信息,常用的方法有getInitParameter和getInitParameterNames,以获得Servlet初始化时的参数。  指明的是ServletConfig


      

“exception” 对象则代表了JSP文件运行时所产生的例外对象,此对象不能在一般JSP文件中直接使用,而只能在使用了“<%@ page isErrorPage="true "%>”的JSP文件中使用 

.Exception


exception.jsp
             <%@ page language = "java" contentType = "text/html; charset=UTF-8"
     errorPage = "exception1.jsp"  %>
        < h1 > 测试异常的页面 </ h1 >
       < hr >
     <%
        System.out.println(100/0);
      %>

exception1.jsp
                   <%@ page language = "java"     contentType = "text/html; charset=UTF-8"
    isErrorPage = "true"   %>
       
                  < h1 > exception内置对象 </ h1 >
     < hr >
      异常消息是: <%= exception.getMessage() %> < br >
      异常的字符串描述M: <%= exception.toString() %>   < br >


page” 对象代表了正在运行的由JSP文件产生的类对象,不建议一般读者使用。(当前页面)
Page(java.lang.object类的实例)
       #page对象就是指当前Jsp页面本身,有点像类中的this指针,
       #class getClass( )  返回此object 的类、
       #int  hashCode  返回此object的hash码
      #boolean equals( Object obj) 判断此object是否与指定的object对象相等
      #void copy(object obj) 把此Object拷贝到指定的object对象中
      #object clone()克隆此object对象
      #String toString() 把此object对象转换成String类的对象
      #void notify( )唤醒一个等待的线程
     #void  allnotify( )唤醒所有等待的线程  
    ¥#void wait(int timeout )使一个线程处于等待直到timeout结束或被唤醒
       #void wait( )使一个线程处于等待直到被唤醒

< h1 > page内置对象 </ h1 >
   当前Page页面对象的字符串描述: <%= page.toString() %>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值