JSP

作者: 橙味菌 | 来源:发表于2019-10-04 19:13 被阅读0次

JSP

JSP(JAVA Server Page),本质上是Servlet

执行流程

  1. 浏览器发送对jsp页面的请求
  2. 服务端在接收到对.JSP的请求时,会将jsp翻译成Servlet(这个Servlet会根据JSP的内容添加response的pageConetext)

语法

使用JSP标签:用来替换jsp中的Java代码的技术规范,jsp标签语法类似于HTML(有属性,有开始标记,结束标记,有标签体)

  • 指令 <%@指令名%> 有编译指令和动作指令之分

    指令类型 作用 指令
    编译指令 page
    引入另一页面 include
    引入自定义JSP标签 taglib
    动作指令 转发 forward
    下载服务端JavaBean/Applet到客户端执行 plugin
    设置参数 param
    useBean
    Property
    getProperty

  • **声明 **<%!声明%>转化成Servlet时替换为声明局部变量

  • 代码 <%代码段%> 转化成可执行代码,不能定义方法

  • **输出 **<%=表达式%>

  • 注释 \

内置对象

对象 作用域
application(ServletContext) 整个Web应用
config(ServletConfig) 整个Web应用
session (HttpSession) 一次会话
request(HttpServletRequest) 整个请求链
response 一次响应
pageContext(PageContext) 整个JSP页面
page 整个JSP页面
out -——
exception ——

自定义JSP标签

  1. 编写处理类 重写SimpleTagSupport
  2. 编写TLD标签库文件
  3. JSP页面使用<taglib>
  4. 修改web配置

EL表达式

EL(Expression Language)表达式是一套简单的运算规则,用于给jsp标签的属性赋值。也可以脱离jsp标签直接使用

内置对象:

类别 对象 描述
JSP pageContext PageContext 实例对应于当前页面的处理<br />如:当前jsp所在路径pageContext.request.contextPath
作用域 pageScope 页面作用域属性的的 Map 对象
requestScope 请求作用域属性的 Map 对象
sessionScope 会话作用域属性的 Map 对象
applicationScope 应用程序作用域属性的 Map 对象
请求参数 param 请求参数的主要值的 Map 对象
paramValues 请求参数的所有值的 Map 对象
请求头 header 请求头的主要值的 Map 对象
headerValues 请求头的所有值的 Map 对象
Cookie cookie 请求附带的 cookie 的 Map 对象
初始化参数 initParam Web 应用程序上下文初始化参数的 Map 对象

语法

想要获取的数据 语法 实例
对象 ${对象名} ${username}
对象的成员 ${对象名.成员名} ${news.tile}
对象的方法 ${对象名.方法名}

JSTL标签库

JSP标签集合,封装了JSP应用的通用功能

JSTL标签按功能分为五大类:核心、格式化、SQL、XML、函数

核心标签

库 c.tld

常用标签

  • 在JSP页面输出

    <c:out value="输出" default="默认值" escapeXml="是否忽略XML特殊字符<true|false>"/>

  • if表达式-判断test将结果存入作用域,如果是true执行标签内容

    <c:if test="<boolean>条件" var="<string>存储结果的变量名" scope="<string>var的作用域,默认page">
       ...
    </c:if>
    
  • 选择分支(类似Switch)

    <c:choose>
        <c:when test="<boolean>">
            ...
        </c:when>
        <c:when test="<boolean>">
            ...
        </c:when>
        ...
        ...
        <c:otherwise>
            ...
        </c:otherwise>
    </c:choose>
    
  • 集合的forEach循环

    <c:forEach
        items="""<object>被循环的集合"
        begin="<int>开始元素"
        end="<int>"
        step="<int>每次循环的步长"
        var="<string>存放当前循环到的元素的变量名"
        varStatus="<string>存放循环状态的变量名">
    
  • 字符串分割循环

    <c:forTokens
        items="<string>字符串"
        delims="<string>分隔符"
        begin="<int>"
        end="<int>"
        step="<int>"
        var="<string>"
        varStatus="<string>">
    
  • try catch块-捕捉错误并将错误存放在page作用域

    <c:catch var="<string>错误名">
    ...
    </c:catch>
    
  • 保存数据和移除数据

    <c:set
       var="<string>变量名"
       value="<string>变量值"
       target="<string>"
       property="<string>"
       scope="<string>存放作用域"/>
    <c:remove 
        var = ""
        scope = ""/>
    
  • 创建url

    <c:url
      var="<string>"
      scope="<string>"
      value="<string>"
      context="<string>">
        <c:param name="<string>" value="<string>"/>
    <c:url/>
    
  • 获取一个URL的内容

    <c:import
       url="<string>"
       var="<string>"
       scope="<string>"
       varReader="<string>"
       context="<string>"
       charEncoding="<string>"/>
    
  • 页面重定向

    <c:redirect url="<string>" context="<string>本地网络应用程序名"/>
    

格式化标签

SQL标签

XML标签

JSTL函数

相关文章

  • java基础-day43-JSP

    JSP 1. JSP 1.1 JSP概述 1.2 为什么要用JSP 1.3 JSP语法 1.3.1 JSP语法格式...

  • jsp学习 EL JSTL C标签

    JSP 第一个JSP程序 JSP对比servlet JSP中java脚本元素 JSP原理 JSP的翻译规则 JSP...

  • JSP基础学习笔记(3)--JavaBean

    JSP动作标签:

  • 用session对象实现用户登录

    index.jsp deal.jsp main.jsp exit.jsp

  • JavaWeb之JSP

    八、JSP 目录:什么是JSP、JSP原理、JSP基础语法、JSP指令、9大内置对象、JSP标签 JSTL标签 E...

  • jsp语法

    Jsp语法包含:注释、jsp指令、jsp脚本元素、jsp动作元素。 Jsp注释: Htm...

  • jsp

    jsp介绍 jsp语法 jsp指令 EL表达式 自定义标签 jsp指令 - page jsp指令 - includ...

  • JSP入门

    JSP的基本语法:1.JSP声明语法。2、JSP程序脚本。3、JSP脚本注释。4、JSP内容输出表达式。5、JSP...

  • jsp的内置标签

    jsp:forward 重定向标签

  • Java面试问题

    1、JSP: jsp和servlet的区别 jsp本质就是Servlet,jsp的工作原理是:JSP页面在执行的时...

网友评论

      本文标题:JSP

      本文链接:https://www.haomeiwen.com/subject/qgyspctx.html