JSP内置对象

来源:互联网 发布:钢笔字 知乎 编辑:程序博客网 时间:2024/06/14 01:48

定义:WEB容器创建的一组对象,不需要使用new就可以使用的·内置对象。

九大常用的内置对象:out,request,response,session,application,Page,pageContext,config,exception。


Web程序响应模式:用户发送请求(request)

                                    服务器给用户响应(response)



out对象: 缓冲区:内存的一块区域用来保存临时数据。

                 IO输出最原始的输出就是一个字节一个字节的输出。

                 常用的方法:void clear():清除缓存区,如果在flush之后调用会抛出异常。

                                        void  clearBuffer():清除缓存区,在flush之后不会抛出异常。

                                        boolean  isAutoFlush():缓冲区满时,是自动清空还是抛出异常。


requset对象:客户端请求的信息封装在request对象中,它是HttpServletRequest类的实例,完成客户端请求之前,该对象一直有效。

               常用的方法:String getParameter(String name ):返回name指定的参数值

                                      String getParameterValues(String name):返回name指定参数的所有值数组 

                                        void setAttribute(String,Object):存储此请求中的属性

                                      object  getAttribute():返回指定属性的属性值

                                       String getContentType():得到请求体的MIME类型

                                      String getProtocol():返回请求用的协议及版本号

                                     String getServername():返回接受服务器的主机名

                                      int getServerPort():返回服务器接受此请求所用的端口号

                                    String getCharacterEncoding():返回编码方式

                                    void setCharacterEncoding():设置请求的编码方式

                                    int  getContentLength():返回请求体的长度

                                    String getRemoteAddr():返回发送此请求的客户端IP地址

                                    String  getRealPath():返回虚拟路径的真实路径

                                   String request..getContentPath():返回上下文路径



reponse对象:包含了响应客户请求的信息,但在JSP中很少直接用到它,它是HttpServletReponse类的实例,reponse对象具有页面作用域,即:访问一个页面时,该页面内的reponse对象只对这次访问有效,其他页面的reponse的对象对当前页面无效。

                常用方法:String getCharacterEncoding():返回响应用的是何种编码

                                     void setContentType():设置相应的MIme类型

                                    PrintWriter  getWriter():返回可以向客户端输出字符的一个对象

                                    sendRedirect():重新定向客户端的请求


session对象:session表示客户端与服务器的一次会话,

                         Web中的session指的是用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,

                        服务器内存中保存着不同用户的session

                        在第一个JSP页面装载时被创建,完成会话期管理

                        是HttpSession类的对象

                     常用方法:String getID():返回session创建时JSP引擎为它设的唯一id

                                        String[] getValueNames():返回一个包含此session中所有可用属性的数组

                                         int getMaxInvctiveInterval():返回两次请求间隔多长时间session被取消(单位:秒)

                生命周期:当客户端第一次访问某个jsp或者servlet时,服务器会为当前会话创建一个sessionID,每次向服务器发送请求时,都会将此ID带过去,服务器端进行校验

                  活动:1.某次会话通过超链接打开的新页面属于同一次会话

                              2.只要当前会话页面没有完全关闭,重新打开新的浏览器窗口访问同一项目资源属于同一次会话

                              3.除非本次会话页面都关闭后,再重新访问某个jsp或者servlet将会创建新的会话。

                             注意事项:注意原有的会话id仍存在于服务器端,只不过再也没有客户端携带它和服务器校验。

                session销毁:调用invalidate()方法

                                          session过期

                                           服务器重启

                  session对象默认销毁时间为30分钟

                  设置销毁时间的方法:1.session.setMaxInactiveInterval() 

                                                          2.在web.xml中配置:

                                                                <session-config>

                                                                 <session-timeout>

                                                                        10

                                                               </session-timeout>

                                                             <session-config>单位是分钟

application对象:1.实现了用户间的数据共享,可存放全局变量

                            2.开始于服务器启动,终止于服务器关闭

                            3.在用户的前后连接中或者不同用户之间的连接中,都可以对application对象的同一属性进行操作。

                            4.在任何地方对application对象属性的操作,都将影响到其他用户对它访问

                            5是ServerContext类的实例

常用方法:Enumeration getAttributeNames() 返回所有属性名的枚举

                  String getServerInfo():返回JSP(servlet)引擎名及版本号


page对象:指向当前jsp页面本身,有点类似于this中的指针,它是Object类的实例。

                  常用方法:和Object方法一样。

pageContext对象:1.提供了对JSP页面内所有对象及名字空间的访问

                               2.可以访问到本页所在的session,也可以取本页所在的application的属性值

                               3.相当于页面所有功能的集大成者

                               4.pageContext对象的本类名也叫pageContext。

                  常用方法:JspWriter getOut():返回当前客户端响应被使用的JspWriter流。

                                     Object getAttribute(String name,int scope):返回指定范围属性的值

                                     int getAttributeScope(String name):返回某属性的作用范围

                                    void forward(String relativeUrlPath):使当前页面重导到另一页面。

                                     void include(String relativeURLpath):在当前位置包含另一文件

                                      Object getPage():返回当前页的Object对象

Config对象:是在一个servlet初始化时,jsp引擎向她传递信息用的,此信息包括servlet初始化时所用到的参数(通过属性名和属性值构成)以及服务器有关的信息(通过传递一个ServletContext对象)

                     常用方法:ServletContext getServletContext():返回服务器相关信息的ServletContext对象

                                       String getInitParameter(String name):返回初始化参数值

                                       Enumeration getInitParameter'Names(String name):返回初始化servlet所需所有参数的枚举

exception对象:是一个异常对象,当一个页面产生异常,就产生了这个对象,如果JSP页面要应用此对象,必须把isErrorPage设置为true,否则无法编译,它实际上是java.lang.Throwable的对象

                   常用方法:String getMessage():返回描述异常的消息

                                     String toString():返回关于异常的简短消息

                                      void printStackTrace():返回异常及其栈轨迹

                                      Throwable FillInStackTrace():重写异常执行的栈轨迹

原创粉丝点击