从零开始学Java Web开发
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

4.2 JSP页面的基本结构

JSP页面是在由HTML创建的传统的静态网页文件中加入Java程序片断(Scriptlet)以及JSP标记构建而成的。因此,可以将JSP页面中的代码笼统地分为静态代码和动态代码,需要JSP服务器编译的称为动态代码,不需要编译的则称为静态代码。

【实例4-1】典型的JSP页面。该页面用来显示浏览器和服务器的时间。

    01  <%@ page language="java" contentType="text/html;charset=GBK"%>
    02  <%@ page import="java.util.*"%>
    03  <!-- 一个完整的JSP程序 -->
    04  <html>
    05  <head>
    06  <title>一个典型的JSP页面</title>
    07  </head>
    08  <SCRIPT LANGUAGE="JavaScript">
    09  //前台脚本代码(JavaScript)显示当前系统时间
    10      var dnow = new Date();
    11      dhours = dnow.getHours();
    12      dminutes = dnow.getMinutes();
    13      dseconds = dnow.getSeconds();
    14      document.write("<br>浏览器时间:" + dhours + ":" + dminutes + ":" + dseconds);
    15  </SCRIPT>
    16  <%
    17  //后台脚本代码(JSP)显示当前系统时间
    18      Date dnow=new Date();
    19      int dhours=dnow.getHours();
    20      int dminutes=dnow.getMinutes();
    21      int dseconds=dnow.getSeconds();
    22  out.print("服务器时间:" + dhours + ":" + dminutes + ":" + dseconds);
    23  %>
    24  </html>

【代码说明】在实例4-1定义的页面中,第1~2行是JSP中的编译指令,属于动态代码。第1行的代码设置了页面返回类型和字符编码,表示该JSP页面输出字符将按照GB2312编码规范进行显示,第2行代码在程序中引入了Java核心包util。第4~15行是静态代码,包括HTML代码和JavaScript代码。第16~23行是Java程序片断,这也是属于动态代码。从页面的代码结构可以看到,JSP页面中除了比普通的HTML页面多一些Java代码外,两者大体上具有基本相同的结构。

【运行结果】该页面运行结果如图4.30所示。

图4.30 显示浏览器和服务器的时间

说明

该页面利用动态代码(Java程序片断)和静态代码(JavaScript)显示当前系统时间,其区别是静态代码不需要经过编译,但动态代码需要经过引擎编译后,向客户端返回生成的HTML页面。