2. 变量声明必须以”;”结尾。
3. 变量和方法的命名规则与Java中的变量和方法的命名规则相同。
4. 可以直接使用在<% @ page %>中被包含进来的已经声明的变量和方法,不需要对它们重新进行声明。
5. 一个声明仅在一个页面中有效。如果想每个页面都用到一些声明,最好把它们写成一个单独的文件,然后用<%@ include %>或元素包含进来。

下面是示范例子:

        <%-- 声明 --%>
        <%! double r; 
            double pi = Math.PI;
            double getArea(double a){
                return pi*a*a;
        <%-- 使用 --%>
        <%   r=100;
        out.println("调用getArea方法计算半径是"+r+"的园的面积:");
            double area=getArea(r);
            out.println(area);
JSP脚本即Scriptlet,也就是JSP中的代码部分,是一段Java代码。
    脚本中定义的变量称为JSP页面的局部变量,必须在Java代码段前声明。
    脚本定义的变量和方法在在后继的页面内有效,当变量所在页面关闭该变量就会被销毁。

下面是示范例子:

String str = "你好,我是你的好朋友戴益波" ; for ( int i = 0 ; i< 10 ; i++){ out.print(i + "---------------------" + str + "\n" );

JSP的指令

page 指令

page 指令用来定义JSP文件中的全局属性,它描述了与页面相关的一些信息,其作用域为它所在的JSP文件页面和其包含的文件。

**语法格式:**
可以用一个page指令指定多个属性的值 ,也可以使用多个page指令分别为每个属性指定值 。如果为一个属性指定几个值,这些值之间用逗号隔开。
    <%@ page   属性1=“属性1的值”  属性2= “属性2的值”  ……%> 
        <%@ page   属性1="属性1的值"  %>
        <%@ page   属性2="属性2的值"  %>
       <%@ page   属性n=“属性n的值”  %> 
       <%@ page   import=“java.util.*”, “java.io.*” %>

page 指令的语法格式如下:

  • [ language=“java” ] 使用的脚本语言,可不写(系统默认)
  • [ extends=“package.class” ] 指明编译时要导入Java类名
  • [ import=“{package.class | package. }, …” ] 导入的Java包,可多个,中间用逗号隔开。 默认import属性已有如下值:java.lang. , lavax.servlet. ,javax.servlet.jsp. , javax.servlet.http.*
  • [ session=“true | false” ] 是否使用内置session对象
  • [ buffer=“none | 8kb | sizekb” ]指定内置的out对象(负责把结果发送到客户端)缓冲区大小
  • [ autoFlush=“true | false” ] 指定out缓冲区填满时,缓冲区是否自动刷新
  • [ isThreadSafe=“true | false” ] 设置JSP页面是否允许多线程访问。设置后多线程轮转执行
  • [ info=“text” ] 定义JSP页面信息,保存在字符串info中,供Servlet.getServletInfo()获取使用
  • [ errorPage=“relativeURL” ] 出现错误时转向的页面文件
  • [ isErrorPage=“true | false” ] 设置此页面是否为ErrorPage的目标页,如果是,可以用exception对象
  • [ contentType=“mimeType” ;charset=”characterSet” ]

    下面为详细介绍

  •         设置页面文件类型和字符编码
            默认: <%@ page contentType="text/html;charset=ISO-8859-1" %>
            常规:<%@ page contentType="text/html;charset=UTF-8" %>  
            其它:text/plain、image/gif(或x-xbitmap、jpeg、pjpeg)、    
                        application/msword(vnd.ms-excel、vnd.ms-powerpoint、x-shockwave-flash)等。 

    工作原理:
    设置上述属性,Tomcat服务器告知用户的浏览器使用怎样的方式来处理接收到的信息。

    < meta http-equiv = "Content-Type" content = "text/html; charset=UTF-8" > < title > JSP Page </ title > </ head > < h1 > Hello World! </ h1 > </ body > </ html >

    taglib指令

    taglib指令用来指定页面中使用的标签库以及其自定义标签的前缀。

    taglib语法格式为:
        <%@taglib uri=" tagLibraryURI" prefix=" tagPrefix" %>
            uri属性:制定标签库相对路径
    【功能说明】uri(Uniform Resource Identifier,统一资源标识符)属性用于指定标记库的存放位置,并告诉JSP引擎在编译JSP程序时如何处理指定标签库中的标签,无默认值。uri属性可以是在TLD (标记库描述符)文件或web.xml文件中定义的标记库的符号名,也可以是TLD文件或JAR文件的相对路径。 
            prefix属性:制定标记前缀
    【功能说明】prefix属性用于指定标记库中所有动作元素名中使用的前缀,无默认值。

    下面是示范例子:

    <%@page contentType="text/html" pageEncoding="UTF-8"%>
    <%-- http://java.sun.com/jsp/jstl/core 为java标准标签库 --%>
    <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
         <head><title>taglib指令实例演示</title></head>
             <h2>taglib指令实例演示!</h2>
             <h2><c:out value="欢迎使用JSTL" /></h2>
         </body>
    </html>