资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,21世纪高职高专规划教材计算机类,JSP动态网页编程,主 编 王丽菊 时武略,副主编 苏红丽 刘 颖 孙 敏,参 编 刘 勇 徐 超,前 言,本书以JSP程序编写为主线,以应用为主要目标,结合实例展开知识点讲解,运用项目实例系统地阐述JSP技术的相关概念、技术和应用方法。,本书共分7章,内容遵循循序渐进的原则,逐步深入,理论联系实际,注重项目实践,致力于培养能上手开发Web软件系统的JSP程序员。,第1章:首先介绍了静态网页和动态网页以及两者的区别,其次对JSP技术进行了简单叙述并比较了JSP,PHP,ASP三种动态网站建站技术。最后介绍JSP开发环境和运行环境的搭建,包括jdk,tomcat,eclipse和myeclipse的安装和配置等内容。,下一页,返回,前 言,第2章:主要讲述了Java语言的基础知识、HTML基础知识和JavaScript的内容,这些是进行JSP开发所必须掌握的。,第3章:JSP的页面元素,先讲述JSP页面的基本结构,接着介绍JSP指令和JSP动作。,第4章:讲述JSP内置对象的使用方法。,第5章:讲述了JDBC技术和数据库驱动程序,JDBC常用接口方法,使用JDBC-ODBC方式访问Access数据库,使用JDBC方式访问SQLServer数据库、MySQL数据库和Oracle数据库,JDBC操作数据库实例等。,第6章:讲述了JavaBean组件技术在JSP程序开发中的应用,包括JavaB eans的属性,JavaB eans的Scope属性并给出了一个学生信息管理的例子。,上一页,下一页,返回,前 言,第7章:讲述了Servlet的结构、接口方法和生命周期等概念以及Servlet与jsp之间的关系和jsp开发网站的两种模式。,本书有以下特点:,内容由浅入深逐层推进。不同章节实现不同深度的代码,以深入透彻理解各知识模块的实际应用。,理论与应用紧密结合。各个章节都通过实例来理解概念,通过应用来学习技术,使读者易学易用,学以致用。,每一章开始都有本章要点。这些要点列在每一章的标题下面,这样有助于读者了解对每章知识的掌握程度。一些被引用的例子有详细的说明,这样有助于读者更好地掌握概念以及相关定义。,上一页,下一页,返回,前 言,通过本书的学习,读者应该能够掌握JSP,Servlet,JDBC和JavaBean等基本知识,可以利用这些基本知识实现简单的Web功能。更重要的是读者通过本书的学习会体会到Java技术的精髓。,本书适合JSP初学者和进阶者阅读,既可作为高职院校计算机专业及相关专业的教材,也可作为技术人员的培训教材。,由于作者水平有限,书中难免有疏漏和错误,恳请读者批评指正。,上一页,返回,目 录,第1章 JSP概述,1.1 静态网页与动态网页,1.2 JSP简介,1.3 JSP与其他动态网页的技术比较,1.4 配置JSP运行环境,下一页,返回,目 录,第2章 JSP程序设计基础,2.1 Java基础,2.2 HTML基础知识,2.3 JavaScript简介,2.4 典型案例:制作用户注册表单,上一页,下一页,返回,目 录,第3章 JSP页面元素,3.1 JSP页而的基本结构,3.2 JSP指令,3.3 JSP动作,上一页,下一页,返回,目 录,第4章 JSP内置对象,4.1 内置对象概述,4.2 out对象,4.3 request对象,4.4 response对象,4.5 session对象,4.6 其他对象,上一页,下一页,返回,目 录,第5章 JSP连接数据库,5.1 JDBC简介,5.2 访问Access,5.3 访问SQLServer,5.4 JDBC访问其他数据库,上一页,下一页,返回,目 录,第6章在JSP中应用JavaBean,6.1 JavaBean概述,6.2设置和获取J avaB can属性,6.3 JavaBean作用域,6.4使用JavaBean,上一页,下一页,返回,目 录,第7章 JSP与Servlet,7.1 Servlet概述,7.2 Servlet与JSP的关系,7.3 Servlet的常用接口类,7.4 Servlet的生命周期,7.5 Servlet应用案例,7.6 Servlet与JSP的交互,7.7 JSP开发网站的两种模式,上一页,返回,第1章 JSP概述,1.1 静态网页与动态网页,1.2 JSP简介,1.3 JSP与其他动态网页的技术比较,1.4 配置JSP运行环境,1.1 静态网页与动态网页,W W W(World Wide Web)又称万维网,是Internet提供的主要服务之一,同样也是常用服务之一。它起源于1989年欧洲物理研究室CCERN),当时是为了研究人员互相传递文献资料用的,主要是由该研究室的物理学家Tim Berners-Lee提出的。自从WWW发明后,Internet不再局限于科学研究和军事目的,而是迅速进入千家万户,成为人们学习、工作、交流以及娱乐的一个非常贡要的手段。,下一页,返回,1.1 静态网页与动态网页,目前的WWW网页根据其生成方式,大致可以分为静态网页和动态网页两种。,静态网页,是指该网页文件单没有程序代码,只有HTML标记,这种网页一般以后缀.HTM或.HTML存放。静态网页一经生成,内容就不会再变化,不管何时何人访问,显示的都是一样的内容,如果要修改相关内容,就必须修改源代码,然后上传到服务器。比如一些常见的单位介绍、个人介绍等页面。,上一页,下一页,返回,1.1 静态网页与动态网页,动态网页,是指该网页文件单有程序代码,这种网页的后缀一般根据不同的程序设计语言而不同,如ASP文件的后缀为.ASP。动态网页能够根据不同时间、不同的来访者而显小不同的内容。如常见的BBS,留言板以及聊天室通常是用动态网页实现的。,一般来说,静态网页制作比较简单,利用FrontPage,DreamWeaver等软件就可以方便地生成。而动态网页制作就比较复杂,击要用到ASP CActiveServerPages,动态服务器主页)、PHP CHypertextPreprocessor),JSP不II ASP.NET等专门的动态网页设计语言。,上一页,返回,1.2 JSP简介,JSP CJava Server Page Java服务器页面)是一种建立在Servlet规范提供的功能之上的动态网页技术,和ASP类似,它们都是在通常的网页文件中嵌入脚本代码,用于产生动态内容,不过JSP文件中嵌入的是Java代码和JSP标记。,JSP文件在用户第一次清求时,会被编译成Servlet,然后由这个Servlet处理用户的清求,所以JSP也可以看成是运行时的Seru1eto既然JSP也是Servlet,那么为什么还要使用JSP,或者说JSP和Servlet的区别是子卜么呢?,下一页,返回,1.2 JSP简介,Servlet是Java对CGI的回应。它们在服务器上执行和解释浏览器的请求,承担客户端和其他应用程序之间的中间层的角色。Servlet主要是把动态的内容混合到静态的内容中以产生HTML。,JSP页面在HTML元素中嵌入Java脚本代码和JSP标记,使得文件长度变短,格式更加清晰。另一方面,JSP把静态和动态的内容分离开来,实现了内容和表示的分离。,使用JSP,不需要单独配置每一个文件,只要扩展名是.JSP,JSP容器(也是Servlet容器)就会自动识别,将其转换为Servlet为客户端服务。术语Web容器和JSP容器是同义的。,上一页,返回,1.3 JSP与其他动态网页的技术比较,JSP与ASP,PHP同为动态网页开发技术,但二者是有区别的,现在就来介绍二者各自的技术特点和应用范围。,1.3.1 ASP的特点,ASP是Microsoft公司开发的一套服务器脚本环境,它内含于IIS中。利用ASP可以结合HTML网页、ASP指令和ActiveX建立动态的、交h_的、高效率的Web服务器应用程序。,它同JSP,PHP比较主要有如下优势:,下一页,返回,1.3 JSP与其他动态网页的技术比较,(1)易学易用。,(2)安装、配置简单。,(3)开发工具简单多样。,(4)与浏览器无关。,(5)组件具有扩充性。,除了优势外,ASP在如下几个方面表现不足。,(1)只能在Windows平台上运行。,(2)开发环境不开放。,(3)行速度比较慢。,上一页,下一页,返回,1.3 JSP与其他动态网页的技术比较,1.3.2 PHP的特点,PHP与ASP类似,是一种服务器端的脚本语言。PHP的语法混合了C,Java,Perl以及PHP的新式语法,可以比CGI或Perl更快地执行动态网页。,PHP主要有如下优点:,(1)PHP是跨平台的。,(2)语法简单。,(3)具有面向对象性。,(4)良好的安全性。,上一页,下一页,返回,1.3 JSP与其他动态网页的技术比较,PHP在如下方面存在不足:,(1)数据库的支持不足。,(2)不是工业标准。,(3)不支持ASP中的ActiveX不II JSP中的Servlet组件开发技术。,1.3.3 JSP的特点,JSP主要的特点如下:,(1)一次编写,随处运行。,(2)有统一的技术标准。,(3)自由扩展JSP标签。,上一页,下一页,返回,1.3 JSP与其他动态网页的技术比较,(4)执行性能高。,(5)开发工具多而强大。,JSP也不是十全十美的,它主要的缺点如下:,(1)必须熟悉Java语言。,(2)难以调试。,JSP和ASPJE优质、PHP比较,本身并没有特别明显的优势,JSP的优势在于它是以Java技术为基础的,JavaBean,Servlet等J2EE技术是JSP强大生命力所在。对于中小网站来说二者没有明显的区别,对于大型的网站来说,JSP是首选。,上一页,返回,1.4 配置JSP运行环境,1.4.1JDK的安装与配置,在安装Tomcat之前,必须先安装JDK,可以从Sun公司的网站:上免费下载。,双击j2sdk-1_ 4_ 2-13-windows-i586-p.exe,进入安装界面,如,图1-1,所示。然后进入如,图1-2,所示的界面,选择Iacceptw单选按钮后单击N ext按钮进入下一步安装。,下一页,返回,1.4 配置JSP运行环境,单击Next按钮,进入选择安装目录的界面,可以单击Change按钮来更改目录(如,图1-3,所示),单击Next按钮,再单击Install按钮,会显示一个安装进度条;安装完成后单击Finish按钮结束安装,如,图1-4,所示。,1.4.2 Tomcat的安装和配置,可以从网站上获取j akarta-tomc at-5.0.19.ex e文件,双击进行安装,如,图1-5,图1-6,所示。在图1-6所示安装过程中可以单击Browse按钮,选择安装目录。单击N ext按钮,直到安装结束。,上一页,下一页,返回,1.4 配置JSP运行环境,安装JDK和Tomcat成功后,击要配置环境变量,(上文中JDK的安装目录为C:j2sdk1.4.2-13,Tomcat的安装b录为C:Tomcat 5.0)右击选择“我的电脑”一“属性”一“高级”一“环境变量”一“新建用户变量”命令,添加以下变量。,JAVA_ HOME:C:j2sdk1.4.2-13(如,图1-7,所示),CLASSPATH:.;%JAVA_ HOME%libdt.jar;%JAVA_ HOME%libtools.jar(注意:点号表示、当前目录,不能省略),上一页,下一页,返回,1.4 配置JSP运行环境,PATH:%JAVA_ HOME%bin;(注意:这单的分号不能省略)到这单,JDK安装完毕。,CATALINE HOME:C:Tomcat 5.0,CATALINE BASE:C:Tomcat 5.0,配置完毕,测试安装是否成功。首先启动Tomc at,找到C:Tomcat 5.0bin目录下的startup.bat双击。打开浏览器,在地址栏中输入127.0.0.1:8080或者localhost:8080出现如,图1-8,所示的界面,表示安装成功。,上一页,下一页,返回,1.4 配置JSP运行环境,1.4.3安装开发工具Eclipse+MyEclipse,首先下载eclipse-SDK-3.1.2-win32.zip(下载地址为:www.eclipse.org/downloads/);然后将eclipse-SDK-3.1.2-win32.zip直接解压到C盘根目录下(如,图1-9,所示),运行eclipse.exe就可以编程了。,上一页,下一页,返回,1.4 配置JSP运行环境,MyEclipse的安装,首先下载E口to印riseWorkbenchlnstaller 4.1.16八E3.l.exe(下载地址为:GA/EnterpriseWorkbenc hlnstaller 4.1.1GA E3.l.exe);然后双击进入安装界面如,图1-10,所示,然后单击N ext按钮,进入License Agreement界面,选择I accept单选按钮(如,图1-11,所示),单击N ext按钮,选择Eclipse的安装路径(如,图1-12,所示),单击Next按钮,选择MyEclipse的安装路径(如,图1-13,所示),单击N ext按钮直至安装成功。,安装成功后,从“开始”“程序”菜单单面启动MyEclipse,如,图1-14,所示。,上一页,下一页,返回,1.4 配置JSP运行环境,启动后击要配置J2EE的运行环境。首先在Window Preferences Java Installed JREs,中增加JDK。设置环境变量名称为JDK,指向JDK的安装b录C C:j2sdk1.4.2-13)如,图1-15,所示,单击OK按钮完成。,接着,如,图1-16,所示在Window Preferences MyEclipse Application Server Tomcat 5面板中选中Tomcat的安装目录,启用该服务器(选中Enable单选按钮)。接着,在WindowPreferences MyEclipse Application Server TomcatS JDK面板中,在Tomcat JDK name下拉列表框中选择JDK,如,图1-17,所示。,上一页,下一页,返回,1.4 配置JSP运行环境,1.4.4第一个JSP页面,将JSP的运行环境配置好后,来建立第一个JSP页面。用记事本或任意一个文本编辑工具来编写第一个JSP页面(文件扩展名要以.JSP保存)。,上一页,返回,图1-1安装JDK的界而,返回,图1-2安装JDK的界而(接受约定),返回,图1-3安装JDK的界而(选择安装目录),返回,图1-4安装JDK的界面(完成),返回,图1-5 Tomcat的安装界面(一),返回,图1-6 Tomcat的安装界面(二),返回,图1-7 JAVA HOME的设置,返回,图1-8 Tomcat酉己置成功的测试页,返回,图1-9 Eclipse的安装,返回,图1-10 MyEclipse安装(一),返回,图1-11 MyEclipse安装(二),返回,图1-12 MyEclipse安装(三),返回,图1-13 MyEclipse安装(四),返回,图1-14 MyEclipse和Welcome界面,返回,图1-15 MyEclipse的配置,返回,图1-16 MyEclipse的配置(Tomcat 的启用),返回,图1-17 MyEclipse 的配置(Tomcat JDK name 的设置),返回,第2章 JSP程序设计基础,2.1 Java基础,2.2 HTML基础知识,2.3 JavaScript简介,2.4 典型案例:制作用户注册表单,2.1 Java基础,2.1.1 Java的特性,Java是一种跨平台,适合于分布式计算环境的面向对象编程语言。具体来说,它具有如下特性:简单性、面向对象、分布式、解释性、可靠性、安全性、平台无关性、可移植性、多线程以及动态性等。,本节简单介绍Java语言的面向对象、平台无关性、分布式、可靠性和安全性以及多线程5个主要特性。,下一页,返回,2.1 Java基础,1.面向对象,Java是面向对象的语言,可以面向对象编程。面向对象编程语言支持3个概念:封装、多态性和继承,Java也不例外。现实世界中的对象均有属性和行为,映射到计算机程序上,属性则表示对象的数据,行为表示对象的方法。,封装,就是用一个自主式框架把对象的数据和方法联在一起形成一个整体。可以说,刘象是支持封装的乎段,是封装的基本单位。Java语言的封装性较强,因为Java无全程变量,无主函数,在Java中绝大部分成员是对象,只有简单的数字类型、字符类型和布尔类型除外。而对于这些类型,Java也提供了相应的对象类型以便与其他对象交互操作。,上一页,下一页,返回,2.1 Java基础,2.平台无关性,Java是平台无关的语言,是指用Java写的应用程序不用修改就可在不同的软硬件平台上运行。平台无关有两种:源代码级和目标代码级。Java主要靠Java虚拟机(JVM)在目标码级实现平台无关性。JVM是Java平台无关的基础,在JVM上,有一个Java解释器用来解释Java编译器编译后的程序。Java编程人员在编写完软件后,通过Java编译器将Java源程序编译为JVM的字节代码。任何一台机器只要配备了Java解释器,就可以运行这个程序,而不竹这种字节码是在何种平台上生成的。另外,Java采用的是基于IEEE标准的数据类型。通过JVM保证数据类型的一致性,也确保了Java的平台无关性。,上一页,下一页,返回,2.1 Java基础,3.分布式,分布式包括数据分布和操作分布。数据分布是指数据可以分散在网络的不同主机上,操作分布是指把一个计算分散在不同主机上处理。Java支持WWW客户机/服务器计算模式,因此,它支持这两种分布性。对于前者,Java提供了一个叫做URL的对象,利用这个对象,可以打开并访问具有相同URL地址上的对象,访问方式与访问本地文件系统相同。对于后者,Java的Applet小程序可以从服务器下载到客户端,即部分计算在客户端进行,提高系统执行效率。Java提供了一整套网络类库,开发人员可以利用类库进行网络程序设计,方便实现Java的分布式特性。,上一页,下一页,返回,2.1 Java基础,4.可靠性和安全性,Java最初的设计目的是应用于电了类消费产品,因此要求较高的可靠性。第一,Java是强类型的语言,要求显式的方法声明,这保证了编译器可以发现方法调用错误,保证程序更加可靠;第一,Java不支持指针,这杜绝了内存的非法访问;第二,Java的自动单元收集防止了内存丢失等动态内存分配导致的问题;第四,Java解释器运行时实施检查,可以发现数组和字符串访问的越界,第五,Java提供了异常处理机制,程序员可以把一组错误代码放在一个地方,这样可以简化错误处理任务便于恢复。综上使得Java戊为安全的编程语言。,上一页,下一页,返回,2.1 Java基础,5.多线程,线程是操作系统的一种新概念,它又被称为轻量进程,是比传统进程更小的可并发执行的单位。,C和C+采用单线程体系结构,而Java却提供了多线程支持。,Java在两方面支持多线程。一方面,Java环境本身就是多线程的。若干个系统线程运行负责必要的无用单元回收、系统维护等系统级操作;另一方面,Java语言内置多线程控制,可以大大简化多线程应用程序开发。,上一页,下一页,返回,2.1 Java基础,2.1.2 Java程序结构,Java程序结构的必要元素如下:,(1)一个Java程序包含一系列的类。,(2)每个程序中至少有一个类,也可以有多个类。,(3)每个类的程序代码存放在一个单独的文件中,其文件名必须与内部定义的类名相同。,(4)Java源文件必须使用扩展名.java。比如类Hello的文件名为Hello.java,Booklnfo类的文件名为Booklnfo.java。,上一页,下一页,返回,2.1 Java基础,2.1.3 Java基本语法,1.注释,在Java中共包含3种类型的注释。,刀:单行注释。,/*八多行注释。,/*/:文档注释,这种形式的注释可以使用JavaDoc工具牛成Java风格的帮助文件。,2.标识符和关键字,在Java中,为变量、方法、类和对象起的名字称为标识符。标识符以字符或下划线“_”或“$”符号开头,后面可以包含字母、下画线、“$”或数字。,上一页,下一页,返回,2.1 Java基础,Java中的关键字指的是由系统使用的,具备特定含义的字符。比如:abstract,continue,for,new及switch等。,在Java中命名属性或方法时,不能与系统关键字重名。,3.Java的数据类型,Java中的数据分为两大类型:基本数据类型和引用数据类型。基本数据类型包括布尔,字符,整数和浮点数等。引用数据类型包括类,接口和数组。,上一页,下一页,返回,2.1 Java基础,4.Java流程控制,Java的流程控制语句包括条件和循环语句。,条件语句可以根据某个表达式的值有选择地执行某部分程序。Java支持两种类型的条件语句:if不II switch语句。,if语句的基本格式如下:,if(条件表达式),语句序列一;,else,语句序列二;,上一页,下一页,返回,2.1 Java基础,switch用来实现多贡分支结构,switch语句的基本格式如下:,switch(表达式),case值1:,语句1;,break;,case值2:,语句2;,break;,case值n:,上一页,下一页,返回,2.1 Java基础,语句n;,break;,default:语句,循环语句可用于重复执行语句。有3种循环语句:for,while和do-while循环。fo:和while循环在循环开始执行循环体之前测试循环条件,而do-while循环在执行循环体之后检查循环条件。,while语句的语法格式如下:,while(循环条件),循环体中语句;,上一页,下一页,返回,2.1 Java基础,do-while语句的格式如下:,do,循环体中语句;,while(循环条件),for语句的语法格式如下:,for(循环初始化语句;T环终止条件;T环变量修改),循环体;,上一页,返回,2.2 HTML基础知识,在进行Web项目开发时,尤论在JSP中,还是在其他的服务器端脚本中,HTML都是最为基本的内容。本节介绍HTML的基础知识。,2.2.1 HTML页面的基木结构,一个HTML文档是由标记和文本内容组成。基本结构如下:,.,下一页,返回,2.2 HTML基础知识,说明:标记是HTML语言的标签符号和用标签符号构成的各种元素的统称,用来界定各种单元,用一对“”中间包含若十字符命令表示,前一个“”为起始标记,后一个“”为结束标记,单元的名称和属性由起始标记给出。,上一页,下一页,返回,2.2 HTML基础知识,1.标记(最外层的标记),(1)语法规则:,(2)属性:V ERSION=String,2.标记(用来标记HTML文档的页首),(1)语法规则为:,(2)属性:None(无),3.标记(设置网页标题),(1)语法规则:,(2)属性:N one(无),上一页,下一页,返回,2.2 HTML基础知识,4.标记(标注HTML文档的正文),(1)语法规则:.,(2)属性:,BACKGROUND=URL;指定用于网页背景图片文件的地址。,BGCOLOR=#RRGGBB;指定背景色彩。,TEXT=#RRGGBB;指定非可链接文字的色彩。,LINK=#RRGGBB;指定口J链接文字的色彩。,上一页,下一页,返回,2.2 HTML基础知识,ALINK=#RRGGBB;指定i1被鼠标单击的可链接文字的色彩。,VLINK=#RRGGBB;指定已被鼠标单击(访问)过的可链接文字的色彩。,说明:#RRGGBB是指色彩红一绿一蓝Cred-green-blue RGB)的值,用十六进制数码表小,根据规范前面击加“#”。,2.2.2常用元素,(1)段落标记:.,(2)换行:,(3)居中:,上一页,下一页,返回,2.2 HTML基础知识,(4)下画线、加粗、倾斜:.,.,.,(5)项目标题标签:.,(6)无序列表:,列表项,(7)有序列表:,w,.,上一页,下一页,返回,2.2 HTML基础知识,(8)图片标记:,(9)注释:,2.2.3链接标记,在HTML中,通过使用链接标记,可以在互联网的资源之间方便地跳转。可以说,超级链接功能是HTML的一个重要因素。,超级链接的标记语法如下:,.,上一页,下一页,返回,2.2 HTML基础知识,2.2.4表格标记,在HTML中,表格标记是一个非常重要的标记,在sP页面中经常用到,尤其在和数据库连接时。,表格标记的语句结构如下:,上一页,下一页,返回,2.2 HTML基础知识,结构说明:,定义表格,定义行,定义表头,定义数据,2.2.5表单标记,在Web开发中,表单标记是最为常用的标记之一。可以通过表单标记以及一些包含在表单中的其他标记,获得用户的输入信息,从而实现客户端和服务器端的交互。,上一页,下一页,返回,2.2 HTML基础知识,表单基本格式如下:,下面依次将表单中的其他标记及格式列举如下:,(1)文本域。,单行文本域:,多行文本域:.,密码域:,上一页,下一页,返回,2.2 HTML基础知识,(2)复选框(Checkbox)和单选框(RadioButton)。,复选框:,单选框:,上一页,下一页,返回,2.2 HTML基础知识,(3)列表框。,(4)隐藏域:,(5)文件域:,上一页,返回,2.3 JavaScript简介,JavaScript是Web项目开发中使用的一种技术,用来实现对客户端的控制,例如,实现客户端的特效,进行客户端用户输入信息的验证等,从而减少网络流量,减轻服务器端的负担。和Java不同的是,JavaScript是一种脚本语言,它不能脱离浏览器直接运行。,返回,2.4 典型案例:制作用户注册表单,在进行Web开发时,经常会有用户注册的功能,因此,用户注册表单是经常被用到的。下面通过案例来演示用户注册表单的程序代码,及对用户输入的数据进行验证的实现过程。,(1)用户注册表单案例源码(reg.html)。,(2)验证客户输入信息的JavaScript代码(validform.js)。,(3)在reg.html中的和之间使用如下语句将validform.js引入进去。,返回,第3章 JSP页面元素,3.1 JSP页而的基本结构,3.2 JSP指令,3.3 JSP动作,3.1 JSP页而的基本结构,JSP页面的基本结构包括注释、代码段、声明和表达式。,3.1.1变量和方法的声明,JSP的声明可以用来定义变量,在声明元素中声明的变量和方法在JSP页面初始化时被初始化。,语法格式:或,下一页,返回,3.1 JSP页而的基本结构,说明:声明将要在JSP程序中用到的变量和方法。必须这样做,不然会出错。可以一次性声明多个变量和方法,只要以“;”结尾就行,当然这些声明在Java中必须是合法的。当声明方法和变量时,需要注意以下的一些规则。,(1)声明必须以“;”结尾(scriptlet有同样的规则,但是表达式就不同了)。,(2)可以直接使用在中被包含进来的己经声明的变量和方法,不需要对它们重新进行声明。,(3)一个声明仅在一个页面中有效。如果想每个页面都用到一些声明,最好把它们写成一个单独的文件,然后用或元素包含进来。,上一页,下一页,返回,3.1 JSP页而的基本结构,3.1.2 JSP表达式,表达式用于输出单个变量或某个计算的结果,可以将某个计算结果转换成一个字符串并目直接使用在输出页面上。表达式可以包含任何Java语言表达式,只要表达式可以求值即可。,表达式的语法格式:或,当在JSP中使用表达式时需要记住以下几点。,(1)不能用一个分号(“;”)来作为表达式的结束符。,(2)有时候表达式也能作为其他JSP元素的属性值。,(3)一个表达式能够变得很复杂,它可能由一个或多个表达式组成,这些表达式的顺序是从左到右。,上一页,下一页,返回,3.1 JSP页而的基本结构,3.1.3码段,代码段是JSP中的代码部分,即Java程序的一段代码,几乎可以使用任何Java语法,它可以使用JSP页面所定义的变量、方法、表达式或JavaBean。,代码段语法格式:或,上一页,下一页,返回,3.1 JSP页而的基本结构,3.1.4 JSP注释,图3-2程序运行结果,任何程序都有注释,JSP也不例外。JSP中的注释有两种,一种称为HTML式注释,它会在客户端显小;另一种是隐藏注释,它写在JSP程序中,只有服务器端的开发人员才能看到。,1.HTML式注释,语法格式:-,2.隐藏注释,语法格式:或,上一页,返回,3.2 JSP指令,3.2.1 page指令,page指令用来设置整个JSP页面的相关属性和功能,其基本语法如下:,page指令包含了很多属性,属性说明见,表3-1,。,上一页,下一页,返回,3.2 JSP指令,3.2.2 include指令,include指令在JSP页面被编译成Servlet时引入程序员期望包含的HTML文件或JSP文件(也可能是其他类型的文件,具体允许包含哪些类型的文件击要根据服务器的情况而定)。,include指令的基本语法如下:,说明:,(1)file属性指向击要引用的HTML页面和JSP页面,但是击要注意该页面的路径必须是相对的,否则会出错。,上一页,下一页,返回,3.2 JSP指令,(2)include指令在JSP文件中插入一个包含文本和代码的文件。被包含的文件可以是JSP文件,HTML文件或文本文件。如果被包含的文件是JSP文件,则JSP引擎编译完该JSP文件后,执行的结果将插入到主JSP文件中include指令所在的位置。如果被包含的文件是HTML文件或文本文件,则JSP引擎不对其进行编译,直接将其内容插入到主JSP文件中include指令所在的位置。该包含是静态包含,即被包含的文件处理完,而且结果也插入到主JSP文件完毕,主JSP文件将继续执行include指令下面的内容。,上一页,下一页,返回,3.2 JSP指令,(3)被包含的文件中不能含有,,或标签。因为被包含的文件的全部内容将被插入到JSP文件中include指令所在的地方,这些标签将会同JSP文件中己有的同样的标签发生冲突。,(4)假如被包含的文件发生变化,主JSP页面将被重新编译。,3.2.3 taglib指令,taglib指令是JSP 1.1规格中新增的功能,它允许用户自定义新的标签,就如同XML那样。taglib指令的基本语法如下:,上一页,下一页,返回,3.2 JSP指令,其中url属性用来指明自定义标签库的存放位置。tagPrefix是为了区分不同标签库中的相同标签名,就如同包名和类名的关系。,下面的例子显小了如何用定制的标签来产生动态内容,在这种情况下并不击要引入Java类、声明变量或者5写任何Java代码。,上一页,返回,3.3 JSP动作,3.3.1 include动作,include动作是向当前页面加入另一文件的方法。该动作把指定文件插入正在牛成的页面中。其语法如下:,jsp:include page=relative URL flush=true/,前面已经介绍过include指令,它是在JSP文件被转换成Servlet的时候引入文件,而这单的jsp:include动作不同,插入文件的时间是在页面被清求的时候。jsp:include动作的文件引入时间决定了它的效率要稍微差一点,而且被引用文件不能包含某些JSP代码(例如不能设置HTTP头),但它的灵活性却要好得多。,下一页,返回,3.3 JSP动作,例如,下面的JSP页面把3则新闻摘要插入一个JSP页面。改变新闻摘要时只需改变这3个文件,而主JSP页面却可以不做修改。,3.3.2 forward动作,jsp:forward动作把清求转到另外,的页面。j sp:forward标记只有一个属性pageo page属性包含的是一个相对URLo page的值既可以直接给出,也可以在清求的时候动态计算,如下面的例子所小:,上一页,下一页,返回,3.3 JSP动作,3.3.3 param动作,用来提供参数信息,其基本语法是:,jsp:param name=parameterName value=parameterValue,其中,name属性是参数的名称,value属性是参数值。,上一页,下一页,返回,3.3 JSP动作,3.3.4 useBean动作,前面已经介绍过include指令,它是在JSP文件被转换成jsp:useB can动作时用来装载一个将在JSP页面中使用的JavaBean。这个功能非常有用,因为它使得我们既可以发挥Java组件重用的优势,同时也避免了损失JSP区别于Servlet的方便性。,此动作用来生成一个bean组件,并设定它的id号及使用范围。,上一页,下一页,返回,3.3 JSP动作,jsp:useBean id=beanName,scope=pagerequestsessionapplication,class=package.class,type=package.classbeanName=package.class,type=package.class/,id=beanN ame定义生成bean组件的名字,不能贡名A.scope的值也最好一样,否则JSP引擎将认定最先被创建的那个。,上一页,下一页,返回,3.3 JSP动作,scope=pagerequestsessionapplication:定义bean的活动范围,bean只有在它定义的范围!.才能使用,在它的活动范围外将尤法访问到它。,JSP为它设定的范围有以下几个。,(1)page:bean的默认使用范围。,(2)request:作用于任何相同请求的JSP文件中,直到页面执行完毕向客户端发回响应或在此这之前已通过某种方式(如贡定向、链接等方式)转到另一个文件为止。还可通过使用Request对象访问bean,如req uest.getAttribute(beanN ame)。,上一页,下一页,返回,3.3 JSP动作,(3)session:作用于整个session的生存周期内,在session的生存周期内,对此bean属性的任何改动,都会影响到在此session内的另一page,另一request对此bean的调用。但必须在创建此bean的文件单事先用page指令指定了session=true。(4)application:作用于整个application的生存周期内,在application周期内,对此bean属性的任何改动,都会影响到此application内另一page,另一request以及另一session对此bean的调用。,上一页,下一页,返回,3.3 JSP动作,class=package.class用class属性指向的类示例一个bean,其中package名必须是类
展开阅读全文