zoukankan      html  css  js  c++  java
  • [JavaWeb] JSP

    一.JSP九大内置对象

      JSP一共预定了9个这样的对象:

        request 请求

        response 响应

        session 会话

        application 功能

        out 输出

        pagecontext 页面容器

        config 配置

        page 页面

        exception 异常

        上述对象中 前三个与java都一致

        application 的对象为 javax.servlet.ServletContext

        out 为输出流 的对象为 javax.servlet.jsp.jspWriter

        pageContext 的对象为 javax.servlet.jsp.PageContext

        page 这是个能取在JSP页面内所有参数的一个对象

        page代表的就是JSP本身,其在JSP页面内才算是合法的,类似于Java中的this

        config 的对象为 javax.servlet.ServletConfig

          和Java相同 但其可以通过pageContext的getServletConfig()方法获取一个config对象

          开发者可以通过在xml的配置文件中对这个config的参数进行初始化

        cookie 和java一致

          都是服务器发送给用户硬盘的一段文本 用来保存一些数据

          Cookie cookie = new Cookie(username,"john")

          和java一样 使用响应对象将其发送给用户浏览器

        exception 异常 只有在包含了isErrorPage = "true"的页面中才可以使用这一对象

    二.JSP 七大动作和三大指令

      动作:

        jsp:include 包含文件

        jsp:userBean 初始化Bean

        jsp:getProperty 获得Bean参数

        jsp:setProperty 设置Bean参数

        jsp:forward 转发

        jsp:plugin 插件

        jsp:param 转发参数

      指令:

        include

        page

        taglib

      <jsp:include page = > 和 <%@include file = %> 的区别

        发生时间: 请求期间 页面跳转期间

        包含的内容 页面的输出 文件的实际内容

        转换为servlet 每个都转换为一个servlet 一起成为同一个servlet

        编译时间 快 慢 每次资源都需要被解析

        执行时间 慢 每次资源都需要被解析 快

    三.el表达式

      el表达式 ${} 11个内置对象:

        pageScope:获取pageContext域属性,相当于pageContext.getAttribute("xxx")

        requestScope:获取request域属性,相当于request.getAttribute("xxx")

        sessionScope:获取session域属性,相当于session.getAttribute("xxx")

        applicationScope:获取application域属性,相当于application.getAttribute("xxx")

        param:对应参数,它是一个Map,其中key是参数,value是参数值,适用于单值的参数,相当于request.getParameter("xxx")

        paramValues:对应参数,她是一个Map,其中key是参数,value是多个参数值,适用于多值的参数,相当于request.getParameterValues("xxx")

        header:对应请求头,它是一个Map,其中key表示头名称,value是单个头值,适用于单值的请求头,相当于request.getHeader("xxx")

        headerValues:对应请求头,它是一个Map,其中key表示头名称,value是多个头值,适用于多值的请求头,相当于request.getHeaders("xxx")

        initParam:获取web.xml中<context-param>内的参数,${ initParam.xxx},xxx就是<param-name>标签内的值,进而得到<param-value>中的值

        cookie:用于获取cookie,Map<String,Cookie>,其中key是cookie的name,value是cookie对象,例如${cookie.JSESSIONID.value }就是获取sessionId

        pageContext:可以获取JSP九大内置对象,相当于使用该对象调用getxxx()方法,例如pageContext.getRequest()可以写为${pageContext.request)

        EL表达式在获取Map的值或Bean的属性值是,可以使用“点”的方法,也可以使用“下标”的方法。

        ${initParam.a}与${initParam['a']},它们是完成的东西相同的。但是,如果Map的键或Bean的属性名中包含下划线或横岗时,那么就必须使用“下标”方法,例如:${initParam['a_a']}

      el标签:

        

    <c:out> 用于在JSP中显示数据,就像<%= ... >
    <c:set> 用于保存数据
    <c:remove> 用于删除数据
    <c:catch> 用来处理产生错误的异常状况,并且将错误信息储存起来
    <c:if> 与我们在一般程序中用的if一样
    <c:choose> 本身只当做<c:when>和<c:otherwise>的父标签
    <c:when> <c:choose>的子标签,用来判断条件是否成立
    <c:otherwise> <c:choose>的子标签,接在<c:when>标签后,当<c:when>标签判断为false时被执行
    <c:import> 检索一个绝对或相对 URL,然后将其内容暴露给页面
    <c:forEach> 基础迭代标签,接受多种集合类型
    <c:forTokens> 根据指定的分隔符来分隔内容并迭代输出
    <c:param> 用来给包含或重定向的页面传递参数
    <c:redirect> 重定向至一个新的URL.
    <c:url> 使用可选的查询参数来创造一个URL

        

  • 相关阅读:
    Osg-地图界面显示指北针(指南针)
    学习c# 7.0-7.3的ref、fixed特性并在Unity下测试
    Linux下使用FreeBSD的ee
    C++ 中 malloc/free与 new/delete区别
    CMake 手册详解
    go 从入门到了解
    LINQ:对结果进行分组(MSDN)
    LINQ: List Contains List
    C# 如何使用log4net
    控制台程序要最后加上一句 Environment.Exit(0);
  • 原文地址:https://www.cnblogs.com/Lzzycola/p/13618287.html
Copyright © 2011-2022 走看看