动态网页设计(JSP)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Java程序片
在表达式中JSP应遵守以下规则:
JSP表达式的内容必须是一个“完整”的Java表达式。
JSP表达式的内容必须是一个“单独的”Java表达式。 一定不能以分号结束一个Java表达式(与JSP声明不 同)。
实例:simpleCounterApp1.jsp
动态网页设计(JSP) http://www.swust.net.cn
JSP标准动作
JSP 动作的语法
– JSP 动作标记遵循 XML 语言的语法
具有一个名称 具有前缀 jsp: 用一对尖括号(< 和 >)括起来 在尖括号内定义标记: – 起始标记 - 以元素的名称开头 – 结束标记 - 以正斜线开头,后面紧跟元素名称
– 空标记 - 以元素名称开头,以正斜线结束
动态网页设计(JSP) http://www.swust.net.cn
动态网页设计(JSP) http://www.swust.net.cn
JSP页面结构
在一个JSP页面中,主要分为三种元素:编译指令、动作指令和JSP代码。
– 编译指令告诉JSP的解释引擎(比如:Tomcat),需要在编译时做 什么动作,比如引入一个其它的类动作指令JSP页面的使用什么语 言编码等。
Java程序片
在Jsp中,在“<%”和 “%>”之间书写的程序代码为Java程序片 在程序片中声明的变量只在页面有效,是局部变量,不能共享。
但是,在 之间声明的变量可以在不同的客 户间共享,有效范围是整个Jsp页面,声明周期是服务器关闭后变量才会被 释放。
“<%!”和 “%>”
JSP表达式用来把Java数据直接插入到输出。其语法如下: <%= Java Expression %>
动态网页设计(JSP) http://www.swust.net.cn
编译指令 page指令
page指令是针对当前页面的指令。page指令由“<%@”和“%>”字符 串构成的标记符来指定。在标记符中是代码体,包括指令的类型和 值。 例如:<%@page import=“java.sql.*”%>指令告诉JSP容器将java.sql 包中的所有类都引入当前的JSP页面。
动态网页设计(JSP) http://www.swust.net.cn
jsp:forward指令
jsp:forward动作指令用于把当前的JSP页面转发到另一个页面 上。
基本语法为:
– “<jsp:forward page=”test2.jsp“/>”, – 使用该功能时,浏览器的地址栏中地址不会发 生任何变化。
动态网页设计(JSP) http://www.swust.net.cn
动作指令
JSP 动作的作用
–实例化对象
–与服务器端资源进行通信 –提高组件的可重用性,增强应用的可维护性 –使 JSP 页面可与 JavaBean 对象进行交互 – 通过标记库定义自定义标记
动态网页设计(JSP) http://www.swust.net.cn
errorPage用来设定当JSP页面出现异常(Exception)时,所 要转向的页面。如果没有设定,则JSP容器会用默认的当 前网页来显示出错信息。例如: “<%@page errorPage="/error/error_page.jsp"%>”
isErrorPage用来设定当前的JSP页面是否作为传回错误页面 的网页,默认值是“false”。如果设定为“true”,则JSP容 器会在当前的页面中生成一个exception对象。
常用的page指令标记有8个:
ቤተ መጻሕፍቲ ባይዱ
– language、extends、import、errorPage、isErrorPage、 contentType、isThreadSafe和session。
动态网页设计(JSP) http://www.swust.net.cn
编译指令
page指令 language设置JSP页面中用到的语言,默认值为“Java”,也 是目前唯一有效的设定值。使用的语法是: <%@ page language="java"%>。 import设置目前JSP页面中要用到的Java类,这些Java类可能 是Sun JDK中的类,也有可能是程序员自己定义的类。例 如:<%@page import="java.sql.*,java.util.*"%>。
计算Java表达式得到的结果被转换成字符串,然后插入到页面。 计算在运行时进行(页面被请求时),因此可以访问和请求有 关的全部信息。例如,下面的代码显示页面被请求的日期/时间: Current time: <%= new java.util.Date() %>
动态网页设计(JSP) http://www.swust.net.cn
动态网页设计(JSP) http://www.swust.net.cn
理解服务器端执行
<%@ page language="java" contentType="text/html;charset=GBK"%> <%@page import="java.util.*"%> <% Date dnow = new Date(); int dhours = dnow.getHours(); int dminutes = dnow.getMinutes(); int dseconds = dnow.getSeconds(); out.print("服务器时间:" + dhours + ":" + dminutes + ":" + dseconds); %> <SCRIPT LANGUAGE="JavaScript"> var dnow = new Date(); dhours = dnow.getHours(); dminutes = dnow.getMinutes(); dseconds = dnow.getSeconds(); document.write("<br>浏览器时间:" + dhours + ":" + dminutes + ":" + dseconds); </SCRIPT> 动态网页设计(JSP) http://www.swust.net.cn
有些类在默认情况下已经被加入到当前JSP页面,而不需要特 殊声明,包括四个类: java.lang.*;java.servlet.*;java.servlet.jsp.*和 java.servlet.http.* 。
动态网页设计(JSP) http://www.swust.net.cn
编译指令 page指令
动态网页设计(JSP) http://www.swust.net.cn
使用errorPage指令捕获异常
<%@ page language="java" errorPage=“error.jsp"
contentType="text/html;charset=GBK"%> <% int dividend = 0; int divisor = 0; int result = 0; try { result=dividend/divisor; } catch(ArithmeticException zz) { throw new ArithmeticException( "除数不能为零!" ); } %>
<%@ page isErrorPage="true" contentType="text/html;charset=GBK"%> 当前页面是:errortest.jsp<br> <%out.print(exception.toString());%>
动态网页设计(JSP) http://www.swust.net.cn
动态网页设计(JSP) http://www.swust.net.cn
jsp:param指令
使用jsp:param操作指令可以在执行jsp动作指令forward操作 动作时,追加参数.以动作指令字/值的方式进行传递。
jsp:param操作指令以标记“<jsp:param>”开始,以“/>”结 束比如:<jsp:param name=“oper” value=“add”/>。 可以将jsp:forward操作指令和jsp:param操作指令结合到一起 来使用。 实例:forwardExample1.jsp paramExample1.jsp
动态网页设计(JSP) http://www.swust.net.cn
<jsp:plugin>
使用“<jsp:plugin>”插入一个applet或Bean,必要的话 还要下载一个Java插件用于执行它。
JSP 语法格式如下:
<jsp:plugin type="bean | applet" code="classFileName" codebase="classFileDirectoryName"
编译指令
page指令
contentType这个属性用来设定传回网页的文件格式 和编码方式,一般使用 “text/html;charset=GBK”。
isThreadSafe 定义JSP容器执行JSP程序的方式,默 认值为“true”,代表JSP容器会以多线程方式运行 JSP页面。当设定值为“false”时,JSP容器会以单 线程方式运行JSP页面。 session定义当前JSP页面中是否要用到session,默认 值为“true”。
动态网页设计(JSP) http://www.swust.net.cn
include指令
include指令用来指定怎样把另一个文件包含到当前的JSP页面 中,这个文件可以是普通的文本文件,也可以是一个JSP 页面。例如:“<%@ include file = ”logo.htm“%>”。
采用include指令,可以实现JSP页面的模块化,使JSP的开发 和维护变得非常简单。
注释
JSP 注释语法格式如下: <!-- comment [ <%= expression %> ] --> 或 <!-- 注释 [<%= 表达式 %> ] --> 这种注释发送到客户端,但不直接显示,在源代码中可以查 看到。
JSP 另外一种注释语法格式如下: <%-- 注释 --%> 不发送到客户端。
jsp:include指令
jsp:include标准动作用于在当前的JSP页面中加入静态和动态 的资源。 语法格式为:
– <jsp:include page=“test.htm”/> – jsp:include指令必须以“/”结束,功能和include指 令大致相同。 区别: include(操作指令):编译时包括,形成一个整体 include(动作):运行时包括
– 动作指令(操作指令)则是在JSP页面被请求时,动态执行的,比 如可以根据某个条件动态跳转到另外一个页面。 – JSP代码指的就是我们自己嵌入在JSP页面中的Java代码,这又分为 两种:第一种是JSP页面中一些变量和方法的声明,在声明时,使 用“<!%”和“%>”标记。另外一种,就是常用到的用“<%”和“%>” 包含的JSP代码块
extends设定目前JSP页面要继承的父类。一般情况下不需要进行设 置。在默认情况下,JSP页面的默认父类是HttpJspBase。例如: 当前JSP页面要继承mypackage包下的myclass类,相应的声明语 句为:“<%@ page extends="mypackage.myclass"%>”。
实例:includeSample1.jsp
动态网页设计(JSP) http://www.swust.net.cn
动作指令
JSP编译指令是让JSP容器自动采取的动作,但对于Web开发人员,有些 时候想要自己控制JSP页面的运行,这时可以采用JSP中的操作指令。
JSP 标准动作 <jsp: useBean> 标记 <jsp: getProperty> 标记 <jsp: setProperty> 标记 <jsp: forward> 标记 <jsp: include> 标记
西南科技大学网络教育系列课程 动态网页设计(JSP)
第四章 JSP语法 (续)
内容提要
介绍JSP页面的结构
JSP的编译指令、操作指令和代码
理解服务器动作指令行
所有HTML文件可以在资源管理器中双击执行
但是JSP文件必须先放到Web服务器中,然后通过HTTP的方式访问。因 为文件内所有<%%>内代码是被Web服务器解释执行的。
相关文档
最新文档