jsp的指令和jsp的基本概念
2011-10-27 20:47
246 查看
jsp的指令和jsp的基本概念
Servlet方法的一些弊端
(1)、开发者和维护应用程序的成员必须对Java编程知识有全面的了解,因为处理代码和处理html元素混合在一块
(2)、如果要改变应用的外观,或者增加对新客户类型的支持,则需要对servlet代码进行更新和重编译
(3)、在设计应用界面时,很难充分利用web页面开发工具。如果这种工具用于开发web页面布局,所生成的html就必须手工的嵌入到servlet代码中,这个过程相当的耗费时间,很容易出错。
使用Servlet生成动态网页,比较麻烦,为了解决代码与页面相分离的问题。所以,Sun公司推出了JSP技术,使页面代码与Java代码完全分离。
JSP是Servlet更高级的扩展。JSP是以Java语言作为脚本语言,建立在Servlet规范提供的功能之上的动态网页技术,用来在网页上显示动态内容。由Java程序片段或JSP标记等构成JSP页面,页面后缀名为“.jsp”。
JSP的成功取决于它自身的优点,主要包括:
(1)、简单性和有效性
(2)、程序的独立性
(3)、程序的兼容性
(4)、|程序的可重用性
JSP页面的构成
JSP页面就是带有JSP元素的常规的Web页面,它由静态内容(指HTML元素)和动态内容(指JSP元素,包括指令元素、脚本元素、动作元素、注释等内容)构成
JSP中动态内容——JSP元素,包括指令元素、注释、动作元素、脚本元素
(1)指令元素
1、 指令元素主要用于为转换阶段提供JSP页面的相关信息,指令不会产生任何输出到当前的输出流中,它指定了有关页面本身的信息,这些信息在请求期间一直保持不变。
2、 所有的JSP指令元素的作用范围为当前的JSP页面,即指令元素只影响当前的这个JSP页面,对其他JSP页面没有影响。
3、 指令的语法如下:<%@ directive{attr="value"}*%>
4、 指令元素有三种:page、include和taglib
注意:可以使用多个page指令,但对于每个页只能声明给定属性一次,除了import属性外。属性名称是大小写敏感的
浏览器——>web服务器上某一个jsp页面
Jsp页面——.>servlet.java——>编译.class——>载入内存,实例化对象,初始化init()——>service()
浏览器<——
浏览器——>jsp页面
Service()
<——
Page指令:(1)用于整个页面,定义与页面相关的属性,它是JSP页面与容器的通信员
page的属性共有13个,最常用的属性有:
import=“导包列表”:指示当前JSP文件引入需要使用的类或接口。多个类、包名之间用“,”隔开。
例如,<%@page import=“java.util.*,java.io.*”%>
或者,<%@page import=“java.util.*”%>
<%@page import=“java.io.*”%>
注意:import属性是唯一一个可以在同一个页面中出现多次的属性。
注意:java.lang.* javax.servlet.* javax.servlet.jsp.* javax.servlet.http.*都已经被隐含的引入,包中的类、接口等不需要引入就可以使用。
指令元素
(1)language=“scriptingLangeuage”:指定当前的JSP文件中的程序代码是使用何种编程语言编写的,目前属性的值只能是java。
(2)contentType=“ctinfo”:设置当前JSP页面的向客户浏览器输出内容的MIME类型和字符编码集。客户端的浏览器会根据你在contentType中指定的MIME类型和字符集代码来显示Servlet输出的内容。
<%@page contentType=”text/html;charset=utf-8”%>
(3) pageEncoding =“peingo”:设置当前JSP页面使用的字符编码。如果设置了这个属性,则JSP页面的字符编码就是它指定的字符集,如果没有就使用contentType属性的值,如果都没有,页面默认的是ISO-8859-1。
(4) session=”true|false”:指示当前JSP文件中session隐含对象是否有效,如果为true表示session对象有效,可以使用,否则session对象无效,不能使用
(5)buffer=“none|8kb|sizekb”:指定JSP文件中out对象使用的缓冲区大小。
(6) autoFlush=“true|false”:设置当输出缓冲区已经满了是否自动flush。需注意,如果buffer设定为none,则该属性就不能设成false,否则JSP文件运行时会抛出异常。
(7)errorPage=“relativeURL”:设置当前JSP页面中代码出现异常后,专门处理异常的页面。
(8) isErrorPage=“true|false”:设置当前JSP页面是否为专门处理异常的页面,如果为true,则该页面可以通过exception内置对象,处理其他JSP页面转过来的异常。
include指令
(1) include指令用于在JSP页面中包含一个文件,该文件可以是JSP页面、HTML网页、文本文件或一段Java代码,用它可以简化页面代码,提高代码的重用性。
(2) 语法:<%@include file="相对于当前文件的url" %>
(3) url为被包含文件的相对路径,如果以“/”开始,相对于这个应该的根目录,如果没有以“/”开头,则相对当前的JSP页面。
注意:在包含的文件中,最好不要使用<html></html><body></body>等标签。
taglib指令
taglib指令允许页面使用用户定制的标签,语法如下:
<%@taglib (uri="具有唯一标识和前缀相关的标签描述符地址" prefix="前缀")%>
脚本元素
使用JSP脚本元素可以将Java代码嵌入到JSP页面中,这些Java代码将出现在由当前JSP页面生成的Servlet中,使JSP将静态内容与动态内容分离出来。
表达式
表达式标签在JSP请求处理阶段进行运算,所得的结果转换成字符串,与静态标签数据组合在一起。表达式在页面的位置,就是该表达式计算结果显示的位置。
语法:<%= expression %>
例如,<%=9+9 %>
注意:
不能用分号;来作为表达式的结束符;
表达式必须是一个合法的Java表达式。
表达式必须有一个返回值,且返回值被转换成字符串。
脚本
脚本是在<% %>里嵌入的Java代码,这里的Java代码和一般的Java代码没有什么区别,所以每一条语句同样要以分号“;”结束,这和表达式是不相同的。
语法:<% code %>
声明
声明用来定义当前JSP页面中使用的变量和方法。
该标签中定义的变量为JSP页面全局变量,JSP转化成Servlet后,定义的变量转化为类变量,方法转化为Servlet中的方法。
语法:<%! code %>
例如,<%!String str=“hello” ;%>
<%! public static final StringDEFAULT_NAME=“World”;%>
<%! public String getName(HttpServletRequestrequest){
returnrequest.getParameter(“name”);
}
%>
注意:变量的声明必须以;结尾,该声明仅在一个页面中有效,如果想每个页面都用到一些声明,最好把它们写成一个单独的文件,然后用<%@include%>或<jsp:include>元素包含进来。
Servlet方法的一些弊端
(1)、开发者和维护应用程序的成员必须对Java编程知识有全面的了解,因为处理代码和处理html元素混合在一块
(2)、如果要改变应用的外观,或者增加对新客户类型的支持,则需要对servlet代码进行更新和重编译
(3)、在设计应用界面时,很难充分利用web页面开发工具。如果这种工具用于开发web页面布局,所生成的html就必须手工的嵌入到servlet代码中,这个过程相当的耗费时间,很容易出错。
使用Servlet生成动态网页,比较麻烦,为了解决代码与页面相分离的问题。所以,Sun公司推出了JSP技术,使页面代码与Java代码完全分离。
JSP是Servlet更高级的扩展。JSP是以Java语言作为脚本语言,建立在Servlet规范提供的功能之上的动态网页技术,用来在网页上显示动态内容。由Java程序片段或JSP标记等构成JSP页面,页面后缀名为“.jsp”。
JSP的成功取决于它自身的优点,主要包括:
(1)、简单性和有效性
(2)、程序的独立性
(3)、程序的兼容性
(4)、|程序的可重用性
JSP页面的构成
JSP页面就是带有JSP元素的常规的Web页面,它由静态内容(指HTML元素)和动态内容(指JSP元素,包括指令元素、脚本元素、动作元素、注释等内容)构成
JSP中动态内容——JSP元素,包括指令元素、注释、动作元素、脚本元素
(1)指令元素
1、 指令元素主要用于为转换阶段提供JSP页面的相关信息,指令不会产生任何输出到当前的输出流中,它指定了有关页面本身的信息,这些信息在请求期间一直保持不变。
2、 所有的JSP指令元素的作用范围为当前的JSP页面,即指令元素只影响当前的这个JSP页面,对其他JSP页面没有影响。
3、 指令的语法如下:<%@ directive{attr="value"}*%>
4、 指令元素有三种:page、include和taglib
注意:可以使用多个page指令,但对于每个页只能声明给定属性一次,除了import属性外。属性名称是大小写敏感的
浏览器——>web服务器上某一个jsp页面
Jsp页面——.>servlet.java——>编译.class——>载入内存,实例化对象,初始化init()——>service()
浏览器<——
浏览器——>jsp页面
Service()
<——
Page指令:(1)用于整个页面,定义与页面相关的属性,它是JSP页面与容器的通信员
page的属性共有13个,最常用的属性有:
import=“导包列表”:指示当前JSP文件引入需要使用的类或接口。多个类、包名之间用“,”隔开。
例如,<%@page import=“java.util.*,java.io.*”%>
或者,<%@page import=“java.util.*”%>
<%@page import=“java.io.*”%>
注意:import属性是唯一一个可以在同一个页面中出现多次的属性。
注意:java.lang.* javax.servlet.* javax.servlet.jsp.* javax.servlet.http.*都已经被隐含的引入,包中的类、接口等不需要引入就可以使用。
指令元素
(1)language=“scriptingLangeuage”:指定当前的JSP文件中的程序代码是使用何种编程语言编写的,目前属性的值只能是java。
(2)contentType=“ctinfo”:设置当前JSP页面的向客户浏览器输出内容的MIME类型和字符编码集。客户端的浏览器会根据你在contentType中指定的MIME类型和字符集代码来显示Servlet输出的内容。
<%@page contentType=”text/html;charset=utf-8”%>
(3) pageEncoding =“peingo”:设置当前JSP页面使用的字符编码。如果设置了这个属性,则JSP页面的字符编码就是它指定的字符集,如果没有就使用contentType属性的值,如果都没有,页面默认的是ISO-8859-1。
(4) session=”true|false”:指示当前JSP文件中session隐含对象是否有效,如果为true表示session对象有效,可以使用,否则session对象无效,不能使用
(5)buffer=“none|8kb|sizekb”:指定JSP文件中out对象使用的缓冲区大小。
(6) autoFlush=“true|false”:设置当输出缓冲区已经满了是否自动flush。需注意,如果buffer设定为none,则该属性就不能设成false,否则JSP文件运行时会抛出异常。
(7)errorPage=“relativeURL”:设置当前JSP页面中代码出现异常后,专门处理异常的页面。
(8) isErrorPage=“true|false”:设置当前JSP页面是否为专门处理异常的页面,如果为true,则该页面可以通过exception内置对象,处理其他JSP页面转过来的异常。
include指令
(1) include指令用于在JSP页面中包含一个文件,该文件可以是JSP页面、HTML网页、文本文件或一段Java代码,用它可以简化页面代码,提高代码的重用性。
(2) 语法:<%@include file="相对于当前文件的url" %>
(3) url为被包含文件的相对路径,如果以“/”开始,相对于这个应该的根目录,如果没有以“/”开头,则相对当前的JSP页面。
注意:在包含的文件中,最好不要使用<html></html><body></body>等标签。
taglib指令
taglib指令允许页面使用用户定制的标签,语法如下:
<%@taglib (uri="具有唯一标识和前缀相关的标签描述符地址" prefix="前缀")%>
脚本元素
使用JSP脚本元素可以将Java代码嵌入到JSP页面中,这些Java代码将出现在由当前JSP页面生成的Servlet中,使JSP将静态内容与动态内容分离出来。
表达式
表达式标签在JSP请求处理阶段进行运算,所得的结果转换成字符串,与静态标签数据组合在一起。表达式在页面的位置,就是该表达式计算结果显示的位置。
语法:<%= expression %>
例如,<%=9+9 %>
注意:
不能用分号;来作为表达式的结束符;
表达式必须是一个合法的Java表达式。
表达式必须有一个返回值,且返回值被转换成字符串。
脚本
脚本是在<% %>里嵌入的Java代码,这里的Java代码和一般的Java代码没有什么区别,所以每一条语句同样要以分号“;”结束,这和表达式是不相同的。
语法:<% code %>
声明
声明用来定义当前JSP页面中使用的变量和方法。
该标签中定义的变量为JSP页面全局变量,JSP转化成Servlet后,定义的变量转化为类变量,方法转化为Servlet中的方法。
语法:<%! code %>
例如,<%!String str=“hello” ;%>
<%! public static final StringDEFAULT_NAME=“World”;%>
<%! public String getName(HttpServletRequestrequest){
returnrequest.getParameter(“name”);
}
%>
注意:变量的声明必须以;结尾,该声明仅在一个页面中有效,如果想每个页面都用到一些声明,最好把它们写成一个单独的文件,然后用<%@include%>或<jsp:include>元素包含进来。
相关文章推荐
- 复习:JSP基本的语法(JSP凝视 + JSP指令 + JSP脚本元素 + JSP动作元素)
- [读书笔记]J2EE 基本概念 --- JSP
- Base-Jsp-1-基本概念
- Linux学习第三节课-指令基本概念及部分指令用法
- JSP初学者教程学习JSP的基本指令
- 复习:JSP基本语法(JSP注释 + JSP指令 + JSP脚本元素 + JSP动作元素)
- JSP基本概念及运行原理
- JSP初学者教程学习JSP的基本指令
- JSP的三大指令和七大动作基本语法
- Java基本概念-jsp
- JSP基本语法、3个编译指令、7个动作指令、9个内置对象
- 指令周期的基本概念
- JSP基本概念及语法
- Java程序员从笨鸟到菜鸟之(十八)JSP基本语法与动作指令
- Java程序员从笨鸟到菜鸟之(十八)JSP基本语法与动作指令
- 基本概念学习(2002)---指令周期
- Jsp基本指令和动作
- Java程序员从笨鸟到菜鸟之(十八)JSP基本语法与动作指令
- JSP的基本动作与指令
- JSP编译指令和动作指令基本知识点