JSP内置对象


所谓内置对象就是有Web加载的一组ServletAPI的实力,这些实力有JSP规范进行了默认的初始化操作,可以直接在JSP中使用,下面是五种常用的JSP内置对象。
    out对象:用于向客户端输出数据。
    request对象:主要用于处理客户端请求的数据信息。
    response对象:用于响应客户端请求并向客户端输出信息。
    session对象:用于记录回话状态的相关信息。
    application对象:类似于系统的全局变量,用于实现Web应用中的资源共享。     
out
    out内置对象是在JSP开发过程中使用最为频繁的对象,同时使用起来也是最简单的。out对象用于对浏览器输出数据,其常用的方法是print();其中参数可以包含JavaScript代码。

request(请求)
    request对象是最常用的JSP内置对象之一,其中包含了有关浏览器请求的信息。
        常用方法
            String getParameter(String name):根据页面表单组件名称获取页面提交数据。
            String[] getParameterValues(String name):获取一组以相同名称命名的表单组件提交的数据。
            void setCharacterEncoding(String charset):指定每个请求的编码,在调用request.getParameter()方法前设定,可以解决中文乱码问题,只对post提交方式有效。
            RequestDispatcher getRequestDispatcher(String path):返回一个javax.servlet.RequestDispatcher对象,该对象的forward()方法用于转发请求。(转发) 

response(响应)
    response对象与request对象相对应,用于相应客户请求并向客户端输出信息。
        常用方法
            void addCookie(Cookie cookie):在客户端添加cookie
            void setContentType(String type):设置HTTP相应的contentType类型
            void setCharacterEncoding(String charset):设置响应锁采用的字符编码类型
            void sendRedirect(String location) :将请求重新定位到一个新的URL上(重定向)

session(会话)
    session遵守的是session机制,session机制是一种服务器端的机制,在服务器使用类似于散列表的结构来保存信息。当服务器端接收到客户端的请求时,服务器首先会判断客户端是否已经穿件了session对象,如果已经穿件,就利用这个session对象来存储客户的状态信息。如果没有创建,则创建session对象。它是通过sessionid来判断对象是否存在的。
        常用方法
            void setAttribute(String key,Object value):以K/Y的形式将对象保存到session中。
            Object getAttribute(String key):通过key获取session中保存的对象。
            void invalidate():设置session对象失效。
            String getId():获取sessionid
            void setMaxInactiveInterval(int interval):设置session的活动时间。
            int getMaxInactiveInterval():获取session的有效活动时间,以秒为单位。
            void removeAttribute(String key):从session中删除指定名称(key)所对应的对象。
    session对象超时设置可以通过三种方式来实现。
        方式一:在页面中,通过setMaxInactiveInterval()方法设置session的非活动时间,代码如下:
            <%
                session.setAttribute("LOGIN","admin");
                //参数为600的单位是秒,表示在10分钟后session对象失效
                session。setMaxInactiveInterval(600);
                response.sendRedirect("admin.jsp"); 
            %>
        方式二:在项目的web.xml设置代码如下:
            <session-config>
                <session-timeout>10</session-timeout>
            </session-config>
            其中10的单位是分钟,或设置0,-1表示永不超时。
        方式三:在应用服务器中设置,在Tomcat目录/conf/web.xml中找到<session-config>元素,其中<session-timeout>元素中的30就是默认的时间,单位是分钟,可以修改其值。

application(应用服务器)
    application对象类似于系统的一个“全局变量”,用于同一个服务器内所有用户之间的数据共享,对于整个Web服务器,application对象有且只有一个实例。
        常用方法
            void setAttribute(String key,Object value):以K/Y的形式将对象存储到application中。
            Object getAttribute(String key):通过key获取application中存储的对象。
            String getRealPath(String path): 返回相对路径的真实路径。

JSP其他的内置对象
    pageContext:提供了在JSP运行时访问和其相关的环境信息的能力,通过pageContext对象可以访问和当前JSP页面相关联的作用域,以及一些页面的属性。
        常用方法
            ServletRequest getRequest();获得request对象。
            ServletResponse getResponse():获得response对象。
            HttpSession getSession():获得session对象。
            JspWriter getOut():获得out对象。
            void setAttribute():保存属性。
            Object getAttribute():获得属性。
            void include():请求指定的资源,并向目标资源的响应结果包含在调用页面的响应中。
    page:表示当前页面,类似于Java中的this。在JSP页面中,很少使用page对象。
    config:用于存放JSP编译后的初始数据。与page对象一样,在JSP页面中很少使用。
    exception:表示JSP页面运行时产生的异常和错误信息,该对象只有在错误页面。(page指令中设定isErrorPage为true的页面)中才能够使用。
    
    
                                                                                
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章