`

JSP的九个隐含对象,EL表达式中的11个隐含对象,JSP的6个基本动作

阅读更多

复习一下,基础都快忘了

一、page 对象
    page对象代表JSP本身,更准确地说它代表JSP被转译后的Servlet,它可以调用Servlet类所定义的方法。
        
 二、config 对象
    config 对象里存放着一些Servlet 初始的数据结构。
    config 对象实现于javax.servlet.ServletConfig 接口,它共有下列四种方法:
        public String getInitParameter(name)
        public java.util.Enumeration getInitParameterNames( )
        public ServletContext getServletContext( )
        public Sring getServletName( )

三、request 对象
    request 对象包含所有请求的信息,如:请求的来源、标头、cookies和请求相关的参数值等等。
    request 对象实现javax.servlet.http.HttpServletRequest接口的,所提供的方法可以将它分为四大类:
    1.储存和取得属性方法;
        void setAttribute(String name, Object value)    设定name属性的值为value
        Enumeration getAttributeNamesInScope(int scope)    取得所有scope 范围的属性
        Object getAttribute(String name)                取得name 属性的值
        void removeAttribute(String name)                移除name 属性的值
    2.取得请求参数的方法
        String getParameter(String name)                取得name 的参数值
        Enumeration getParameterNames( )                取得所有的参数名称
        String [] getParameterValues(String name)         取得所有name 的参数值
        Map getParameterMap( )                             取得一个要求参数的Map
    3.能够取得请求HTTP 标头的方法
        String getHeader(String name)                     取得name 的标头
        Enumeration getHeaderNames()                     取得所有的标头名称
        Enumeration getHeaders(String name)             取得所有name 的标头
        int getIntHeader(String name)                     取得整数类型name 的标头
        long getDateHeader(String name)                 取得日期类型name 的标头
        Cookie [] getCookies( )                         取得与请求有关的cookies
    4.其他的方法
        String getContextPath( )                         取得Context 路径(即站台名称)
        String getMethod( )                             取得HTTP 的方法(GET、POST)
        String getProtocol( )                             取得使用的协议 (HTTP/1.1、HTTP/1.0 )
        String getQueryString( )                        取得请求的参数字符串,不过,HTTP的方法必须为GET
        String getRequestedSessionId( )                 取得用户端的Session ID
        String getRequestURI( )                            取得请求的URL,但是不包括请求的参数字符串
        String getRemoteAddr( )                            取得用户的IP 地址
        String getRemoteHost( )                            取得用户的主机名称
        int getRemotePort( )                            取得用户的主机端口
        String getRemoteUser( )                         取得用户的名称
        void etCharacterEncoding(String    encoding)        设定编码格式,用来解决窗体传递中文的问题

四、response 对象
    response 对象主要将JSP 处理数据后的结果传回到客户端。
    response 对象是实现javax.servlet.http.HttpServletResponse 接口。response对象所提供的方法。
    1.设定表头的方法
        void addCookie(Cookie cookie)                     新增cookie
        void addDateHeader(String name, long date)        新增long类型的值到name标头
        void addHeader(String name, String value)        新增String类型的值到name标头
        void addIntHeader(String name, int value)         新增int类型的值到name标头
        void setDateHeader(String name, long date)        指定long类型的值到name标头
        void setHeader(String name, String value)        指定String类型的值到name标头
        void setIntHeader(String name, int value)         指定int类型的值到name标头
    2.设定响应状态码的方法
        void sendError(int sc)                             传送状态码(status code)
        void sendError(int sc, String msg)                传送状态码和错误信息
        void setStatus(int sc)                             设定状态码
    3.用来URL 重写(rewriting)的方法   
        String encodeRedirectURL(String    url)            对使用sendRedirect( )方法的URL予以编码

五、out 对象
    out 对象能把结果输出到网页上。
    out主要是用来控制管理输出的缓冲区(buffer)和输出流(output stream)。
        void clear( )                                     清除输出缓冲区的内容
        void clearBuffer( )                             清除输出缓冲区的内容
        void close( )                                     关闭输出流,清除所有的内容
        int getBufferSize( )                             取得目前缓冲区的大小(KB)
        int getRemaining( )                             取得目前使用后还剩下的缓冲区大小(KB)
        boolean isAutoFlush( )                            回传true表示缓冲区满时会自动清除;false表示不会自动清除并且产生异常处理
        
 六、session 对象
    session对象表示目前个别用户的会话(session)状况。
    session对象实现javax.servlet.http.HttpSession接口,HttpSession接口所提供的方法
        long getCreationTime()                            取得session产生的时间,单位是毫秒
        String getId()                                     取得session 的ID
        long getLastAccessedTime()                        取得用户最后通过这个session送出请求的时间
        long getMaxInactiveInterval()                    取得最大session不活动的时间,若超过这时间,session 将会失效
        void invalidate()                                取消session 对象,并将对象存放的内容完全抛弃
        boolean isNew()                                    判断session 是否为"新"的
        void setMaxInactiveInterval(int    interval)        设定最大session不活动的时间,若超过这时间,session 将会失效

七、application对象
    application对象最常被使用在存取环境的信息。
    因为环境的信息通常都储存在ServletContext中,所以常利用application对象来存取ServletContext中的信息。
    application 对象实现javax.servlet.ServletContext 接口,ServletContext接口容器所提供的方法
        int getMajorVersion( )                             取得Container主要的Servlet API版本
        int getMinorVersion( )                             取得Container次要的Servlet API 版本
        String getServerInfo( )                         取得Container的名称和版本
        String getMimeType(String file)                 取得指定文件的MIME 类型
        ServletContext getContext(String uripath)        取得指定Local URL的Application context
        String getRealPath(String path)                 取得本地端path的绝对路径
        void log(String message)                         将信息写入log文件中
        void log(String message, Throwable throwable)    将stack trace 所产生的异常信息写入log文件中

  八、pageContext对象
    pageContext对象能够存取其他隐含对象。
    1.pageContext对象存取其他隐含对象属性的方法,此时需要指定范围的参数。
        Object getAttribute(String name, int scope)
        Enumeration getAttributeNamesInScope(int scope)
        void removeAttribute(String name, int scope)
        void setAttribute(String name, Object value, int scope)
    范围参数有四个,分别代表四种范围:PAGE_SCOPE、REQUEST_SCOPE、SESSION_SCOPE、APPLICATION_SCOPE
    2.PageContext对象取得其他隐含对象的方法
        Exception getException( )                        回传目前网页的异常,不过此网页要为error page,
        JspWriter getOut( )                             回传目前网页的输出流,例如:out
        Object getPage( )                                回传目前网页的Servlet 实体(instance),例如:page
        ServletRequest getRequest( )                    回传目前网页的请求,例如:request
        ServletResponse getResponse( )                    回传目前网页的响应,例如:response
        ServletConfig getServletConfig( )                回传目前此网页的ServletConfig 对象,例如:config
        ServletContext getServletContext( )                回传目前此网页的执行环境(context),例如:application
        HttpSession getSession( )                        回传和目前网页有联系的会话(session),例如:session
    3.PageContext对象提供取得属性的方法
        Object getAttribute(String name, int scope)        回传name 属性,范围为scope的属性对象,回传类型为Object
        Enumeration getAttributeNamesInScope(int scope)    回传所有属性范围为scope 的属性名称,回传类型为Enumeration
        int getAttributesScope(String name)             回传属性名称为name 的属性范围
        void removeAttribute(String name)                 移除属性名称为name 的属性对象
        void removeAttribute(String name, int scope)    移除属性名称为name,范围为scope 的属性对象
        void setAttribute(String name, Object value, int scope)        指定属性对象的名称为name、值为value、范围为scope
        Object findAttribute(String name)                寻找在所有范围中属性名称为name 的属性对象

    九、exception对象
    若要使用exception 对象时,必须在page 指令中设定。<%@ page isErrorPage="true" %>才能使用。
    exception提供的三个方法:
        getMessage( )
        getLocalizedMessage( )、
        printStackTrace(new java.io.PrintWriter(out))

 

 

EL表达式中的11个隐含对象

pageContext, pageScope, requestScope, sessionScope, applicationScope, param, paramValues, header, headerValues, cookies, initParam

这里的数据都是以map方式存放的,获取可用如:param.name, header.User_Agent, cookie.userinfo得到相应的数据。

${requestScope.origin_uri} 获取当前URI

与输入有关的隐含对象有两个:param和paramValues,它们是EL中比较特别的隐含对象。
例如我们要取得用户的请求参数时,可以利用下列方法:
      request.getParameter(String name)
      request.getParameterValues(String name)
在EL中则可以使用param和paramValues两者来取得数据。
      ${param.name}
      ${paramValues.name}

 

 JSP的6个基本动作:

jsp:include         在页面被请求的时候引入一个文件

jsp:forward        把请求转到一个新的页面

jsp:plugin          根据浏览器类型为java插件生成object或embed标记

jsp:useBean     寻找或实例化一个JavaBean

jsp:getProperty    输出JavaBean的某个属性

jsp:setProperty     设置JavaBean的某个属性

分享到:
评论

相关推荐

    java中JSP和el表达式的隐含对象

    ### Java中JSP和EL表达式的隐含对象详解 在Java Web开发中,JSP(Java Server Pages)作为一种常用的技术被广泛应用于构建动态网页。它允许开发者将HTML、JavaScript等静态网页元素与动态生成的内容混合在一起。在...

    jsp页面中EL表达式被当成字符串处理不显示值问题的解决方法

    但同时,了解EL表达式的另一个新特性也很重要,那就是它作为JSP 2.0中的一个主要新特性,为JSP页面提供了表达语言支持,让访问JSP隐含对象和JavaBeans组件变得更为简单和方便。JSTL(JavaServer Pages Standard Tag ...

    JSP EL隐含对象

    EL隐含对象是JSP EL提供的一组预定义变量,无需显式声明即可直接在EL表达式中使用,极大地提高了开发效率。 1. **pageContext对象** pageContext对象提供了对JSP页面所有作用域的访问,包括page、request、session...

    el表达式教程,教你学会使用el表达式

    EL 表达式的基本语法结构为 `${expression}`,其中 `expression` 是一个 EL 表达式。EL 提供了两种运算符来存取数据:`.` 和 `[]`。`.`运算符用于访问对象的属性,而 `[]` 运算符用于访问对象的属性,其中属性名称中...

    JAVA JSP页面技术之EL表达式整理归纳总结

    EL表达式,全称Expression Language(表达式语言),是一种在JSP(Java Server Pages)技术中使用到的,用于简化Java Web应用程序中数据获取的轻量级语言。EL的主要作用包括访问Web应用程序中的各种对象,如JavaBean...

    EL表达式使用详解

    EL表达式(Expression Language),是一种用于Java Web开发中方便数据存取的表达式语言,最初作为JSP标准标签库(JSTL)的一部分,是JSTL 1.0为了方便存取数据而自定义的语言。EL允许开发者在JSP页面中通过简洁的...

    EL表达式详解教程

    EL也有一组隐含对象,它们可以在EL表达式中直接使用,无需预先定义。EL隐含对象共有11个,其中与范围相关的四个隐含对象是:`pageScope`、`requestScope`、`sessionScope`和`applicationScope`。这些对象主要用于...

    EL表达式详解

    EL表达式极大地简化了JSP页面的开发过程,通过简单的语法和丰富的隐含对象,使得开发者可以更加专注于业务逻辑的实现,而不是页面的布局和样式。了解并熟练掌握EL表达式的使用方法对于提升Web开发效率具有重要意义。

    EL表达式详解教程.

    一个基本的EL表达式如`${sessionScope.user.sex}`,表示从Session作用域中获取名为"user"的对象,然后访问其"sex"属性,即获取用户性别。相比传统的JSP脚本标签,EL使得代码更简洁,减少了解析和类型转换的步骤。 ...

    EL表达式(转)

    - **隐式对象**:EL 表达式中的第一个命名变量可以是一个隐式对象。隐式对象是 JSP 容器自动提供的对象,例如 `pageContext`。 - **作用域属性**:也可以是从页面作用域、请求作用域、会话作用域或应用作用域中获取...

    EL表达式(很全很强大)

    通过以上介绍可以看出,EL表达式是一个非常强大的工具,它简化了数据的访问过程,并且能够灵活地处理多种情况,是现代Web开发中不可或缺的一部分。正确理解和使用EL表达式可以极大地提高开发效率,减少代码量,同时...

    EL表达式基础学习

    在使用EL表达式时,JSP提供了11个隐含对象,这些对象不需要显式声明就可以直接使用。这些隐含对象可以分为三类: 1. 与范围有关的隐含对象:包括applicationScope、sessionScope、requestScope和pageScope。这些...

    el表达式的相关介绍

    EL表达式是JSP开发中不可或缺的一部分,它提高了代码的可读性和可维护性,减少了Java代码的使用,使得开发者可以更专注于业务逻辑而不是数据获取。通过熟练掌握EL表达式,可以更高效地构建动态Web应用程序。

    关于EL表达式语言的简单总结

    EL表达式语言是JSP开发中不可或缺的一部分,它极大地简化了页面数据的处理过程。通过理解EL的基本语法及其与JSTL的结合使用,开发者可以更加高效地进行Web应用开发。希望本文能帮助大家更好地掌握EL表达式的使用技巧...

    EL 表达式 总结 概括

    EL表达式通常以`${}`包裹,其设计目标是让开发者能够更加方便地访问和操作存储在不同作用域中的Java对象。 1. **EL语法结构** EL表达式的标准格式是`${expression}`,其中`expression`是一个用来检索数据的表达式...

    EL表达式详细解析,包含了大部分常用方法

    EL表达式是Java服务器页面(JSP)中的一种简洁的表达式语言,用于简化页面中的数据访问和逻辑操作。它允许开发者在JSP中以简洁的方式获取和操作数据,避免了过多的Java脚本代码,提升了代码的可读性和维护性。 1. ...

    el表达式详解

    EL表达式还定义了一系列隐含对象,这些对象可以帮助开发者快速访问各种JSP环境中的数据。 - **隐含对象列表**: - `applicationScope`: 应用程序范围内的scoped变量组成的集合。 - `cookie`: 所有cookie组成的集合...

    EL表达式 (详解)

    - **语法结构**:EL表达式的基本语法结构是`${expression}`,其中`expression`表示一个合法的表达式。 - **运算符**:EL支持两种运算符来访问数据:`.`和`[]`。这两种运算符的主要区别在于当属性名中包含一些特殊...

    j2ee必备-EL表达式详解教程

    EL表达式是JSP 2.0及后续版本中引入的一种强大的页面表现层语言,它的主要目标是替代传统的JSP Scriptlet,使页面更加清晰、简洁。在这篇"EL表达式详解教程--j2ee必备的页面取数据语言EL表达式详解教程"中,我们将...

Global site tag (gtag.js) - Google Analytics