导读:
1.1 JSP 文件结构
一个JSP 文件由三类元素构成:指令元素,脚本元素,动作元素。
JSP 中有三中注释:
●HTML/XML 注释:这种注释和HTML中很像,也就是它可以在"查看源代码"中看到.。
语法:
●隐藏注释:JSP编译器不是会对<%--and--%>之间的语句进行编译的,它不会显示在客户的浏览器中,也不会在源代码中看到。
语法:<%-- comment --%>
●Scriptlets中的注释:由于Scriptlets包含的是Java代码,所以Java中的注释在Scriptlets中也能使用。
指令元素有三种:page指令,include指令,taglib指令。
脚本元素主要包括:声明(Declaration),表达式(Expression),Scriptlets。
动作元素以jsp为前缀,常用的有: 、 、 、 、 、 。
1.2 指令元素
1.2.1 page指令
page 指令用来定义JSP 文件中的全局属性。
除了import 属性可以出现多次外,page的其他属性只能出现一次。
1.2.2include 指令
语法:<%@ include file="relativeURL" %>
此指令可以把一个JSP页面分成若干简单的部分,增强了JSP页面的管理性。
1.2.3taglib 指令
定义一个标签库以及其自定义标签的前缀.
语法:
<%@ taglib uri="taglibURI" prefix="tagPrefix" %>
uri 用来表示标签描述符,也就是告诉容器怎么找到标签描述文件和标签库,tagPrefix定义了在JSP 页面里要引用这个标签时的前缀,这些前缀不可以仪是:jsp、jspx、java、javax、sun、servlet、sunw。
1.3 脚本元素
1.3.1声明(Declaration)
在JSP程序中声明合法的变量和方法
语法:
<%!{ declaration; }%>
声明和表达式必须以";"结尾,但是表达式不能。
你可以直接使用在<% @ page %>中被包含进来的已经声明的变量和方法,不需要对它们重新进行声明。
一个声明仅在一个页面中有效。如果你想每个页面都用到一些声明,最好把它们写成一个单独的文件,然后用<%@ include %>或 元素包含进来。
1.3.2表达式(Expression)
包含一个符合JSP语法的表达式,其结果被转换成字符串,插入页面。
语法:
<%= expression %>
1.3.3Scriptlet
包含一个有效的程序段.
语法:
<% code fragment %>
脚本元素内不能定义方法,因为JSP 把脚本段内的代码放到Servlet的方法内,而方法是不能嵌套定义的。
1.4 动作元素
动作元素在请求处理阶段起作用。JSP 的动作元素是使用XML 语法写成的,有以下两种格式:
或者 1.4.1
实例化一个JavaBean,常用句法:
1.4.2
常用句法:
可以用四种不同的方法来指定属性的信息:
①property="*"
这是一种设置Bean属性的快捷方式,在Bean中,属性的名字、类型必须和request对象中的参数名称相匹配。由于在表单中传过来的数据类型都是String类型的,JSP 内在的机制会把这些参数转化成Bean 属性对应的类型。
②property="propettyName"
使用request中的一个参数来指定Bean中的一个属性值。Bean的属性名必须和request中参数的名字相同,否则应用方法③。
③property="propettyName" param="parameterName"
使用request中的一个参数来指定Bean中的一个属性值。
④property="propettyName" value="propertyValue"
使用指定的值来设定Bean属性。
1.4.3
访问Bean的属性并将它转化成一个String ,发送到输出流中。
常用句法:
1.4.4
flush属性必须设置成true,不能使用默认的false。
如果被包含的文件是动态的,还可以用jsp:param传递参数名和参数值。
1.4.5
将客户端的请求从一个JSP 页面转到另一个JSP 页面。
1.4.6
用来提供key/value值,常和jsp:include、jsp:forward、jsp:plugin一起使用。句法:
1.4.7
常用句法:
text message for user
用于插件不能启动时显示给用户的一段文字。
第二章JSP内建对象
request
request 对象代表客户端的请求,它被包装成HttpServletRequest接口。通过getParameter 方法可以得到request 的参数,通过GET、POST、HEAD等方法可以得到request 的类型,通过Cookies、Referer等可以得到请求的Http的头。
来自客户端的请求经Servlet容器处理后,有request对象进行封装。它作为jspService()方法的一个参数有容器传递给JSP 页面。
response
response 对象代表对客户端的响应,它被封装成HttpServletResponse 接口。和request 对象一样,它由容器生成,作为jspService()方法的参数被传入JSP。因为输出流是缓冲的,所以可以设置Http 状态码和response 头。
out
out 对象被封装成javax.servlet.jsp.JspWriter 接口。它表示为客户端打开的输出流,PrintWriter 使用它向客户端发送输出流。简单的说,它主要用来向客户端输出数据。
session
session 对象在需要在不同的JSP 页面记录用户信息的情况下使用。session 对象在用户登录系统时由容器自动创建,用户退出时自动消失。
page
page 对象代表正在运行的JSP 页面本身。
pageContext
pageContext 对象主要用来管理对属于JSP 中特殊可见部分中已经命名对象的访问。
●pageContext 属性默认在当前页面是共享的。
●session 中的属性在当前session中是共享的。
●Servlet Context 对象中的属性对所有的页面是共享的。
application
所有用户共享一个application 对象。服务器启动后,会自动创建一个application 对象,直到服务器关闭为止。
config
config 对象被封装成javax.sevlet.ServletConfig 接口,它表示Servlet 的配置。
exception
只有在错误页面(在页面指令里有isErrorPage=true)才可以使用。
第三章在JSP 中使用JavaBean
JavaBean 的特点:
①必须有一个无参构造函数
②属性均为私有
③属性值同setXXX和getXXX来操作
一般用JavaBean 封装业务逻辑。
JavaBean 的属性可以分为以下四类:
● Simple
使用语法如下:
public void set ( value);
pulbic get ();
public boolean is
● Indexed
使用语法如下:
public void set
>
public void set (
public
();>
public get (int index);
●Bound
在图形编程中大量使用,故不详细介绍
●Constrained
在图形编程中大量使用,故不详细介绍
本文转自
http://i.cn.yahoo.com/sujinghua_gogogo/blog/p_71/
1.1 JSP 文件结构
一个JSP 文件由三类元素构成:指令元素,脚本元素,动作元素。
JSP 中有三中注释:
●HTML/XML 注释:这种注释和HTML中很像,也就是它可以在"查看源代码"中看到.。
语法:
●隐藏注释:JSP编译器不是会对<%--and--%>之间的语句进行编译的,它不会显示在客户的浏览器中,也不会在源代码中看到。
语法:<%-- comment --%>
●Scriptlets中的注释:由于Scriptlets包含的是Java代码,所以Java中的注释在Scriptlets中也能使用。
指令元素有三种:page指令,include指令,taglib指令。
脚本元素主要包括:声明(Declaration),表达式(Expression),Scriptlets。
动作元素以jsp为前缀,常用的有: 、 、 、 、 、 。
1.2 指令元素
1.2.1 page指令
page 指令用来定义JSP 文件中的全局属性。
除了import 属性可以出现多次外,page的其他属性只能出现一次。
1.2.2include 指令
语法:<%@ include file="relativeURL" %>
此指令可以把一个JSP页面分成若干简单的部分,增强了JSP页面的管理性。
1.2.3taglib 指令
定义一个标签库以及其自定义标签的前缀.
语法:
<%@ taglib uri="taglibURI" prefix="tagPrefix" %>
uri 用来表示标签描述符,也就是告诉容器怎么找到标签描述文件和标签库,tagPrefix定义了在JSP 页面里要引用这个标签时的前缀,这些前缀不可以仪是:jsp、jspx、java、javax、sun、servlet、sunw。
1.3 脚本元素
1.3.1声明(Declaration)
在JSP程序中声明合法的变量和方法
语法:
<%!{ declaration; }%>
声明和表达式必须以";"结尾,但是表达式不能。
你可以直接使用在<% @ page %>中被包含进来的已经声明的变量和方法,不需要对它们重新进行声明。
一个声明仅在一个页面中有效。如果你想每个页面都用到一些声明,最好把它们写成一个单独的文件,然后用<%@ include %>或 元素包含进来。
1.3.2表达式(Expression)
包含一个符合JSP语法的表达式,其结果被转换成字符串,插入页面。
语法:
<%= expression %>
1.3.3Scriptlet
包含一个有效的程序段.
语法:
<% code fragment %>
脚本元素内不能定义方法,因为JSP 把脚本段内的代码放到Servlet的方法内,而方法是不能嵌套定义的。
1.4 动作元素
动作元素在请求处理阶段起作用。JSP 的动作元素是使用XML 语法写成的,有以下两种格式:
或者 1.4.1
实例化一个JavaBean,常用句法:
1.4.2
常用句法:
可以用四种不同的方法来指定属性的信息:
①property="*"
这是一种设置Bean属性的快捷方式,在Bean中,属性的名字、类型必须和request对象中的参数名称相匹配。由于在表单中传过来的数据类型都是String类型的,JSP 内在的机制会把这些参数转化成Bean 属性对应的类型。
②property="propettyName"
使用request中的一个参数来指定Bean中的一个属性值。Bean的属性名必须和request中参数的名字相同,否则应用方法③。
③property="propettyName" param="parameterName"
使用request中的一个参数来指定Bean中的一个属性值。
④property="propettyName" value="propertyValue"
使用指定的值来设定Bean属性。
1.4.3
访问Bean的属性并将它转化成一个String ,发送到输出流中。
常用句法:
1.4.4
flush属性必须设置成true,不能使用默认的false。
如果被包含的文件是动态的,还可以用jsp:param传递参数名和参数值。
1.4.5
将客户端的请求从一个JSP 页面转到另一个JSP 页面。
1.4.6
用来提供key/value值,常和jsp:include、jsp:forward、jsp:plugin一起使用。句法:
1.4.7
常用句法:
text message for user
用于插件不能启动时显示给用户的一段文字。
第二章JSP内建对象
request
request 对象代表客户端的请求,它被包装成HttpServletRequest接口。通过getParameter 方法可以得到request 的参数,通过GET、POST、HEAD等方法可以得到request 的类型,通过Cookies、Referer等可以得到请求的Http的头。
来自客户端的请求经Servlet容器处理后,有request对象进行封装。它作为jspService()方法的一个参数有容器传递给JSP 页面。
response
response 对象代表对客户端的响应,它被封装成HttpServletResponse 接口。和request 对象一样,它由容器生成,作为jspService()方法的参数被传入JSP。因为输出流是缓冲的,所以可以设置Http 状态码和response 头。
out
out 对象被封装成javax.servlet.jsp.JspWriter 接口。它表示为客户端打开的输出流,PrintWriter 使用它向客户端发送输出流。简单的说,它主要用来向客户端输出数据。
session
session 对象在需要在不同的JSP 页面记录用户信息的情况下使用。session 对象在用户登录系统时由容器自动创建,用户退出时自动消失。
page
page 对象代表正在运行的JSP 页面本身。
pageContext
pageContext 对象主要用来管理对属于JSP 中特殊可见部分中已经命名对象的访问。
●pageContext 属性默认在当前页面是共享的。
●session 中的属性在当前session中是共享的。
●Servlet Context 对象中的属性对所有的页面是共享的。
application
所有用户共享一个application 对象。服务器启动后,会自动创建一个application 对象,直到服务器关闭为止。
config
config 对象被封装成javax.sevlet.ServletConfig 接口,它表示Servlet 的配置。
exception
只有在错误页面(在页面指令里有isErrorPage=true)才可以使用。
第三章在JSP 中使用JavaBean
JavaBean 的特点:
①必须有一个无参构造函数
②属性均为私有
③属性值同setXXX和getXXX来操作
一般用JavaBean 封装业务逻辑。
JavaBean 的属性可以分为以下四类:
● Simple
使用语法如下:
public void set ( value);
pulbic get ();
public boolean is
● Indexed
使用语法如下:
public void set
>
public void set (
public
();>
public get (int index);
●Bound
在图形编程中大量使用,故不详细介绍
●Constrained
在图形编程中大量使用,故不详细介绍
本文转自
http://i.cn.yahoo.com/sujinghua_gogogo/blog/p_71/