除了常规的HTML之外,有3中主要类型的JSP结构可以嵌入到一个页面中:
一.脚本语言元素;
二.命令语言;
三.动作语言。
JSP是服务器端技术,页面的静态和动态内容都是在服务器端处理。一个拥有JSP/Servlet的Web站点经常被看做是瘦客户(thin-chient),因为绝大多数的业务逻辑都是在服务器端运行。
一.JSP脚本语言元素
1.表达式(Expression)<%=expression%>
表达式要求赋值并被插入到Servlet的输出中。
2.脚本件(Scriptlets):<%code%>
脚本程序被插入到服务所强调的Servelt的_jspService中,该方法被服务器调用。
3.声明<Declarations>:<%!code%>
这些声明被插入到servlet类的类体中,并处于任何所有的方法之外。
/*附加:
a.将XML表达式元素作为JSP表达式的可选语法形式
<jsp:expression>
Any Java Expression
</jsp:expression>
b.与HTML中form等价的XML是:
<jsp:scriptlet>
Any Java Code
</jsp:scriptlet>
*/
二 .JSP命令(Directives)
类型:page,include,taglib
JSP命令影响由JSP页面产生的Servlet的总体结构。
命令的语法如下:
<%@ directive attribute1="value"
attribute2="value"
…
attributeN="valueN"
%>
(1) JSP page命令
page命令定义了依赖与JSP引擎的页面属性,它可以通过加载类来控制Servlet的结构,设置内容的类型,定制Servlet的超类,设置session和缓存属性等。一个page命令可以置于文档中的任何地方。
例如:
<%@ page contentType="text/plain"
language="java"
buffer="none"
isThreadSage="yes"
errorPage="/error.jsp"%>
page命令定义了11个要区分大小写的属性,如下:
1装载(import)属性
用途:说明有Servlet装载进来的包应到哪一个JSP页面进行转换
语法:<%@ page import="package.class" %>
<%@ page import="package.class1,…,classN" %>
实例:<%@ page import="java.util.*" %>
<%@ page import="java.util.*,myClass.*" %>
2内容类型(ContentType)属性
用途:设置ContentType的应答标题,表明发送给客户文档的MIME的类型。
语法:<%@ page contentType="MIME-TYPE" %>
<%@ page contentType="MIME-TYPE; charset=Character-Set" %>
实例:<%@ page contentType="text/plain charset=ISO-8859-1" %>
<%@ page contentType="application/vnd.ms-excel" %>
//不同于通常Servlet默认的MIME类型为text/html,JSP页面默认的MIME类型是具有默认的ISO-8859-1字符集的text/html的类型。
3扩展(extends)属性
用途:指明超类。
语法:<%@ page extends="package.class" %>
4语言(language)属性
用途:说明底层程序设计语言(java是当前默认的,并且是唯一合适的选择)
语法:<%@ page language="java" %>
5会话(session)属性
用途:控制一个页面是否参加HTTP sessions。
语法:<%@ page session="true" %>
<%@ page session="false" %>
6线程安全(isThreaSafe)属性
用途:控制来自于JSP页面的Servlet是否实现SingleThreadModel接口。
语法:<%@ page isThreadModel="true" %>//默认
<%@ page isThreadModel="false" %>
7缓存(buffer)属性
用途:说明out变量使用的buffer的大小,
语法:<%@ page buffer="Size kb" %>
<%@ page buffer="none" %>
实例:<%@ page buffer="64kb"%>
8自动清除(autoflush)的属性
用途:控制当输出缓存溢出是否自动清除或这个缓存溢出后是否引发一个异常(exception)
语法:<%@ page autoflush="true" %>
<%@ page autoflush="false" %>
//当buffer="none"时,使用autoflush="false"是不合法的
9是否出错页(isErrorPage)属性
用途:指明当前页是否作为另一个JSP页的出错页
语法 :<%@ page isErrorPage="true" %>
<%@ page isErrorPage="false" %>
10出错页(errorPage)属性
用途:说明一个JSP页面,它应该处理任何异常的抛出,但并不在当前页中捕获。
语法:<%@ page errorPage="Relative URL" %>
<%@ page errorPage="Errors.jsp" %>
10信息(info)属性
用途:定义一个串,通过getServeletInfo方法从Servlet检索到该字符串。
语法:<%@ page info="some message" %>
(2) JSP include命令
在一个JSP页面中,从另一个资源装载内容有以下的机制:1.include命令;2.jsp:include元素;3.jsp:plugin元素。
1.include命令.
作用:将另一个页面的文本插入到当前JSP页面,该文本可以是静态内容(HTML)或者是里一个JSP页面。
使用include命令装载游标(navigation bar),标题内容(banner content),版本信息或者是任何需要在多个页面中重复使用的内容。
语法:<%@ include file="filename" %>
2.jsp:include元素。
jsp:include操作可以在发生请求时(request time)装载文件,当被装载的文件发生改变时不需要改变主文件。
语法:<jsp:include page="filename" flush="true" />
3.jsp:plugin元素。
jsp:plugin元素用于将使用java plugin-in的applets插入到JSP页面中。
一.脚本语言元素;
二.命令语言;
三.动作语言。
JSP是服务器端技术,页面的静态和动态内容都是在服务器端处理。一个拥有JSP/Servlet的Web站点经常被看做是瘦客户(thin-chient),因为绝大多数的业务逻辑都是在服务器端运行。
一.JSP脚本语言元素
1.表达式(Expression)<%=expression%>
表达式要求赋值并被插入到Servlet的输出中。
2.脚本件(Scriptlets):<%code%>
脚本程序被插入到服务所强调的Servelt的_jspService中,该方法被服务器调用。
3.声明<Declarations>:<%!code%>
这些声明被插入到servlet类的类体中,并处于任何所有的方法之外。
/*附加:
a.将XML表达式元素作为JSP表达式的可选语法形式
<jsp:expression>
Any Java Expression
</jsp:expression>
b.与HTML中form等价的XML是:
<jsp:scriptlet>
Any Java Code
</jsp:scriptlet>
*/
二 .JSP命令(Directives)
类型:page,include,taglib
JSP命令影响由JSP页面产生的Servlet的总体结构。
命令的语法如下:
<%@ directive attribute1="value"
attribute2="value"
…
attributeN="valueN"
%>
(1) JSP page命令
page命令定义了依赖与JSP引擎的页面属性,它可以通过加载类来控制Servlet的结构,设置内容的类型,定制Servlet的超类,设置session和缓存属性等。一个page命令可以置于文档中的任何地方。
例如:
<%@ page contentType="text/plain"
language="java"
buffer="none"
isThreadSage="yes"
errorPage="/error.jsp"%>
page命令定义了11个要区分大小写的属性,如下:
1装载(import)属性
用途:说明有Servlet装载进来的包应到哪一个JSP页面进行转换
语法:<%@ page import="package.class" %>
<%@ page import="package.class1,…,classN" %>
实例:<%@ page import="java.util.*" %>
<%@ page import="java.util.*,myClass.*" %>
2内容类型(ContentType)属性
用途:设置ContentType的应答标题,表明发送给客户文档的MIME的类型。
语法:<%@ page contentType="MIME-TYPE" %>
<%@ page contentType="MIME-TYPE; charset=Character-Set" %>
实例:<%@ page contentType="text/plain charset=ISO-8859-1" %>
<%@ page contentType="application/vnd.ms-excel" %>
//不同于通常Servlet默认的MIME类型为text/html,JSP页面默认的MIME类型是具有默认的ISO-8859-1字符集的text/html的类型。
3扩展(extends)属性
用途:指明超类。
语法:<%@ page extends="package.class" %>
4语言(language)属性
用途:说明底层程序设计语言(java是当前默认的,并且是唯一合适的选择)
语法:<%@ page language="java" %>
5会话(session)属性
用途:控制一个页面是否参加HTTP sessions。
语法:<%@ page session="true" %>
<%@ page session="false" %>
6线程安全(isThreaSafe)属性
用途:控制来自于JSP页面的Servlet是否实现SingleThreadModel接口。
语法:<%@ page isThreadModel="true" %>//默认
<%@ page isThreadModel="false" %>
7缓存(buffer)属性
用途:说明out变量使用的buffer的大小,
语法:<%@ page buffer="Size kb" %>
<%@ page buffer="none" %>
实例:<%@ page buffer="64kb"%>
8自动清除(autoflush)的属性
用途:控制当输出缓存溢出是否自动清除或这个缓存溢出后是否引发一个异常(exception)
语法:<%@ page autoflush="true" %>
<%@ page autoflush="false" %>
//当buffer="none"时,使用autoflush="false"是不合法的
9是否出错页(isErrorPage)属性
用途:指明当前页是否作为另一个JSP页的出错页
语法 :<%@ page isErrorPage="true" %>
<%@ page isErrorPage="false" %>
10出错页(errorPage)属性
用途:说明一个JSP页面,它应该处理任何异常的抛出,但并不在当前页中捕获。
语法:<%@ page errorPage="Relative URL" %>
<%@ page errorPage="Errors.jsp" %>
10信息(info)属性
用途:定义一个串,通过getServeletInfo方法从Servlet检索到该字符串。
语法:<%@ page info="some message" %>
(2) JSP include命令
在一个JSP页面中,从另一个资源装载内容有以下的机制:1.include命令;2.jsp:include元素;3.jsp:plugin元素。
1.include命令.
作用:将另一个页面的文本插入到当前JSP页面,该文本可以是静态内容(HTML)或者是里一个JSP页面。
使用include命令装载游标(navigation bar),标题内容(banner content),版本信息或者是任何需要在多个页面中重复使用的内容。
语法:<%@ include file="filename" %>
2.jsp:include元素。
jsp:include操作可以在发生请求时(request time)装载文件,当被装载的文件发生改变时不需要改变主文件。
语法:<jsp:include page="filename" flush="true" />
3.jsp:plugin元素。
jsp:plugin元素用于将使用java plugin-in的applets插入到JSP页面中。