一、JSP概述
1、JSP(Java Server Pages) 是由Sun Microsystems公司倡导开发的以Java语言作为脚本语言,建立在Servlet规范提供的功能之上的动态网页技术,用来在网页上显示动态内容。由Java程序片断或JSP标记等构成JSP网页,页面后缀名为“.jsp”。
2、JSP技术的应用一次编写,就可以在任何具有符合Java语法结构的环境上运行。Sun通过开放源代码,使许多公司一起参与建立技术标准,JSP应用程序接口(API)毫无疑问已经取得成功,并将随Java组织不断开放扩大而继续完善。
3、JSP的成功取决于它自身的优点,主要包括:
(1)简便性和有效性
(2)程序的独立性
(3)程序的兼容性
(4)程序的可重用性
二、JSP页面的构成
JSP页面就是带有JSP元素的常规Web页面,它由静态内容和动态内容构成。
(静态内容(又称模板元素):指HTML元素
动态内容:指JSP元素,包括指令元素、脚本元素、动作元素、注释等内容。)
三、指令元素
1、指令元素主要用于为转换阶段提供JSP页面的相关信息,指令不会产生任何输出到当前的输出流中,它指定了有关页面本身的信息,这些信息在请求期间一直保持不变。
2、所有的JSP指令元素的作用范围为当前的JSP页面,即指令元素只影响当前的这个JSP页面,对其他JSP页面没有影响。
3、指令的语法如下:<%@ directive{attr="value"}* %>(在<和%之间,%和@之间不能有空格,%和>之间也不能有空格)
4、指令元素有三种:page、include和taglib
page指令
1、该指令用于整个页面,定义与页面相关的属性,它是JSP页面和容器的通信员。
2、page指令可以出现在JSP页面的任何位置,但无论出现在何处,其作用范围都是这个页面,因此通常将之置于也的开头。
语法:<%@ page 属性名1="值1" 属性名2="值2" ... %>
注意:可以使用多个page指令,但对于每个页只能声明给定属性一次,除了import属性外。属性名称是大小写敏感的
四、inlude指令
1、include指令用于在JSP页面中包含一个文件,该文件可以是HTML网页、文本文件或一段Java代码,用它可以简化页面代码,提高代码的重用性。
语法:<%@ include file="相对于当前文件的url" %>
2、url为被包含文件的相对路径,如果以“/”开始,相对于这个应该的根目录,如果没有以“/”开头,则相对当前的JSP页面。
注意:在包含的文件中,最好不要使用<html></html><body></body>等标签。
五、taglib指令
taglib指令允许页面使用用户定制的标签,语法如下:
<%@taglib (uri="具有唯一标识和前缀相关的标签描述符地址" prefix="前缀")%>
六、脚本元素
1、使用JSP脚本元素可以将Java代码嵌入到JSP页面中,这些Java代码将出现在由当前JSP页面生成的Servlet中,使JSP将静态内容与动态内容分离出来。
2、表达式
表达式标签在JSP请求处理阶段进行运算,所得的结果转换成字符串,与静态标签数据组合在一起。表达式在页面的位置,就是该表达式计算结果显示的位置。
语法:<%= expression %>
例如,<%=9+9 %>
注意:不能用分号;来作为表达式的结束符;
表达式必须是一个合法的Java表达式。
表达式必须有一个返回值,且返回值被转换成字符串。
3、脚本
脚本是在<% %>里嵌入的Java代码,这里的Java代码和一般的Java代码没有什么区别,所以每一条语句同样要以分号“;”结束,这和表达式是不相同的。
语法:<% code %>
3、声明
(1)声明用来定义当前JSP页面中使用的变量和方法。
(2)该标签中定义的变量为JSP页面全局变量,JSP转化成Servlet后,定义的变量转化为类变量,方法转化为Servlet中的方法。