zoukankan      html  css  js  c++  java
  • 3.JSP

        JSP(Java Server Pages)页面是指扩展名为.jsp的文件,在一个JSP中可以包含指令标识,HTML代码,
    JavaScript代码,嵌入的Java代码,注释和JSP动作标识等内容。

     

    1.指令标识

        指令标识主要用于设定整个JSP页面范围内都有效的相关信息,它是被服务器解释执行,不会产生任何内容输出到网页中,也就是说指令标识对客户端浏览器不可见。
        语法格式:<%@ 指令名:page/include/taglib 属性:"属性值"%>

    page指令

      用于设置页面相关属性

            1.langua属性用于设置JSP所用的语言
         <%@ page language="java"%>
            2.extends属性用于JSP继承的Java类,不常用,可能影响服务器性能优化
            3.import属性用于导入Java包
              <%@ page import="java.util.*"%>
            4.pageEncoding属性用于定义页面的编码格式
              <%@ page pageEncoding="GBK/UTF-8/IOS-8859-1(不支持中文)/GB18030"%>
            5.contentType属性用于设置MIME类型和字符编码,浏览器会根据此显示网页内容
              <%@ page contentType="text/html;charset=UTF-8"%>
            6.session属性指定是否使用HTTP的session会话对象,默认值为true
              <%@ page session="true/false"%>
            7.buffer属性用于设置JSP的out输出对象使用的缓冲区大小,默认8KB,建议8的倍数
              <%@ page buffer="128KB"%>
            8.autoFlush属性用于设置页码缓存满时,是否自动刷新缓存,默认是true
              <%@ page autoFlush="false/true"%>
            9.isErrorPage属性可以将当前页面设置成错误处理页面
              <%@ page isErrorPage="true"%>
            10.errorPage属性指定若当前页面出现错误的实际响应页面是什么
              <%@ page errorPage="url"%>
        include指令:文件包含指令
            静态包含,被包含的文件所有内容被原样包含到该JSP页面中
              <%@ inlcude file="path"%>
        taglib指令:声明所使用的标签库,并指定标签的前缀
              <%@ taglib prefix="tagPrefix" uri="tagURL"%>
            prefix用于指定标签的前缀   uri用于指定标签库文件的位置

    2.脚本标识

        1.Jsp表达式:用于向页面输出信息
        <%= 表达式%>         “<%” 和 “=” 之间不能有空格                   %>
              <% String url="2348.jpg";%>
              <img src="images/<%=url%>>">
        2.声明标识:用于定义全局变量或方法
          <%! 声明变量或方法%>
          <%! int number=0;
              int count(){
                  number++;
                  return number;
              }
          %>
          <%= count() %>
        每次刷新页面都会输出前一次值+1
        3.代码片段
          <% java或脚本代码 %>
              <%
                  String str="";
                  for(int i = 1; i <= 9; i++){
                      for(int j = 1; j <= i; j++){
                          str += j + "*" + i + "=" + i*j;
                          str += "&nbsp;";
                      }
                      str += "<br>";
                  }
              %>
             <%=str %>
        注意:通过声明标识创建的变量和方法在当前JSP页面有效,它的生命周期是从创建开始到服务器关闭结束;
        代码片段创建的变量和方法,也是在当前页面中有效,但它的生命周期是页面关闭后就会被销毁。

    4.JSP注释

        1.HTML注释  //注释文本
        2.带有JSP表达式的注释    
          <% 
              //单行注释内容
              /*多行注释*/ 
          %>
        3.提示文档注释(被Javadoc文档工具生成文档时读取,文档是对代码结果和功能的描述)
          <%
              /** 内容 */
          %>
        4.隐藏注释(查看HTML源代码看不见)
            <%-- 注释内容 --%>

    5.动作标识

        1.<jsp:include> 包含文件标识
            a.用于向当前页面中包含其他的文件。
            b.语法格式:
                1.  <jsp:include page="url" flush="false/true" />
                2.  <jsp:include page="url" flush="false/true">
                        <jsp:param/>
                    </jsp:include>
                    page:指定被包含文件的位置
                    flush(可选):如果设置为true,在当前页面输出使用了缓冲区的情况下,先刷新缓冲区,再
                执行包含工作
            
            c.说明:<jsp:include>标识对包含的动态文件和静态文件的处理方式是不同的。如果被包含的是静态文件,
            则在页面执行后,在使用了该标识的位置会输出这个文件的内容。如果包含的是动态文件,那么JSP编译器
            将编译并执行这个文件。<jsp:include>标识会识别出文件的类型,而不是通过文件的名称来判断该文件是
            静态还是动态的。
            d.技巧:
                在包含文件时,为保证整个页面的层次结构不发生冲突,建议在被包含文件中删去<html>,<body>等
            标记。
                如果要在JSP页面显示大量的纯文本,可以将这些文本文字写入静态文件(如记事本)中,然后通过
                include指令或动作标记包含到该JSP页面,可使页面更整洁。
            e.include指令与<jsp:include>动作标识的区别:
                1.include指令通过file属性指定被包含文件,并且file属性不支持任何表达式;而<jsp:include>
            通过page属性指定,并且支持JSP表达式。
                2.使用include指令时,被包含文件内容会被原封不动地插入到包含页中,然后JSP编译器再将合成后
            的文件最终编译成一个Java文件;使用<jsp:include>动作标识时,当该标识被执行时,程序会将请求转发
            (注意是转发,而不是请求重定向)到被包含的文件,并将执行结果输出到浏览器中,然后返回包含页,继
            续执行后面的代码。因为服务器执行的是多个文件,所有JSP编译器会分别对这些文件进行编译。
                3.在应用inlcude指令包含文件时,由于被包含的文件最终会生成一个文件,所以在被包含的文件、包
            含文件中不能有重名的变量和方法;而应用<jsp:include>动作标识包含文件时,由于每个文件是单独编译
            的,所以在被包含的文件、包含文件中重名的变量和方法不冲突。
        2.<jsp:forward> 请求转发标识
            通过<jsp:forward>动作标识可以将请求转发到其他Web资源(JSP、HTML、Servlet等)。执行请求后,当
        前页面不再被执行,转去执行该标识指定页面。
            语法格式:
            1.<jsp:forward page="url" />
            2.<jsp:forward page="url">
                <jsp:param>
              </jsp:forward>
            page:请求被转向的目标文件必须是内部资源,即当前应用中的资源。
        3.<jsp:param> 传递参数标识
            可以作为其他标识的子标识,用于为其他标识传递参数。
            语法格式:<jsp:param name="参数名" value="参数值" />
            说明:
                通过<jsp:param>指定的参数,将以“参数名=值”的形式加入请求中,功能与直接在文件名后面加
            “?参数名=值”是相同的。
     



  • 相关阅读:
    hutool 糊涂
    java 连接 Redis 工具
    生成6位验证码
    @FeignClient定义冲突解决
    Seate分布式事务解决方案
    算法——最小生成树的关键边和伪关键边
    《Kubernetes权威指南》读书笔记
    Docker——容器卷管理
    算法——课程表 II(有向图拓扑排序)
    Docker——网络
  • 原文地址:https://www.cnblogs.com/astonc/p/11670645.html
Copyright © 2011-2022 走看看