JSP 教材 1 JSP 原理
?JSP (Java Server Pages)是服务器端的脚本语言 脚本语言,是一种在 HTML 页面中加入 Java 语言而生成动态页面的技术:加入了新的标 脚本语言 加入了新的标 <%,%>, 。 签(<%,%>,…) ?JSP 是以 Java 和 Servlet 为基础开发而成的动态网页生成技术,它的底层实现是 Java Servlet。 ?JSP 页面由 HTML 代码和嵌入其中的 Java 代码所组成。服务器在页面被客户端所请求以后对这些 Java 代码进行处理,然后将生成 的
HTML 页面返回给客户端的浏览器。 ?特点:面向对象、跨平台,和 Servlet 一样稳定,可以使用 Servlet 提供的 API,克服了 Servlet 的缺点。 ?应用:一般和 JavaBeans 结合使用,从而将界面表现和业务逻辑分离。
1
查找对应的 JSP 文件
是否存在
是否修改或创建后 第一次调用
编译成 SERVLET 程序
调用 JDK 编译成字节码
2
JSP 语法
执行 JAVA 字节码
JSP 的元素分为以下几类:
静态网页部分
HTML 元素 css JAVASCRIPT 教本 脚本元素:声明、表达式、脚本片断 内置对象 注释 指令:page 指令、taglib 指令、include 指令 动作:、、…
JAVA 部分
在 J S P 中,主要的程序部分就是脚本元素,其语法是以一个“ < %”开头,以一个“ % >”结尾。 格式: <% 代码段 %> 例子: <% if (Calendar.getInstance().get(Calendar.AM_PM) == Calendar.AM) { %> Good Morning <% } else { %> Good Afternoon <% } %>
表达式
J S P 中的表达式可以被看作一种简单的输出形式,需要注意的是,表达式一定要有一个可以 输出的值才行。 语法为: <%= 待显示的值 %> 举例如下: <%= (new java.util.Date()).toLocaleString() %>
2
表达式的写法等效于 <%out.print(“待显示的值”);%> ,尝试把上段代码改写成这种形式的代码
注释 <% // Comments %> <% /*这是一个Scriptlet中的注释*/ %> <% /**这也是一个Scriptlet中的注释,可以用javadoc从生成的
Java文件中提取出注释来*/ %>
p a g e 指令 page指令描述了当前页面的各种属性。在一个J S P页面中, p a g e指令可以出现多次,但是每一种属性却只能出现一次,重 复的属性设置将覆盖掉先前的设置。 p a g e指令的基本语法格式如下: <%@ page contentType="text/html; charset=gb2312" language="java" import="java.util.*" errorPage="errorHappened.jsp" %>
Include 指令 include指令的作用是包含另一个文件,有两种写法: 语法 状态 <%@ include file=”文件的相对路径” % >
编译时包含 运行时包含
对象 静态 动态擎
描述 擎 J S P 引擎将对所包含的文件进 行语法分析 J S P引擎将不对所包含的文件进行 语法分析
动作 1. 用于调用 JavaBean组件来扩充 JSP的功能,这使得 JSP 的开发过程
和以往ASP,PHP 等其他动态网页开发工具有了本质上的区别。 语法如下: scope 说明(一般不需使用此参数) page request session application 有效范围 用户请求此页面的过程中有效 在用户的整个请求过程中有效 在用户的整个会话期内有效 在 We b 应用程序执行期间有效
例子: 2. 用于向JAVABEAN中的某个参数传值 语法如下: 例子:
3
3. 页面跳转到其他页面 语法: 举例如下: <% String whereTo = "/templates/"+someValue; %> xml:namespace prefix = jsp />’ /> 内置对象 内置对象即系统预先定义好的对象, 在JSP页面中可直接使用 对象 描述 request 客客户端的请求,可以利用此对象获取传入的值,例如在FORM表单中的值传入本页时,即用此对象 接受传入的值。常用方法有 request.getParameter("参数名