第2章JSP应用基础(精品).ppt

上传人:hwp****526 文档编号:84704761 上传时间:2023-04-07 格式:PPT 页数:98 大小:1.77MB
返回 下载 相关 举报
第2章JSP应用基础(精品).ppt_第1页
第1页 / 共98页
第2章JSP应用基础(精品).ppt_第2页
第2页 / 共98页
点击查看更多>>
资源描述

《第2章JSP应用基础(精品).ppt》由会员分享,可在线阅读,更多相关《第2章JSP应用基础(精品).ppt(98页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第第2章章 JSP应用基础应用基础2.1 HTML语言语言2.2 Servlet应用应用2.3 JSP语法语法2.4 JSP内置对象内置对象2.5 JSP综合应用实例综合应用实例开发一个简单的留言系统开发一个简单的留言系统第第2章章 JSP应用基础应用基础启动Tomcat服务器,在IE浏览器中输入“http:/localhost:8080/input.jsp”,系统会显示input.jsp页面,如图2.1所示。当在文本框中输入10后,单击【计算】按钮会跳转到另外一个页面,也就是result.jsp页面,并且输出结果314.0,如图2.2所示。图2.1input.jsp页面图2.2result.

2、jsp页面2.1 HTML语言语言2.1.1 HTML文件的基本结构文件的基本结构HTML文件的基本结构如图2.3所示。文档头部分文档主体部分图2.3HTML文件的基本结构2.1.1 HTML文件的基本结构文件的基本结构大家可以看下面的例子,文档头部分有网页标题标记,文档主体部分有图片标记、超链接标记及一些文字。把这段代码命名为a.html,保存在想要保存的路径。双击该文件就可以运行了。只要该路径下有b.html文件,单击超链接就可以跳转到b.html。第一个html网页超链接这是我的第一个网页2.1.2 HTML文件的语言标记文件的语言标记1.HTML标记标记HTML标记表示文档内容的开始和

3、结束。是开始标记,是结束标记,其他所有的HTML代码都位于这两个标记之间。浏览器将该标记中的内容视为一个Web文档,按照HTML语言规则对文档内的标记进行解释。标记是可选的,但是最好不要省略这两个标记,以保持Web文档结构的完整性。2.首部标记首部标记首部标记中提供与网页有关的各种信息。在首部标记中,一般使用下列标记。.:制定网页的标题。.:定义文档内容样式表。.:插入脚本语言程序。:描述网页信息。这些信息首先向浏览器提供,但不作为文档内容提交。2.1.2 HTML文件的语言标记文件的语言标记3.标题栏标记标题栏标记标题栏标记的内容是在浏览器标题栏中显示的文本。通常,Web搜索工具用它作为索引

4、。4.描述标记描述标记描述文档属性参数。5.正文标记正文标记正文标记的格式如下:正文标记中包含文档的内容。其常用属性如下:background:文档背景图像的URL地址。bgcolor:文档的背景颜色。text:文档中文本的颜色。link:文档中链接的颜色。vlink:文档中已被访问过的链接的颜色。alink:文档中正被选中的链接的颜色。2.1.2 HTML文件的语言标记文件的语言标记此外,HTML文件还有很多用来设置文本格式的标记,下面举几个常用的标记。(1)分段标记段落是文档的基本信息单位。利用分段标记,可以忽略文档中原有的回车和换行。定义一个新段落,就是换行并插入一个空行。单独使用标记时

5、会空一行,使后续内容隔一行显示。同时使用,则将段落包围起来,表示一个分段的块。其最常用的属性如下。lalign:段落的水平对齐方式,其值如下:left:左对齐(默认值)。center:居中对齐。right:右对齐。justify:两边对齐。2.1.2 HTML文件的语言标记文件的语言标记(2)换行标记该标记强行中断当前行,使后续内容在下一行显示,这个标记很简单,也很常用。(3)标题标记标题标记的格式如下:其常用属性如下。lalign:段落的水平对齐方式,其值如下:left:左对齐(默认值)。center:居中对齐。right:右对齐。justify:两边对齐。2.1.2 HTML文件的语言标记

6、文件的语言标记(4)对中标记该标记中间的内容全部居中。(5)块标记块标记的作用是定义文档块。常用属性如下。lalign:段落的水平对齐方式。其值如下:left:左对齐(默认值)。center:居中对齐。right:右对齐。2.1.2 HTML文件的语言标记文件的语言标记(6)水平线标记在标记位置画一条线。常用属性如下。lalign:段落的水平对齐方式。其值如下:left:左对齐(默认值)。center:居中对齐。right:右对齐。lcolor:线的颜色。lsize:线的宽度(以像素为单位)。lwidth:线的长度(像素或占页面宽度的百分数)。lnoshade:显示一条无阴影的实线。(7)字体

7、标记字体标记用来设置文本的字符格式,主要包括字体、字号和颜色等。常用属性如下。lface:字体名表。lsize:字号值。lcolor:颜色值。设置字体的颜色。2.1.2 HTML文件的语言标记文件的语言标记(8)图像标记图像标记的常用属性如下。lsrc:图像文件的URL地址。lalt:图像的简单文本说明,在浏览器下不能显示图像或图像加载时间过长时显示该文本。lheight:显示图像的高度(像素或百分比)。lwidth:显示图像的宽度(像素或百分比)。lalign:图像大小小于显示区域大小时的对齐方式。使用align属性设置图像与文本在垂直方向的对齐方式,此时align属性的取值如下:top:图

8、像与文本顶部对齐。middle:图像与文本中央对齐。bottom:图像与文本底部对齐。当图像在左右绕排文本时,align属性的取值如下:left:图像居左,文本居右。right:图像居右,文本居左。2.1.2 HTML文件的语言标记文件的语言标记(9)超链接标记超链接内容超链接的常用属性如下。lhref:目标端点的URL地址(可以包含一个或多个参数)。如前面的例子中:超链接单击此超链接,就会跳转到名为b.html的页面。该属性是必选项。ltarget:窗口或框架的名称。target属性的取值既可以是窗口或框架的名称,也可以是如下保留字:_blank:未命名的新浏览器窗口。_parent:父框架

9、页或窗口。如果包含链接的框架不是嵌套的,则链接的目标文件加载到整个浏览器窗口中。_self:所在的同一框架或窗口。_top:整个浏览器的窗口,并删除所有框架。2.1.3 表单与表格的使用表单与表格的使用1.表单及其控件标记表单及其控件标记表单用来从用户(站点访问者)处收集信息,然后将这些信息提交给服务器进行处理。表单中可以包含允许用户进行交互的各种控件,例如,文本框、列表框、复选框和单选按钮等。用户在表单中输入或选择数据后提交,该数据就会提交到相应的表单处理程序,以各种不同的方式进行处理。表单结构如下:(1)表单标记该标记的格式如下:2.1.3 表单与表格的使用表单与表格的使用form标记的属

10、性如下。lname:表单的名称。lmethod:表单数据传输到服务器的方法。其属性值如下:post:在HTTP请求中嵌入表单数据。get:将表单数据附加到请求该页的URL中。laction:接收表单数据的服务器端程序或动态网页的URL地址。ltarget:目标窗口。其属性值如下:_blank:在未命名的新窗口中打开目标文档。_parent:在显示当前文档的窗口的父窗口中打开目标文档。_self:在提交表单所使用的窗口中打开目标文档。_top:在当前窗口内打开目标文档,确保目标文档占用整个窗口。form标记有以下事件。lonsubmit:提交表单时调用的时间处理程序。lonreset:重置表单时

11、调用的处理程序。2.1.3 表单与表格的使用表单与表格的使用下面具体介绍表单中的控件。(2)表单输入控件标记单行文本框。创建单行文本框方法如下:(a)单行文本框的属性如下:lname:单行文本框的名称,通过它可以在脚本中引用该文本框控件。lvalue:文本框的值。ldefaultvalue:文本框的初始值。lsize:文本框的宽度(字符数)。lmaxlength:允许在文本框内输入的最大字符数。lform:所属的表单(只读)。2.1.3 表单与表格的使用表单与表格的使用(b)单行文本框的方法如下。lclick():单击该文本框。lfocus():得到焦点。lblur():失去焦点。lselec

12、t():选择文本框的内容。(c)单行文本框的事件如下。lonclick:单击该文本框时执行的代码。lonblur:失去焦点时执行的代码。lonchange:内容变化时执行的代码。lonfocus:得到焦点时执行的代码。lonselect:选择内容时执行的代码。2.1.3 表单与表格的使用表单与表格的使用密码文本框。创建密码文本框方法如下:密码文本框的属性、方法和事件与单行文本框的设置基本相同,只是密码文本框没有onclick事件。隐藏域。创建隐藏域方法如下:隐藏域的属性、方法和事件与单行文本框的设置基本相同,只是没有defaultvalue属性。复选框。创建复选框方法如下:选项文本(a)复选框

13、的属性如下。lname:复选框的名称。lvalue:选中时提交的值。lchecked:当第一次打开表时该复选框处于选中状态。ldefaultchecked:判断复选框是否定义了checked属性。2.1.3 表单与表格的使用表单与表格的使用(b)复选框的方法如下。lfocus():得到焦点。lblur():失去焦点。lclick():单击该复选框。(c)复选框的事件如下。lonfocus:得到焦点时执行的代码。lonblur:失去焦点时执行的代码。lonclick:单击该文本框时执行的代码。但值为空白。例如,要创建以下复选框:应在body体内设置代码如下:苹果香蕉橘子2.1.3 表单与表格的使

14、用表单与表格的使用单选按钮。创建单选按钮方法如下:选项文本单选按钮的属性如下。lname:单选按钮的名称,若干个名称相同的单选按钮构成一个控件组,在该组中只能选中一个选项。lvalue:提交时的值。lchecked:当第一次打开表单时该单选按钮处于选中状态。该属性是可选的。例如,创建以下单选按钮:应在body中设置代码如下:性别:男女2.1.3 表单与表格的使用表单与表格的使用按钮。使用input标记可以在表单中添加3种类型的按钮:提交按钮、重置按钮和自定义按钮。创建按钮的方法如下:(a)按钮的属性如下。ltype:按钮种类。具体如下。submit:创建一个提交按钮。reset:创建一个重置按

15、钮。button:创建一个自定义按钮。lname:按钮的名称。lvalue:显示在按钮上的标题文本。(b)按钮的事件如下。lonclick:单击按钮执行的脚本代码。文件域。创建文件域方法如下:其中,“属性:值”部分可以进行如下设置:lname:文件域的名称。lvalue:初始文件名。lsize:文件名输入框的宽度。2.1.3 表单与表格的使用表单与表格的使用(3)其他表单控件下面分别介绍这两种控件的用法。滚动文本框。初始值其属性如下:lname:滚动文本框控件的名称。lrows:控件的高度。lcols:控件的宽度。lreadonly:表示文本框中的内容是只读的,不能被修改。该标记的其他属性、方

16、法和相关事件与单行文本框基本相同。选项选单。创建选项选单方法如下:选项1选项22.1.3 表单与表格的使用表单与表格的使用其属性如下:lname:选项选单控件的名称。lsize:在列表中一次可以看到的选项数目,默认值为1。lmultiple:允许做多项选择。lselected:该选项的初始状态为选中。下面就这些控件做一个综合的例子来简单体验这些控件的用法,界面如图2.4所示。图2.4综合展现HTML表单标记实例2.1.3 表单与表格的使用表单与表格的使用将下面的文件命名为all.html,保存到磁盘上。2.表格的使用表格的使用表格由表头、行和单元格组成,常用于组织和显示信息,还可以用于安排页面

17、布局。表格的表头、行和单元格分别用不同的标记来定义。可以用table标记定义表格;表格中的每一行用tr标记来表示;行中的单元格用td或th标记定义。其中th标记定义表格的列标题单元格,表格的标题说明则用caption标记来定义。定义表格的格式如下:表格标题文字第1列表头第2列表头第n列表头第1行第1列值第1行第2列值第1行第n列值.第n行第1列值第n行第2列值第n行第n列值看下面这个例子。2.1.3 表单与表格的使用表单与表格的使用把这段代码保存,命名为table.html,双击该文件会看到如图2.5所示的界面。图2.5表格的展示2.1.3 表单与表格的使用表单与表格的使用(1)设置表格的属性

18、用table标记创建表格时,可以设置以下属性。lalign:表格的对齐方式。其属性值如下:left:左对齐(默认值)。center:居中对齐。right:右对齐。lbackground:表格背景图片的URL地址。lbgcolor::表格的背景颜色。lborder:表格边框的宽度(像素),默认值为0。lbordercolor:表格边框的颜色,border0时起作用。lbordercolordark:三维边框的阴影颜色,border0时起作用。lbordercolorlight:三维边框的高亮显示颜色,border0时起作用。lcellpandding:单元格内数据与单元格边框之间的间距(像素)。

19、lwidth:表格的宽度(像素或百分比)。2.1.3 表单与表格的使用表单与表格的使用(2)设置行的属性表格中的每一行是用tr标记来定义的,可以设置下列属性。lalign:行中单元格的水平对齐方式。其属性值如下:left:左对齐(默认值)。center:居中对齐。right:右对齐。lbackground:行的背景图片的URL地址。lbgcolor:行的背景颜色。lbordercolor:行的边框颜色,只有当table标记的border0时起作用。lbordercolordark:行的三维边框的阴影颜色,只有当table标记的border0时起作用。lbordercolorlight:行的三维

20、边框的高亮显示颜色,只有当table标记的border0时起作用。lvalign:行中单元格内容的垂直对齐方式。其属性值如下:top:顶端对齐。middle:居中对齐。bottom:底端对齐。baseline:基线对齐。2.1.3 表单与表格的使用表单与表格的使用(3)设置单元格的属性td标记和th标记的属性如下。lalign:行中单元格的水平对齐方式。其属性值如下:left:左对齐(默认值)。center:居中对齐。right:右对齐。lbackground:单元格的背景图片的URL地址。lbgcolor:单元格的背景颜色。lbordercolor:单元格的边框颜色,只有当table标记的b

21、order0时起作用。lbordercolordark:单元格的三维边框的阴影颜色,只有当table标记的border0时起作用。lbordercolorlight:单元格的三维边框的高亮显示颜色,只有当table标记的border0时起作用。lcolspan:合并单元格时一个单元格跨越的表格列数。lrowspan:合并单元格时一个单元格跨越的表格行数。lvalign:单元格中文本的垂直对齐方式。其属性值如下:top:顶端对齐。middle:居中对齐。bottom:底端对齐。baseline:基线对齐。lnowrap:若指定该属性,则要避免Web浏览器将单元格里的文本换行。2.1.3 表单与表

22、格的使用表单与表格的使用下面再来看看上面表单示例all.html文件使用表格后的情况,首先看看布局后的界面,如图2.6所示。可以看出,效果非常明显,布局明显比以前美观。图2.6使用表格后的表单将下面的文件命名为form_table.html,保存到磁盘上。2.1.4 多框架文档多框架文档框架网页通过一个frameset(框架集)标记和多个frame(框架)标记来定义。在框架网页中,将frameset标记置于head之后,以取代body的位置,还可以使用noframes标记生成不能被浏览器显示时的替换内容。框架网页的基本结构如下:框架网页的基本结构2.1.4 多框架文档多框架文档1.框架集框架集

23、可以使用frameset标记的下列属性对框架的结构进行设置。cols:创建纵向分隔框架时指定各个框架的列宽。取值有3种形式,即像素、百分比(%)和相对尺寸(*)。例如:cols=*,*,*:表示将窗口划分成3个等宽的框架;cols=30%,200,*:表示将浏览器窗口划分为3个框架,其中第1个占窗口宽度的30%,第2个为200像素,第3个为窗口的剩余部分;cols=*,3*,2*:表示左边的框架占窗口宽度的1/6,中间的框架占窗口宽度的1/2,右边的框架占窗口宽度的1/3。lrows:横向分隔框架时各个框架的行高。lframeborder:框架周围是否显示三维边框。lframespacing:

24、框架之间的间隔(以像素为单位,默认值为0)。2.1.4 多框架文档多框架文档例如:创建一个嵌套框架集。创建框架网页/把框架分为3个部分(行分),分别是20%、400及剩余部分/将第一行部分分为2列,300及剩余部分此网页使用了框架,但您的浏览器不支持框架。2.1.4 多框架文档多框架文档2.框架框架frame标记具有下列属性。lname:框架的名称。lframeboder:框架周围是否显示三维边框。lmarginheight:框架的高度(以像素为单位)。lmarginwidth:框架的宽度(以像素为单位)。lnoresize:不能调整框架的大小。lscrolling:指定框架是否可以滚动。其属

25、性值如下:yes:框架可以滚动。no:框架不能滚动。auto:框架在需要时添加滚动条。lsrc:在框架中显示的HTML文件。2.1.4 多框架文档多框架文档下面结合表格及表单的特性综合展现它们的应用。首先看实现主界面,如图2.7所示。图2.7学生信息管理系统主界面2.1.4 多框架文档多框架文档单击【学生成绩查询】超链接,出现如图2.8所示的界面。图2.8学生成绩查询界面2.1.4 多框架文档多框架文档单击【学生信息显示】超链接,出现如图2.9所示的界面。图2.9学生信息显示界面2.1.4 多框架文档多框架文档代码实现如下:(1)head.html学生信息管理系统(2)left.html学生成

26、绩查询学生信息显示返回开始页面2.1.4 多框架文档多框架文档(3)right.html这里是首页。2.1.4 多框架文档多框架文档(4)frame.html在框架中显示网页此网页使用了框架,但您的浏览器不支持框架2.2 Servlet应用应用2.2.1 Servlet的主要接口和类的主要接口和类1.Servlet接口接口下面就来开发一个Servlet项目。首先打开安装了MyEclipse插件的Eclipse,然后建一个Web项目。选择【File】【New】【Project】菜单项,弹出新建命令对话框,选择【MyEclipse】【JavaEnterpriseProjects】【WebProje

27、ct】菜单项,单击【Next】按钮进入Web应用详细信息设置,在【ProjectName】文本框中输入Web应用名称,命名为“Servlet”,在【J2EESpecificationLevel】一栏中选择【JavaEE5.0】菜单项,其他为默认值,如图2.10所示,单击【Finish】按钮完成。2.2.1 Servlet的主要接口和类的主要接口和类图2.10建立Web项目2.2.1 Servlet的主要接口和类的主要接口和类项目建立完成后,在左边的视图中可以看到刚才新建项目的内容,如图2.11所示。右击src文件夹,选择【new】【class】菜单项,弹出新建类对话框,在【name】一栏中输入

28、类名,命名为“HelloWorld”,其他为默认值,单击【Finish】按钮完成。图2.11项目视图2.2.1 Servlet的主要接口和类的主要接口和类下面编辑HelloWorld类,让它实现Servlet接口,其代码。选择【WebRoot】【WEB-INF】菜单项,双击打开web.xml文件。修改web.xml文件代码如下:HelloWorldHelloWorldHelloWorld/helloWorld2.2.1 Servlet的主要接口和类的主要接口和类首先单击工具栏中的按钮,出现Web应用部署的对话框,单击【Add】按钮,出现“NewDeployment”对话框。在【Server】一

29、栏中选择“Tomcat6.x”,【Deploytype】栏中选择“ExplodedArchive”(开发模式),单击【Finish】按钮完成。此时在【Deployments】栏中显示Tomcat6.x服务器信息,如图2.12所示。单击【OK】按钮完成部署。图2.12部署项目2.2.1 Servlet的主要接口和类的主要接口和类在运行之前,首先要启动Tomcat服务器,单击工具栏中按钮的下三角,选择【Tomcat6.x】【Start】菜单项,启动Tomcat服务器。启动完成后,打开IE浏览器,输入“http:/localhost:8080/Servlet/helloWorld”,就会在页面中显示

30、HelloWorld,如图2.13所示。图2.13运行界面2.2.1 Servlet的主要接口和类的主要接口和类下面介绍这5个方法的作用。linit():在Servlet实例化之后,Servlet容器会调用init()方法,来初始化该对象。lservice():容器调用service()方法来处理客户端的请求ldestroy():当容器检测到一个Servlet对象应该从服务中被移除时,容器会调用该对象的destroy()方法,来释放Servlet对象所使用的资源,保存数据到持久存储设备中。lgetServletConfig():返回容器调用init()方法时传递给Servlet对象的Servl

31、etConfig对象,ServletConfig对象包含了Servlet的初始化参数。lgetServletInfo():返回一个String类型的字符串,其中包括关于Servlet的信息,例如,作者、版本和版权。下面再来看看访问的地址。以上例为例(见图2.13),“http:/localhost:8080/”是服务器URL,而后面的“Servlet”是项目名,再后面的“helloWorld”是在web.xml文件中配置的的值。2.2.1 Servlet的主要接口和类的主要接口和类2.GenericServlet类类为了简化Servlet的编写,在javax.servlet包中提供了一个抽象的

32、类GenericServlet。它给出了除service()方法外的其他4个方法的简单实现。GenericServlet类实现了Servlet接口和ServletConfig接口。所以上例的HelloWorld类如果继承这个类,代码会简化很多。其代码如下:importjava.io.IOException;importjava.io.PrintWriter;importjavax.servlet.GenericServlet;importjavax.servlet.ServletException;importjavax.servlet.ServletRequest;importjavax.s

33、ervlet.ServletResponse;publicclassHelloWorldextendsGenericServletpublicvoidservice(ServletRequestarg0,ServletResponsearg1)throwsServletException,IOException/TODOAuto-generatedmethodstubPrintWriterpw=arg1.getWriter();pw.println(HelloWorld);2.2.1 Servlet的主要接口和类的主要接口和类3.HttpServlet类类HttpServlet类中重载了Gen

34、ericServlet的service()方法:lpublicvoidservice(ServletRequestreq,ServletResponseres)throwsServletException,java.io.IOExceptionlprotectedvoidservice(HttpServletRequestreq,HttpServletResponseres)throwsServletException,java.io.IOException根据不同的请求方法,HttpServlet提供了7个处理方法:lprotectedvoiddoGet(HttpServletRequest

35、req,HttpServletResponseres)throwsServletException,java.io.IOExceptionlprotectedvoiddoPost(HttpServletRequestreq,HttpServletResponseres)throwsServletException,java.io.IOExceptionlprotectedvoiddoHead(HttpServletRequestreq,HttpServletResponseres)throwsServletException,java.io.IOExceptionlprotectedvoidd

36、oPut(HttpServletRequestreq,HttpServletResponseres)throwsServletException,java.io.IOExceptionlprotectedvoiddoDelete(HttpServletRequestreq,HttpServletResponseres)throwsServletException,java.io.IOExceptionlprotectedvoiddoTrace(HttpServletRequestreq,HttpServletResponseres)throwsServletException,java.io.

37、IOExceptionlprotectedvoiddoOptions(HttpServletRequestreq,HttpServletResponseres)throwsServletException,java.io.IOException2.2.1 Servlet的主要接口和类的主要接口和类通常情况下,都是覆盖其doGet()和doPost()方法。然后在其中的一个方法中调用另一个方法,这样就可以做到合二为一。如上例可以改成:importjava.io.IOException;importjava.io.PrintWriter;importjavax.servlet.ServletExc

38、eption;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;publicclassHelloWorldextendsHttpServletprotectedvoiddoGet(HttpServletRequestreq,HttpServletResponseres)throwsServletException,IOExceptionPrintWriterpw=res.getWriter();

39、pw.println(HelloWorld);protectedvoiddoPost(HttpServletRequestreq,HttpServletResponseres)throwsServletException,IOExceptiondoPost(req,res);2.2.1 Servlet的主要接口和类的主要接口和类4.HttpServletRequest和和HttpServletResponse接口接口下面列几个HttpServletRequest中常用的方法:lsetAttribute(Stringname,Object):设置名字为name的request的参数值;lgetA

40、ttribute(Stringname):返回由name指定的属性值;lgetAttributeNames():返回request对象所有属性的名字集合,结果是一个枚举的实例;lgetCookies():返回客户端的所有Cookie对象,结果是一个Cookie数组;lgetCharacterEncoding():返回请求中的字符编码方式;lgetHeader(Stringname):获得HTTP协议定义的文件头信息;lgetHeaders(Stringname):返回指定名字的requestHeader的所有值,结果是一个枚举的实例;lgetHeaderNames():返回所有requestH

41、eader的名字,结果是一个枚举的实例;lgetInputStream():返回请求的输入流,用于获得请求中的数据;lgetMethod():获得客户端向服务器端传送数据的方法;lgetParameter(Stringname):获得客户端传送给服务器端的由name指定的参数值;2.2.1 Servlet的主要接口和类的主要接口和类lgetParameterNames():获得客户端传送给服务器端的所有参数名称,结果是一个枚举的实例;lgetParameterValues(Stringname):获得由name指定的参数的所有值,一般用于checkbox;lgetRequestURI():获取

42、发出请求字符串的客户端地址;lgetRemoteAddr():获取客户端的IP地址;lgetRemoteHost():获取客户端的名字;lgetSession(Booleancreate):返回和请求相关session;lgetServerName():获取服务器的名字;lgetServletPath():获取客户端所请求的脚本文件的路径;lgetServerPort():获取服务器的端口号;lremoveAttribute(Stringname):删除请求中的一个属性;2.2.2 Servlet生命周期及实际应用生命周期及实际应用举例举例1.Servlet生命周期生命周期当Servlet被装

43、载到容器后,生命周期开始。首先调用init()方法进行初始化,初始化后,调用service()方法,根据请求的不同调用不同的doXxx()方法处理客户请求,并将处理结果封装到HttpServletResponse中返回给客户端。当Servlet实例从容器中移除时调用其destroy()方法,这就是Servlet运行的整个过程。2.Servlet实际应用举例实际应用举例【例例2.1】Servlet应用。这个实例要达到这样的目的,首先在一个HTML文件中建立一个表单,里面有一个输入框,当客户输入内容后,提交到一个Servlet类,而这个Servlet类取出客户输入的信息,并在一个HTML页面上显示

44、该内容。其效果如图2.14、图2.15所示。图2.14输入页面图2.15响应页面2.2.2 Servlet生命周期及实际应用生命周期及实际应用举例举例开发这个Servlet应用的步骤如下:建立一个Web项目,命名为“ServletExample”。在WebRoot文件夹下创建一个HTML文件,操作方法与在src文件下建立一个Class文件差不多。右击WebRoot文件夹,新建一个HTML文件,命名为input.html。其代码如下:Servlet实例请输入你想显示的内容:2.2.2 Servlet生命周期及实际应用生命周期及实际应用举例举例在项目的src文件夹下建立一个包。编写Servlet类

45、代码。布局web.xml文件,一定要记住,有一个Servlet文件就要在web.xml中布置一个和。这里的布局代码。部署运行,得到以上结果。2.3 JSP语法语法2.3.1 JSP数据定义数据定义在JSP中可以用定义一个或多个变量。在其中定义的变量为该页面级别的共享变量,可以被访问此页面的所有用户访问。其语法格式如下:如下面的代码片段:此外,这种声明方式还可以定义一个方法或类,定义方法的格式如下:定义一个类,如下面的代码片段:2.3.2 JSP程序块程序块来看下面这段JSP代码,命名为circle.jsp:将上面的circle.jsp文件存放到webappsROOT文件夹下。启动Tomcat服

46、务器,在浏览器中输入地址“http:/localhost:8080/circle.jsp”,将在窗口中显示圆面积的值“314.0”。2.3.3 JSP表达式表达式2.3.2节的例子中可以发现,要输出面积s的值,先计算s的值,然后输出结果。JSP中提供了一种表达式,可以很方便地输出运算结果,其格式如下:于是,2.3.2节circle.jsp文件的代码可以修改如下:2.3.4 JSP指令指令常用的有3条指令:page、include和taglib。1.page指令指令page指令主要用来设定整个JSP文件的属性和相关功能,如前面写的JSP文件的头:一般用到的page指令还有导入需要的包,用法如下:

47、2.include指令指令include指令用来解决这个问题,其用来导入包含静态的文件,如JSP网页文件、HTML网页文件,但不能包含用“”表示的代表表达式的文件。其语法格式如下:如有head.jsp文件,其内容如下:现在在另一个文件中调用它:输出页面这句话是我想输出的2.3.4 JSP指令指令3.taglib指令指令taglib指令语法格式如下:其中uri=tagLibraryURI指明标签库文件的存放位置。而prefix=tagPrefix则表示该标签使用时的前缀。例如,在Struts2中用到标签:2.3.5 JSP动作动作1.的语法规则如下:例如:通常与、或等一起使用。在独立于其他操作使

48、用时,动作没有作用。2.3.5 JSP动作动作2.的语法规则如下:jsp:includepage=relativeurl|flush=true/或者为:jsp:includepage=relativeurl|flush=truejsp:paramname=paramNamevalue=paramValue|/可以向一个对象提出请求,并可以将结果包含在一个JSP文件中。可以将静态的HTML、服务器程序的输出结果及来自其他JSP的输出结果包括到当前页面中。使用的是相对的URL来调用资源。例如,包含普通的HTML文件:使用相对路径:包含动态JSP文件:向被包含的程序传递参数:2.3.5 JSP动作动

49、作3.的语法规则如下:语法参数说明如下:id:设置JavaBean的名称,利用此id,可以识别在同一个JSP程序中使用不同的JavaBean组件实例。class:指定JavaBean对应的Java类名查找该JavaBean的路径。scope:指定JavaBean对象的作用域。scope的值可能是page、request、session和application。typeSpec:可能是如下的4种形式之一:class=className/仅指明应用的类名class=classNametype=typeName/指明应用的类名及类型beanName=beanNametype=typeName/指明应

50、用的其他Bean的名称及类型type=typeName/仅指明类型2.3.5 JSP动作动作【例例2.2】useBean动作元素的应用。创建Web项目,命名为“JSP”,在WebRoot文件夹下创建JSP文件,命名为bean.jsp,其代码如下:useBean动作元素的应用2.3.5 JSP动作动作在src文件夹下创建包test,在包test下创建TestBean.java,其代码如下:packagetest;publicclassTestBeanprivateStringstr=null;publicTestBean()publicvoidsetString(Stringvalue)str=

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁