JSP笔记(二)

来源:互联网 发布:js ajax post请求 编辑:程序博客网 时间:2024/05/22 01:42

1、JSP 页面的基本结构

在传统的HTML页面文件中加入java程序片和JSP标签就构成了一个JSP页面文件。
一个JSP 页面可由5种元素组合而成:
(1)普通的HTML 标记符。
(2)JSP 标签:如,指令标签、动作标签。
(3)变量和方法的声明。
(4)Java 程序片。
(5)Java 表达式。
我们称(3)、(4)、(5)形成的部分为JSP 的脚本部分。

2、声明变量

在“<%!”和“%>”标记符之间声明变量,即在“<%!”和“%>”之间放置Java的变量声明语句,变量的类型可以是Java 语言允许的任何数据类型,我们将这些变量称为JSP 页面的成员变量.“<%!”和“%>”之间声明的变量在整个JSP 页面内都有效,因为JSP 引擎将JSP页面转译成Java 文件时,将这些变量作为类的成员变量。这些变量的内存空间直到服务器关闭才释放。当多个客户请求一个JSP 页面时,JSP 引擎为每个客户启动一个线程,这些线程由JSP 引擎服务器来管理,这些线程共享JSP 页面的成员变量,因此任何一个用户对JSP 页面成员变量操作的结果,都会影响到其他用户。

在Java 语言中我们已经知道,在处理线程同步时,可以将线程共享的变量放入一个synchronized 块,或将修改该变量的方法用synchronized 来修饰。这样,当一个客户用synchronized 块或synchronized 方法操作一个共享变量时,其它线程就必须等待,直到该线程执行完该方法或同步块。

3、声明方法

在“<%!”和“%>”之间声明方法,该方法在整个JSP 页面有效,但是该方法内定义的变量只在该方法内有效。这些方法将在Java 程序片中被调用,当方法被调用时,方法内定义的变量被分配内存,调用完毕即可释放所占的内存。当多个客户同时请求一个JSP页面时,他们可能使用方法操作成员变量,对这种情况应给予注意。