Java-EE基础实用教程课件.ppt
第1章 Java EE简介,1.1 Java EE应用概述,1.2 Java EE开发环境的构建,1.3 解决问题的思路,第1章 Java EE简介1.1 Java EE应用概述,1.1 Java EE应用概述,Java EE是目前开发Web应用(特别是企业级Web应用)最流行的平台之一,其实Java Web应用的核心技术是JSP、Servlet与JavaBean。但遗憾的是,一直没有一套有效的开发规范来约束JSP程序员,导致不同程序员写出不同风格的JSP程序。项目的规模越大,这种弊端就越明显,项目的维护难度可见一斑。这时,一个基于Web框架开发的Web应用时代已经来临。继Struts成功推出之后,大批优秀的框架紧跟其后,席卷了整个市场,本书将介绍几个市场上常用的非常优秀的框架。到现在为止,Java EE应用已经趋于成熟,但其形成的组件却在不断升级、更新。首先,JDK(Java软件开发包)的版本在不断提升,其服务器也是各种各样,百家争鸣,本书将应用Tomcat作为开发服务器。就IDE(集成开发环境)而言,本书将用现在非常流行的Eclipse和MyEclipse作为开发工具。下面将介绍它们的安装、配置及使用方法。,1.1 Java EE应用概述Java EE是目前开发We,1.2 Java EE开发环境的构建,1.2.1 JDK的安装与配置通过设置系统环境变量,告诉Windows操作系统JDK 1.5的安装位置。下面具体介绍设置系统环境变量的方法。 设置系统变量JAVA_HOME。右击【我的电脑】图标,选择【属性】【高级】【环境变量】菜单项,弹出“环境变量”对话框,如图1.1所示。,图1.1 环境变量对话框,1.2 Java EE开发环境的构建1.2.1 JDK的,1.2.1 JDK的安装与配置,在【系统变量】中单击【新建】按钮,弹出“新建系统变量”对话框,在“变量名”文本框中输入“JAVA_HOME”,“变量值”文本框中输入JDK的安装路径“D:Program FilesJavajdk1.5”,如图1.2所示,单击【确定】按钮完成配置。,图1.2 新建系统变量对话框,1.2.1 JDK的安装与配置在【系统变量】中单击【新建】,1.2.1 JDK的安装与配置, 设置系统变量Path。选择【属性】【高级】【环境变量】菜单项,在【系统变量】中找到变量名为“Path”的变量,单击【编辑】按钮,在前面输入JDK到bin的目录“D:Program FilesJavajdk1.5bin;”,如图1.3所示,单击【确定】按钮完成配置。,图1.3 编辑系统, 设置系统变量CLASSPATH。与同样的操作,不同的是变量名为“CLASSPATH”,变量值为“.; D:Program FilesJavajdk1.5libdt.jar; D:Program FilesJavajdk1.5libtools.jar”。,1.2.1 JDK的安装与配置 设置系统变量Path。选,1.2.2 Tomcat的安装,下面具体介绍其安装过程: 运行apache-tomcat-6.0.14.exe,开始安装。 选择安装内容及安装路径(本书实例的安装路径是“E:Program FilesApache Software FoundationTomcat 6.0”),如图1.4、图1.5所示。可以把安装内容的“Examples”选中,作为开发的参考例子。,图1.4 选择安装内容 图1.5 选择安装路径,1.2.2 Tomcat的安装下面具体介绍其安装过程:,1.2.2 Tomcat的安装, 设定连接端口(HTTP/1.1 Connector Port)、登录名(User Name)和密码(Password),这里采用系统默认值。连接端口为8080,登录名为“admin”,密码为空,如图1.6所示。 设定Tomcat使用的JDK路径“D:Program FilesJavajdk1.5”,如图1.7所示。,图1.6 设定连接端口、登录名和密码 图1.7 设定Tomcat使用的JDK路径,1.2.2 Tomcat的安装 设定连接端口(HTTP/,1.2.2 Tomcat的安装, 安装完成并启动Tomcat,如图1.8所示。 测试是否安装成功。打开浏览器,输入“localhost:8080”,若如图1.9所示,表明安装成功。,图1.8 完成安装并启动Tomcat 图1.9 安装成功,1.2.2 Tomcat的安装 安装完成并启动Tomca,1.2.3 MyEclipse的安装与配置,MyEclipse的安装过程非常简单,只要跟着步骤走就行了,这里不再详细列举,本书示例用的是完全安装的MyEclipse。MyEclipse安装完成后,启动MyEclipse,出现了MyEclipse的菜单,如图1.10所示。,MyEclipse菜单,服务器,图1.10 MyEclipse菜单显示,1.2.3 MyEclipse的安装与配置MyEclips,1.2.3 MyEclipse的安装与配置,现在就可以对MyEclipse进行配置了。选择【Window】【Preferences】【MyEclipse】【Servers】【Tomcat】菜单项,选择“Tomcat 6.x”,在右边的“Tomcat server”栏中选择“Enable”,单击“Tomcat home directory”后面的【Browser】按钮,选择Tomcat的安装路径“E:Program FilesApache Software FoundationTomcat 6.0”,下面的两行就会自动生成出来,不用修改,如图1.11所示。,图1.11 MyEclipse服务器配置,1.2.3 MyEclipse的安装与配置现在就可以对My,1.2.3 MyEclipse的安装与配置,单击【OK】按钮,再查看菜单栏的服务器配置 ,如果有“Tomcat 6.x”就说明配置成功了,如图1.12所示。由于MyEclipse自身带有JDK,所以不用另外的配置。,图1.12 服务器配置,1.2.3 MyEclipse的安装与配置单击【OK】按钮,1.3 解决问题的思路,1.3.1 轻型框架的流行作为一个框架,如果要应用广泛,一定要具备以下6个特点: 上手快。 好的技术支持。 整合其他技术能力强。 扩张能力强。 设计结构合理。 运行稳定。只有具备了上述特点,才能算得上是一个好的框架,才能被程序员认可及应用。而我们上面提到的Struts框架、Hibernate框架、Spring框架就完全具备了上述条件。下面先来简要介绍这三个框架,让大家有一个初步的印象。,1.3 解决问题的思路1.3.1 轻型框架的流行,1.3.2 Struts框架,前面提过,MVC模式的提出改变了程序设计的思路,但代码的规范性还是很差,而Struts框架则具有组件的模块化、灵活性和重用性的优点,同时也简化了基于MVC的Web应用程序的开发,从应用的角度来说,Struts有三大块:Struts核心类、Struts配置文件及Struts标签库。由此可见,Struts本身就实现了MVC模式,就Struts的发展来说,从以前的Struts 1发展到现在的Struts 2,其目的是为了给程序员一个好的框架来开发应用软件。本书将重点讲述Struts 2。,1.3.2 Struts框架前面提过,MVC模式的提出改变,1.3.3 Hibernate框架,对目前的Java EE信息化系统而言,通常采用面向对象分析和面向对象设计的过程。系统从需求分析到系统设计都是按面向对象方式进行。但是到详细设计阶段,由于数据持久化需要保存到关系数据库,不得不自底向上修改设计方案,又回到了按照过程进行编程的老路上来,这是非常令人沮丧的。但人们的智慧是无穷的,遇到问题总会想办法解决,而不是与之妥协或绕道而走。Hibernate的问世解决了这个问题,Hibernate是一个面向Java环境的对象/关系映射工具,它可将对象模型表示的对象映射到基于SQL的关系数据模型中。这样就不用再为怎样用面向对象的方法进行数据的持久化而大伤脑筋了。,1.3.3 Hibernate框架对目前的Java EE信,1.3.4 Spring框架,Spring框架是Rod Johnson开发的,2019年发布了Spring框架的第一个版本。Spring是一个从实际开发中抽取出来的框架,因此它完成了大量开发中的通用步骤,从而大大提高了企业应用的开发效率。Spring为企业应用的开发提供了一个轻量级的解决方案。其中依赖注入、基于AOP的声明式事务管理、多种持久层的整合与优秀的Web MVC框架等最为人们关注。Spring可以贯穿程序的各层之间,但它并不是要取代那些已有的框架,而是以高度的开发性与它们紧密地整合,这也是Spring被广泛应用的原因之一。,1.3.4 Spring框架Spring框架是Rod Jo,第2章 JSP应用基础,2.1 HTML语言,2.2 Servlet应用,2.3 JSP语法,2.4 JSP内置对象,2.5 JSP综合应用实例开发一个简单的留言系统,第2章 JSP应用基础2.1 HTML语言2.2 Se,第2章 JSP应用基础,启动Tomcat服务器,在IE浏览器中输入“localhost:8080/input.jsp”,系统会显示input.jsp页面,如图2.1所示。当在文本框中输入10后,单击【计算】按钮会跳转到另外一个页面,也就是result.jsp页面,并且输出结果314.0,如图2.2所示。,图2.1 input.jsp页面图2.2 result.jsp页面,第2章 JSP应用基础启动Tomcat服务器,在IE浏览器,2.1 HTML语言,2.1.1 HTML文件的基本结构HTML文件的基本结构如图2.3所示。, 文档头部分 文档主体部分 ,图2.3 HTML文件的基本结构,2.1 HTML语言2.1.1 HTML文件的基本结构,2.1.1 HTML文件的基本结构,大家可以看下面的例子,文档头部分有网页标题标记,文档主体部分有图片标记、超链接标记及一些文字。把这段代码命名为a.html,保存在想要保存的路径。双击该文件就可以运行了。只要该路径下有b.html文件,单击超链接就可以跳转到b.html。第一个html网页超链接这是我的第一个网页,2.1.1 HTML文件的基本结构大家可以看下面的例子,文,2.1.2 HTML文件的语言标记,1. HTML标记HTML标记表示文档内容的开始和结束。是开始标记,是结束标记,其他所有的HTML代码都位于这两个标记之间。浏览器将该标记中的内容视为一个Web文档,按照HTML语言规则对文档内的标记进行解释。标记是可选的,但是最好不要省略这两个标记,以保持Web文档结构的完整性。2. 首部标记首部标记中提供与网页有关的各种信息。在首部标记中,一般使用下列标记。.:制定网页的标题。.:定义文档内容样式表。. :插入脚本语言程序。:描述网页信息。这些信息首先向浏览器提供,但不作为文档内容提交。,2.1.2 HTML文件的语言标记1. HTML标记,2.1.2 HTML文件的语言标记,3. 标题栏标记标题栏标记的内容是在浏览器标题栏中显示的文本。通常,Web搜索工具用它作为索引。4. 描述标记描述文档属性参数。5. 正文标记正文标记的格式如下:正文标记中包含文档的内容。其常用属性如下:background:文档背景图像的URL 地址。bgcolor:文档的背景颜色。text:文档中文本的颜色。link:文档中链接的颜色。vlink:文档中已被访问过的链接的颜色。alink:文档中正被选中的链接的颜色。,2.1.2 HTML文件的语言标记3. 标题栏标记,2.1.2 HTML文件的语言标记,此外,HTML文件还有很多用来设置文本格式的标记,下面举几个常用的标记。(1)分段标记 段落是文档的基本信息单位。利用分段标记,可以忽略文档中原有的回车和换行。定义一个新段落,就是换行并插入一个空行。单独使用标记时会空一行,使后续内容隔一行显示。同时使用,则将段落包围起来,表示一个分段的块。其最常用的属性如下。align:段落的水平对齐方式,其值如下:left:左对齐(默认值)。center:居中对齐。right:右对齐。justify:两边对齐。,2.1.2 HTML文件的语言标记此外,HTML文件还有很,2.1.2 HTML文件的语言标记,(2)换行标记该标记强行中断当前行,使后续内容在下一行显示,这个标记很简单,也很常用。(3)标题标记标题标记的格式如下:其常用属性如下。align:段落的水平对齐方式,其值如下:left:左对齐(默认值)。center:居中对齐。right:右对齐。justify:两边对齐。,2.1.2 HTML文件的语言标记(2)换行标记,2.1.2 HTML文件的语言标记,(4)对中标记该标记中间的内容全部居中。(5)块标记块标记的作用是定义文档块。常用属性如下。align:段落的水平对齐方式。其值如下:left:左对齐(默认值)。center:居中对齐。right:右对齐。,2.1.2 HTML文件的语言标记(4)对中标记,2.1.2 HTML文件的语言标记,(6)水平线标记在标记位置画一条线。常用属性如下。align:段落的水平对齐方式。其值如下:left:左对齐(默认值)。center:居中对齐。right:右对齐。color:线的颜色。size:线的宽度(以像素为单位)。width:线的长度(像素或占页面宽度的百分数)。noshade:显示一条无阴影的实线。(7)字体标记字体标记用来设置文本的字符格式,主要包括字体、字号和颜色等。常用属性如下。face:字体名表。size:字号值。color:颜色值。设置字体的颜色。,2.1.2 HTML文件的语言标记(6)水平线标记,2.1.2 HTML文件的语言标记,(8)图像标记图像标记的常用属性如下。src:图像文件的URL 地址。alt:图像的简单文本说明,在浏览器下不能显示图像或图像加载时间过长时显示该文本。height:显示图像的高度(像素或百分比)。width:显示图像的宽度(像素或百分比)。align:图像大小小于显示区域大小时的对齐方式。使用align属性设置图像与文本在垂直方向的对齐方式,此时align属性的取值如下:top:图像与文本顶部对齐。middle:图像与文本中央对齐。bottom:图像与文本底部对齐。当图像在左右绕排文本时,align属性的取值如下:left:图像居左,文本居右。right:图像居右,文本居左。,2.1.2 HTML文件的语言标记(8)图像标记,2.1.2 HTML文件的语言标记,(9)超链接标记超链接内容超链接的常用属性如下。href:目标端点的URL 地址(可以包含一个或多个参数)。如前面的例子中:超链接单击此超链接,就会跳转到名为b.html的页面。该属性是必选项。target:窗口或框架的名称。target属性的取值既可以是窗口或框架的名称,也可以是如下保留字:_blank:未命名的新浏览器窗口。_parent:父框架页或窗口。如果包含链接的框架不是嵌套的,则链接的目标文件加载到整个浏览器窗口中。_self:所在的同一框架或窗口。_top:整个浏览器的窗口,并删除所有框架。,2.1.2 HTML文件的语言标记(9)超链接标记,2.1.3 表单与表格的使用,1. 表单及其控件标记表单用来从用户(站点访问者)处收集信息,然后将这些信息提交给服务器进行处理。表单中可以包含允许用户进行交互的各种控件,例如,文本框、列表框、复选框和单选按钮等。用户在表单中输入或选择数据后提交,该数据就会提交到相应的表单处理程序,以各种不同的方式进行处理。表单结构如下: (1)表单标记该标记的格式如下:,2.1.3 表单与表格的使用1. 表单及其控件标记,2.1.3 表单与表格的使用,form标记的属性如下。name:表单的名称。method:表单数据传输到服务器的方法。其属性值如下:post:在HTTP请求中嵌入表单数据。get:将表单数据附加到请求该页的URL中。action:接收表单数据的服务器端程序或动态网页的URL地址。target:目标窗口。其属性值如下:_blank:在未命名的新窗口中打开目标文档。_parent:在显示当前文档的窗口的父窗口中打开目标文档。_self:在提交表单所使用的窗口中打开目标文档。_top:在当前窗口内打开目标文档,确保目标文档占用整个窗口。form标记有以下事件。onsubmit:提交表单时调用的时间处理程序。onreset:重置表单时调用的处理程序。,2.1.3 表单与表格的使用form标记的属性如下。,2.1.3 表单与表格的使用,下面具体介绍表单中的控件。(2)表单输入控件标记 单行文本框。创建单行文本框方法如下:(a)单行文本框的属性如下:name:单行文本框的名称,通过它可以在脚本中引用该文本框控件。value:文本框的值。default value:文本框的初始值。size:文本框的宽度(字符数)。maxlength:允许在文本框内输入的最大字符数。form:所属的表单(只读)。,2.1.3 表单与表格的使用下面具体介绍表单中的控件。,2.1.3 表单与表格的使用,(b)单行文本框的方法如下。click():单击该文本框。focus():得到焦点。blur():失去焦点。select():选择文本框的内容。(c)单行文本框的事件如下。onclick:单击该文本框时执行的代码。onblur:失去焦点时执行的代码。onchange:内容变化时执行的代码。onfocus:得到焦点时执行的代码。onselect:选择内容时执行的代码。,2.1.3 表单与表格的使用(b)单行文本框的方法如下。,2.1.3 表单与表格的使用, 密码文本框。创建密码文本框方法如下:密码文本框的属性、方法和事件与单行文本框的设置基本相同,只是密码文本框没有onclick事件。 隐藏域。创建隐藏域方法如下:隐藏域的属性、方法和事件与单行文本框的设置基本相同,只是没有default value属性。 复选框。创建复选框方法如下:选项文本(a)复选框的属性如下。name:复选框的名称。value:选中时提交的值。checked:当第一次打开表时该复选框处于选中状态。defaultchecked:判断复选框是否定义了checked属性。,2.1.3 表单与表格的使用 密码文本框。,2.1.3 表单与表格的使用,(b)复选框的方法如下。focus():得到焦点。blur():失去焦点。click():单击该复选框。(c)复选框的事件如下。onfocus:得到焦点时执行的代码。onblur:失去焦点时执行的代码。onclick:单击该文本框时执行的代码。但值为空白。例如,要创建以下复选框:应在body体内设置代码如下:苹果香蕉橘子,2.1.3 表单与表格的使用(b)复选框的方法如下。,2.1.3 表单与表格的使用, 单选按钮。创建单选按钮方法如下:选项文本单选按钮的属性如下。name:单选按钮的名称,若干个名称相同的单选按钮构成一个控件组,在该组中只能选中一个选项。value:提交时的值。checked:当第一次打开表单时该单选按钮处于选中状态。该属性是可选的。例如,创建以下单选按钮:应在body中设置代码如下:性别:男 女,2.1.3 表单与表格的使用 单选按钮。,2.1.3 表单与表格的使用, 按钮。使用input标记可以在表单中添加3种类型的按钮:提交按钮、重置按钮和自定义按钮。创建按钮的方法如下:(a)按钮的属性如下。type:按钮种类。具体如下。submit:创建一个提交按钮。reset:创建一个重置按钮。button:创建一个自定义按钮。name:按钮的名称。value:显示在按钮上的标题文本。(b)按钮的事件如下。onclick:单击按钮执行的脚本代码。 文件域。创建文件域方法如下:其中,“属性:值”部分可以进行如下设置:name:文件域的名称。value:初始文件名。size:文件名输入框的宽度。,2.1.3 表单与表格的使用 按钮。,2.1.3 表单与表格的使用,(3)其他表单控件下面分别介绍这两种控件的用法。 滚动文本框。初始值其属性如下:name:滚动文本框控件的名称。rows:控件的高度。cols:控件的宽度。readonly:表示文本框中的内容是只读的,不能被修改。该标记的其他属性、方法和相关事件与单行文本框基本相同。 选项选单。创建选项选单方法如下:选项1选项2,2.1.3 表单与表格的使用(3)其他表单控件,2.1.3 表单与表格的使用,其属性如下:name:选项选单控件的名称。size:在列表中一次可以看到的选项数目,默认值为1。multiple:允许做多项选择。selected:该选项的初始状态为选中。下面就这些控件做一个综合的例子来简单体验这些控件的用法,界面如图2.4所示。,图2.4 综合展现HTML表单标记实例,2.1.3 表单与表格的使用其属性如下:图2.4 综合展,2.1.3 表单与表格的使用,将下面的文件命名为all.html,保存到磁盘上。2. 表格的使用表格由表头、行和单元格组成,常用于组织和显示信息,还可以用于安排页面布局。表格的表头、行和单元格分别用不同的标记来定义。可以用table标记定义表格;表格中的每一行用tr标记来表示;行中的单元格用td或th标记定义。其中th标记定义表格的列标题单元格,表格的标题说明则用caption标记来定义。定义表格的格式如下:表格标题文字第1列表头第2列表头第n列表头第1行第1列值第1行第2列值第1行第n列值.第n行第1列值第n行第2列值第n行第n列值看下面这个例子。,2.1.3 表单与表格的使用将下面的文件命名为all.ht,2.1.3 表单与表格的使用,把这段代码保存,命名为table.html,双击该文件会看到如图2.5所示的界面。,图2.5 表格的展示,2.1.3 表单与表格的使用把这段代码保存,命名为tabl,2.1.3 表单与表格的使用,(1)设置表格的属性用table标记创建表格时,可以设置以下属性。align:表格的对齐方式。其属性值如下:left:左对齐(默认值)。center:居中对齐。right:右对齐。background:表格背景图片的URL地址。bgcolor::表格的背景颜色。border:表格边框的宽度(像素),默认值为0。bordercolor:表格边框的颜色,border0时起作用。bordercolordark:三维边框的阴影颜色,border0时起作用。bordercolorlight:三维边框的高亮显示颜色,border0时起作用。cellpandding:单元格内数据与单元格边框之间的间距(像素)。width:表格的宽度(像素或百分比)。,2.1.3 表单与表格的使用(1)设置表格的属性,2.1.3 表单与表格的使用,(2)设置行的属性表格中的每一行是用tr标记来定义的,可以设置下列属性。align:行中单元格的水平对齐方式。其属性值如下:left:左对齐(默认值)。center:居中对齐。right:右对齐。background:行的背景图片的URL地址。bgcolor:行的背景颜色。bordercolor:行的边框颜色,只有当table标记的border0时起作用。bordercolordark:行的三维边框的阴影颜色,只有当table标记的border0时起作用。bordercolorlight:行的三维边框的高亮显示颜色,只有当table标记的border0时起作用。valign:行中单元格内容的垂直对齐方式。其属性值如下:top:顶端对齐。middle:居中对齐。bottom:底端对齐。baseline:基线对齐。,2.1.3 表单与表格的使用(2)设置行的属性,2.1.3 表单与表格的使用,(3)设置单元格的属性td标记和th标记的属性如下。align:行中单元格的水平对齐方式。其属性值如下:left:左对齐(默认值)。center:居中对齐。right:右对齐。background:单元格的背景图片的URL 地址。bgcolor:单元格的背景颜色。bordercolor:单元格的边框颜色,只有当table标记的border0时起作用。bordercolordark:单元格的三维边框的阴影颜色,只有当table标记的border0时起作用。bordercolorlight:单元格的三维边框的高亮显示颜色,只有当table标记的border0时起作用。colspan:合并单元格时一个单元格跨越的表格列数。rowspan:合并单元格时一个单元格跨越的表格行数。valign:单元格中文本的垂直对齐方式。其属性值如下:top:顶端对齐。middle:居中对齐。bottom:底端对齐。baseline:基线对齐。nowrap:若指定该属性,则要避免Web浏览器将单元格里的文本换行。,2.1.3 表单与表格的使用(3)设置单元格的属性,2.1.3 表单与表格的使用,下面再来看看上面表单示例all.html文件使用表格后的情况,首先看看布局后的界面,如图2.6所示。可以看出,效果非常明显,布局明显比以前美观。,图2.6 使用表格后的表单,将下面的文件命名为form_table.html,保存到磁盘上。,2.1.3 表单与表格的使用下面再来看看上面表单示例all,2.1.4 多框架文档,框架网页通过一个frameset(框架集)标记和多个frame(框架)标记来定义。在框架网页中,将frameset标记置于head之后,以取代body的位置,还可以使用noframes标记生成不能被浏览器显示时的替换内容。框架网页的基本结构如下:框架网页的基本结构,2.1.4 多框架文档框架网页通过一个frameset(框,2.1.4 多框架文档,1. 框架集可以使用frameset标记的下列属性对框架的结构进行设置。cols:创建纵向分隔框架时指定各个框架的列宽。取值有3种形式,即像素、百分比(%)和相对尺寸(*)。例如:cols=*, *, * :表示将窗口划分成3个等宽的框架;cols=30%, 200, * :表示将浏览器窗口划分为3个框架,其中第1个占窗口宽度的30%,第2个为200像素,第3个为窗口的剩余部分;cols=*,3*,2*:表示左边的框架占窗口宽度的1/6,中间的框架占窗口宽度的1/2,右边的框架占窗口宽度的1/3。rows:横向分隔框架时各个框架的行高。frameborder:框架周围是否显示三维边框。framespacing:框架之间的间隔(以像素为单位,默认值为0)。,2.1.4 多框架文档1. 框架集,2.1.4 多框架文档,例如:创建一个嵌套框架集。创建框架网页 /把框架分为3个部分(行分),分别是20%、400及剩余部分 /将第一行部分分为2列,300及剩余部分此网页使用了框架,但您的浏览器不支持框架。,2.1.4 多框架文档例如:创建一个嵌套框架集。,2.1.4 多框架文档,2. 框架frame标记具有下列属性。name:框架的名称。frameboder:框架周围是否显示三维边框。marginheight:框架的高度(以像素为单位)。marginwidth:框架的宽度(以像素为单位)。noresize:不能调整框架的大小。scrolling:指定框架是否可以滚动。其属性值如下:yes:框架可以滚动。no:框架不能滚动。auto:框架在需要时添加滚动条。src:在框架中显示的HTML文件。,2.1.4 多框架文档2. 框架,2.1.4 多框架文档,下面结合表格及表单的特性综合展现它们的应用。首先看实现主界面,如图2.7所示。,图2.7 学生信息管理系统主界面,2.1.4 多框架文档下面结合表格及表单的特性综合展现它们,2.1.4 多框架文档,单击【学生成绩查询】超链接,出现如图2.8所示的界面。,图2.8 学生成绩查询界面,2.1.4 多框架文档单击【学生成绩查询】超链接,出现如图,2.1.4 多框架文档,单击【学生信息显示】超链接,出现如图2.9所示的界面。,图2.9 学生信息显示界面,2.1.4 多框架文档单击【学生信息显示】超链接,出现如图,2.1.4 多框架文档,代码实现如下:(1)head.html学生信息管理系统(2)left.html 学生成绩查询学生信息显示返回开始页面,2.1.4 多框架文档代码实现如下:,2.1.4 多框架文档,(3)right.html这里是首页。,2.1.4 多框架文档(3)right.html,2.1.4 多框架文档,(4)frame.html在框架中显示网页此网页使用了框架,但您的浏览器不支持框架,2.1.4 多框架文档(4)frame.html,2.2 Servlet应用,2.2.1 Servlet的主要接口和类1. Servlet接口下面就来开发一个Servlet项目。首先打开安装了MyEclipse插件的Eclipse,然后建一个Web项目。选择【File】【New】【Project】菜单项,弹出新建命令对话框,选择【MyEclipse】【Java Enterprise Projects】【Web Project】菜单项,单击【Next】按钮进入Web应用详细信息设置,在【Project Name】文本框中输入Web应用名称,命名为“Servlet”,在【J2EE Specification Level】一栏中选择【Java EE 5.0】菜单项,其他为默认值,如图2.10所示,单击【Finish】按钮完成。,2.2 Servlet应用2.2.1 Servlet的主,2.2.1 Servlet的主要接口和类,图2.10 建立Web项目,2.2.1 Servlet的主要接口和类图2.10 建立,2.2.1 Servlet的主要接口和类,项目建立完成后,在左边的视图中可以看到刚才新建项目的内容,如图2.11所示。右击src文件夹,选择【new】【class】菜单项,弹出新建类对话框,在【name】一栏中输入类名,命名为“HelloWorld”,其他为默认值,单击【Finish】按钮完成。,图2.11 项目视图,2.2.1 Servlet的主要接口和类项目建立完成后,在,2.2.1 Servlet的主要接口和类,下面编辑HelloWorld类,让它实现Servlet接口,其代码。选择【WebRoot】【WEB-INF】菜单项,双击打开web.xml文件。修改web.xml文件代码如下:HelloWorldHelloWorldHelloWorld/helloWorld,2.2.1 Servlet的主要接口和类下面编辑Hello,2.2.1 Servlet的主要接口和类,首先单击工具栏中的 按钮,出现Web应用部署的对话框,单击【Add】按钮,出现“New Deployment”对话框。在【Server】一栏中选择“Tomcat 6.x”,【Deploy type】栏中选择“Exploded Archive”(开发模式),单击【Finish】按钮完成。此时在【Deployments】栏中显示Tomcat 6.x服务器信息,如图2.12所示。单击【OK】按钮完成部署。,图2.12 部署项目,2.2.1 Servlet的主要接口和类首先单击工具栏中的,2.2.1 Servlet的主要接口和类,在运行之前,首先要启动Tomcat服务器,单击工具栏中 按钮的下三角,选择【Tomcat 6.x】【Start】菜单项,启动Tomcat服务器。启动完成后,打开IE浏览器,输入“localhost:8080/Servlet/helloWorld”,就会在页面中显示HelloWorld,如图2.13所示。,图2.13 运行界面,2.2.1 Servlet的主要接口和类在运行之前,首先要,2.2.1 Servlet的主要接口和类,下面介绍这5个方法的作用。init():在Servlet实例化之后,Servlet容器会调用init()方法,来初始化该对象。service():容器调用service()方法来处理客户端的请求destroy():当容器检测到一个Servlet对象应该从服务中被移除时,容器会调用该对象的destroy()方法,来释放Servlet对象所使用的资源,保存数据到持久存储设备中。getServletConfig():返回容器调用init()方法时传递给Servlet对象的ServletConfig对象,ServletConfig对象包含了Servlet的初始化参数。getServletInfo():返回一个String类型的字符串,其中包括关于Servlet的信息,例如,作者、版本和版权。下面再来看看访问的地址。以上例为例(见图2.13),“localhost:8080/”是服务器URL,而后面的“Servlet”是项目名,再后面的“helloWorld”是在web.xml文件中配置的的值。,2.2.1 Servlet的主要接口和类下面介绍这5个方法,2.2.1 Servlet的主要接口和类,2. GenericServlet类为了简化Servlet的编写,在javax.servlet包中提供了一个抽象的类GenericServlet。它给出了除service()方法外的其他4个方法的简单实现。GenericServlet类实现了Servlet接口和ServletConfig接口。所以上例的HelloWorld类如果继承这个类,代码会简化很多。其代码如下: import java.io.IOException;import java.io.PrintWriter;import javax.servlet.GenericServlet;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;public class HelloWorld extends GenericServletpublic void service(ServletRequest arg0, ServletResponse arg1)throws ServletException, IOException / TODO Auto-generated method stubPrintWriter pw=arg1.getWriter();pw.println(HelloWorld);,2.2.1 Servlet的主要接口和类2. Generi,2.2.1 Servlet的主要接口和类,3. HttpServlet类HttpServlet类中重载了GenericServlet的service()方法:public void service(ServletRequestreq, ServletResponseres) throws ServletException, java.io.IOExceptionprotected void service(HttpServletRequest req, HttpServletResponse res) throws Servlet Exception, java.io.IOException根据不同的请求方法,HttpServlet提供了7个处理方法:protected void doGet(HttpServletRequest req, HttpServletResponse res) throws Servlet Exception, java.io.IOExceptionprotected void doPost(HttpServletRequest req, HttpServletResponse res) throws Serv