3.1 JSP文件的结构

在传统的网页HTML(*.htm、*.html)中加入Java程序片段,就构成了JSP网页(*.JSP)。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户端。

3.1.1 创建第一个JSP文件

以下是一段简单的JSP程序,其中包含了最基本的Java语法及重要的JSP网页结构。

【例3-1】第一个JSP程序(helloJSP.jsp)。

在浏览器中查看并刷新此网页,其结果如图3-1所示。

图3-1 helloJSP.jsp执行结果

这个实例的程序代码可以分为两个部分:HTML标签和Java程序代码。程序代码中符号<%…%>之间的内容,便是由Java程序片段所构建的JSP网页程序代码,剩下的则是HTML标签,第一行是JSP指令元素。

在JSP网页中撰写Java程序代码,必须放在<%…%>所包含的区域中,与HTML标签进行区分,如下面的代码:

     <%
     Java程序代码 …
     %>

<%…%>里的程序代码是JSP网页提供交互功能的程序模块,JSP网页服务器负责编译这些程序代码,并且将执行结果结合其中的HTML创建一份单纯的HTML网页,返回给客户端的浏览器进行显示。

原始JSP网页中<%…%>区域里的Java程序代码被编译,转换成纯粹的HTML标签文字,重新建立只包含HTML的网页内容,然后传送至前台,由浏览器进行最后的转换工作,并显示JSP网页执行后的结果。

3.1.2 分析JSP文件的组成元素

helloJSP.jsp网页实例的结构非常简单,本小节将继续针对程序内容进行解释。

(1)page指令。

     <%@ page contentType="text/html; charset=GBK" %>

这行代码为page指令,page是JSP指令元素的一种,在本章3.3.1节将为大家详细介绍该元素。

(2)批注。

     <%--这是声明一个变量 --%>
     <%/*这是声明一个方法*/%>
     <%// JSP程序代码%>

在程序执行的过程中,上述<%…%>区域里的批注内容都将被忽略。批注在程序中可有可无,然而为了程序日后便于维护,为程序加上良好的批注,是一个优秀的程序员必须养成的好习惯。

(3)数据输出。out对象进行指定字符串的输出。out是JSP中的默认对象,主要用来输出数据到客户端网页上。println则是out对象提供将字符串等数据输出网页的方法,接受一个特定类型的参数,并且将参数的内容输出到网页上;且其中每一行完整的程序语句,均必须以分号(;)作为结束。

     <%
     out.println("Hello JSP ");
     out.println("欢迎使用 JSP交互式动态网页!!");
     %>

下面的这行代码使用的是表达式,也是脚本元素的一部分,在表达式中调用count()方法,计算访问该页面的人数,并在页面上输出结果。

     <%= "您是第" + count() + "个客人!" %>

(4)声明。

这段代码表示的是声明,这里声明了一个公有的变量number,还声明了一个共有的方法count()。声明是脚本元素的一部分,在3.2节中将详细为读者介绍脚本元素。