收藏 分销(赏)

第2章JSP应用基础.ppt

上传人:xrp****65 文档编号:13782373 上传时间:2026-04-13 格式:PPT 页数:98 大小:1.77MB 下载积分:10 金币
下载 相关
第2章JSP应用基础.ppt_第1页
第1页 / 共98页
第2章JSP应用基础.ppt_第2页
第2页 / 共98页


点击查看更多>>
资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,第,2,章,JSP,应用基础,2.1 HTML,语言,2.2 Servlet,应用,2.3 JSP,语法,2.4 JSP,内置对象,2.5 JSP,综合应用实例,开发一个简单的留言系统,第,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.1 HTML,语言,2.1.1 HTML,文件的基本结构,HTML,文件的基本结构如图,2.3,所示。,文档头部分,文档主体部分,图,2.3 HTML,文件的基本结构,2.1.1 HTML,文件的基本结构,大家可以看下面的例子,文档头部分有,网页标题标记,文档主体部分有,图片标记、,超链接标记及一些文字。把这段代码命名为,a.html,,保存在想要保存的路径。双击该文件就可以运行了。只要该路径下有,b.html,文件,单击超链接就可以跳转到,b.html,。,第一个,html,网页,超链接,这是我的第一个网页,2.1.2 HTML,文件的语言标记,1.HTML,标记,HTML,标记表示文档内容的开始和结束。,是开始标记,,是结束标记,其他所有的,HTML,代码都位于这两个标记之间。浏览器将该标记中的内容视为一个,Web,文档,按照,HTML,语言规则对文档内的标记进行解释。,标记是可选的,但是最好不要省略这两个标记,以保持,Web,文档结构的完整性。,2.,首部标记,首部标记中提供与网页有关的各种信息。在首部标记中,一般使用下列标记。,.,:制定网页的标题。,.,:定义文档内容样式表。,.,:插入脚本语言程序。,:描述网页信息。,这些信息首先向浏览器提供,但不作为文档内容提交。,2.1.2 HTML,文件的语言标记,3.,标题栏标记,标题栏标记的内容是在浏览器标题栏中显示的文本。通常,,Web,搜索工具用它作为索引。,4.,描述标记,描述文档属性参数。,5.,正文标记,正文标记的格式如下:,正文标记中包含文档的内容。其常用属性如下:,background,:文档背景图像的,URL,地址。,bgcolor,:文档的背景颜色。,text,:文档中文本的颜色。,link,:文档中链接的颜色。,vlink,:文档中已被访问过的链接的颜色。,alink,:文档中正被选中的链接的颜色。,2.1.2 HTML,文件的语言标记,此外,,HTML,文件还有很多用来设置文本格式的标记,下面举几个常用的标记。,(,1,)分段标记,段落是文档的基本信息单位。利用分段标记,可以忽略文档中原有的回车和换行。定义一个新段落,就是换行并插入一个空行。,单独使用,标记时会空一行,使后续内容隔一行显示。同时使用,,则将段落包围起来,表示一个分段的块。其最常用的属性如下。,align,:段落的水平对齐方式,其值如下:,left,:左对齐(默认值)。,center,:居中对齐。,right,:右对齐。,justify,:两边对齐。,2.1.2 HTML,文件的语言标记,(,2,)换行标记,该标记强行中断当前行,使后续内容在下一行显示,这个标记很简单,也很常用。,(,3,)标题标记,标题标记的格式如下:,其常用属性如下。,align,:段落的水平对齐方式,其值如下:,left,:左对齐(默认值)。,center,:居中对齐。,right,:右对齐。,justify,:两边对齐。,2.1.2 HTML,文件的语言标记,(,4,)对中标记,该标记中间的内容全部居中。,(,5,)块标记,块标记的作用是定义文档块。常用属性如下。,align,:段落的水平对齐方式。其值如下:,left,:左对齐(默认值)。,center,:居中对齐。,right,:右对齐。,2.1.2 HTML,文件的语言标记,(,6,)水平线标记,在,标记位置画一条线。常用属性如下。,align,:段落的水平对齐方式。其值如下:,left,:左对齐(默认值)。,center,:居中对齐。,right,:右对齐。,color,:线的颜色。,size,:线的宽度(以像素为单位)。,width,:线的长度(像素或占页面宽度的百分数)。,noshade,:显示一条无阴影的实线。,(,7,)字体标记,字体标记用来设置文本的字符格式,主要包括字体、字号和颜色等。常用属性如下。,face,:字体名表。,size,:字号值。,color,:颜色值。设置字体的颜色。,2.1.2 HTML,文件的语言标记,(,8,)图像标记,图像标记的常用属性如下。,src,:图像文件的,URL,地址。,alt,:图像的简单文本说明,在浏览器下不能显示图像或图像加载时间过长时显示该文本。,height,:显示图像的高度(像素或百分比)。,width,:显示图像的宽度(像素或百分比)。,align,:图像大小小于显示区域大小时的对齐方式。,使用,align,属性设置图像与文本在垂直方向的对齐方式,此时,align,属性的取值如下:,top,:图像与文本顶部对齐。,middle,:图像与文本中央对齐。,bottom,:图像与文本底部对齐。,当图像在左右绕排文本时,,align,属性的取值如下:,left,:图像居左,文本居右。,right,:图像居右,文本居左。,2.1.2 HTML,文件的语言标记,(,9,)超链接标记,超链接内容,超链接的常用属性如下。,href,:目标端点的,URL,地址(可以包含一个或多个参数)。,如前面的例子中:,超链接,单击此超链接,就会跳转到名为,b.html,的页面。该属性是必选项。,target,:窗口或框架的名称。,target,属性的取值既可以是窗口或框架的名称,也可以是如下保留字:,_blank,:未命名的新浏览器窗口。,_parent,:父框架页或窗口。如果包含链接的框架不是嵌套的,则链接的目标文件加载到整个浏览器窗口中。,_self,:所在的同一框架或窗口。,_top,:整个浏览器的窗口,并删除所有框架。,2.1.3,表单与表格的使用,1.,表单及其控件标记,表单用来从用户(站点访问者)处收集信息,然后将这些信息提交给服务器进行处理。表单中可以包含允许用户进行交互的各种控件,例如,文本框、列表框、复选框和单选按钮等。用户在表单中输入或选择数据后提交,该数据就会提交到相应的表单处理程序,以各种不同的方式进行处理。表单结构如下:,(,1,)表单标记,该标记的格式如下:,2.1.3,表单与表格的使用,form,标记的属性如下。,name,:表单的名称。,method,:表单数据传输到服务器的方法。其属性值如下:,post,:在,HTTP,请求中嵌入表单数据。,get,:将表单数据附加到请求该页的,URL,中。,action,:接收表单数据的服务器端程序或动态网页的,URL,地址。,target,:目标窗口。其属性值如下:,_blank,:在未命名的新窗口中打开目标文档。,_parent,:在显示当前文档的窗口的父窗口中打开目标文档。,_self,:在提交表单所使用的窗口中打开目标文档。,_top,:在当前窗口内打开目标文档,确保目标文档占用整个窗口。,form,标记有以下事件。,onsubmit,:提交表单时调用的时间处理程序。,onreset,:重置表单时调用的处理程序。,2.1.3,表单与表格的使用,下面具体介绍表单中的控件。,(,2,)表单输入控件标记,单行文本框。,创建单行文本框方法如下:,(,a,)单行文本框的属性如下:,name,:单行文本框的名称,通过它可以在脚本中引用该文本框控件。,value,:文本框的值。,default value,:文本框的初始值。,size,:文本框的宽度(字符数)。,maxlength,:允许在文本框内输入的最大字符数。,form,:所属的表单(只读)。,2.1.3,表单与表格的使用,(,b,)单行文本框的方法如下。,click(),:单击该文本框。,focus(),:得到焦点。,blur(),:失去焦点。,select(),:选择文本框的内容。,(,c,)单行文本框的事件如下。,onclick,:单击该文本框时执行的代码。,onblur,:失去焦点时执行的代码。,onchange,:内容变化时执行的代码。,onfocus,:得到焦点时执行的代码。,onselect,:选择内容时执行的代码。,2.1.3,表单与表格的使用,密码文本框。,创建密码文本框方法如下:,密码文本框的属性、方法和事件与单行文本框的设置基本相同,只是密码文本框没有,onclick,事件。,隐藏域。,创建隐藏域方法如下:,隐藏域的属性、方法和事件与单行文本框的设置基本相同,只是没有,default value,属性。,复选框。,创建复选框方法如下:,选项文本,(,a,)复选框的属性如下。,name,:复选框的名称。,value,:选中时提交的值。,checked,:当第一次打开表时该复选框处于选中状态。,defaultchecked,:判断复选框是否定义了,checked,属性。,2.1.3,表单与表格的使用,(,b,)复选框的方法如下。,focus(),:得到焦点。,blur(),:失去焦点。,click(),:单击该复选框。,(,c,)复选框的事件如下。,onfocus,:得到焦点时执行的代码。,onblur,:失去焦点时执行的代码。,onclick,:单击该文本框时执行的代码。,但值为空白。例如,要创建以下复选框:,应在,body,体内设置代码如下:,苹果,香蕉,橘子,2.1.3,表单与表格的使用,单选按钮。,创建单选按钮方法如下:,选项文本,单选按钮的属性如下。,name,:单选按钮的名称,若干个名称相同的单选按钮构成一个控件组,在该组中只能选中一个选项。,value,:提交时的值。,checked,:当第一次打开表单时该单选按钮处于选中状态。该属性是可选的。,例如,创建以下单选按钮:,应在,body,中设置代码如下:,性别:,男,女,2.1.3,表单与表格的使用,按钮。,使用,input,标记可以在表单中添加,3,种类型的按钮:提交按钮、重置按钮和自定义按钮。创建按钮的方法如下:,(,a,)按钮的属性如下。,type,:按钮种类。具体如下。,submit,:创建一个提交按钮。,reset,:创建一个重置按钮。,button,:创建一个自定义按钮。,name,:按钮的名称。,value,:显示在按钮上的标题文本。,(,b,)按钮的事件如下。,onclick,:单击按钮执行的脚本代码。,文件域。,创建文件域方法如下:,其中,“属性:,值,”部分可以进行如下设置:,name,:文件域的名称。,value,:初始文件名。,size,:文件名输入框的宽度。,2.1.3,表单与表格的使用,(,3,)其他表单控件,下面分别介绍这两种控件的用法。,滚动文本框。,初始值,其属性如下:,name,:滚动文本框控件的名称。,rows,:控件的高度。,cols,:控件的宽度。,readonly,:表示文本框中的内容是只读的,不能被修改。,该标记的其他属性、方法和相关事件与单行文本框基本相同。,选项选单。,创建选项选单方法如下:,选项,1,选项,2,2.1.3,表单与表格的使用,其属性如下:,name,:选项选单控件的名称。,size,:在列表中一次可以看到的选项数目,默认值为,1,。,multiple,:允许做多项选择。,selected,:该选项的初始状态为选中。,下面就这些控件做一个综合的例子来简单体验这些控件的用法,界面如图,2.4,所示。,图,2.4,综合展现,HTML,表单标记实例,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,表单与表格的使用,把这段代码保存,命名为,table.html,,双击该文件会看到如图,2.5,所示的界面。,图,2.5,表格的展示,2.1.3,表单与表格的使用,(,1,)设置表格的属性,用,table,标记创建表格时,可以设置以下属性。,align,:表格的对齐方式。其属性值如下:,left,:左对齐(默认值)。,center,:居中对齐。,right,:右对齐。,background,:表格背景图片的,URL,地址。,bgcolor:,:表格的背景颜色。,border,:表格边框的宽度(像素),默认值为,0,。,bordercolor,:表格边框的颜色,,border,0,时起作用。,bordercolordark,:三维边框的阴影颜色,,border,0,时起作用。,bordercolorlight,:三维边框的高亮显示颜色,,border,0,时起作用。,cellpandding,:单元格内数据与单元格边框之间的间距(像素)。,width,:表格的宽度(像素或百分比)。,2.1.3,表单与表格的使用,(,2,)设置行的属性,表格中的每一行是用,tr,标记来定义的,可以设置下列属性。,align,:行中单元格的水平对齐方式。其属性值如下:,left,:左对齐(默认值)。,center,:居中对齐。,right,:右对齐。,background,:行的背景图片的,URL,地址。,bgcolor,:行的背景颜色。,bordercolor,:行的边框颜色,只有当,table,标记的,border,0,时起作用。,bordercolordark,:行的三维边框的阴影颜色,只有当,table,标记的,border,0,时起作用。,bordercolorlight,:行的三维边框的高亮显示颜色,只有当,table,标记的,border,0,时起作用。,valign,:行中单元格内容的垂直对齐方式。其属性值如下:,top,:顶端对齐。,middle,:居中对齐。,bottom,:底端对齐。,baseline,:基线对齐。,2.1.3,表单与表格的使用,(,3,)设置单元格的属性,td,标记和,th,标记的属性如下。,align,:行中单元格的水平对齐方式。其属性值如下:,left,:左对齐(默认值)。,center,:居中对齐。,right,:右对齐。,background,:单元格的背景图片的,URL,地址。,bgcolor,:单元格的背景颜色。,bordercolor,:单元格的边框颜色,只有当,table,标记的,border,0,时起作用。,bordercolordark,:单元格的三维边框的阴影颜色,只有当,table,标记的,border,0,时起作用。,bordercolorlight,:单元格的三维边框的高亮显示颜色,只有当,table,标记的,border,0,时起作用。,colspan,:合并单元格时一个单元格跨越的表格列数。,rowspan,:合并单元格时一个单元格跨越的表格行数。,valign,:单元格中文本的垂直对齐方式。其属性值如下:,top,:顶端对齐。,middle,:居中对齐。,bottom,:底端对齐。,baseline,:基线对齐。,nowrap,:若指定该属性,则要避免,Web,浏览器将单元格里的文本换行。,2.1.3,表单与表格的使用,下面再来看看上面表单示例,all.html,文件使用表格后的情况,首先看看布局后的界面,如图,2.6,所示。可以看出,效果非常明显,布局明显比以前美观。,图,2.6,使用表格后的表单,将下面的,文件,命名为,form_table.html,,保存到磁盘上。,2.1.4,多框架文档,框架网页通过一个,frameset,(框架集)标记和多个,frame,(框架)标记来定义。在框架网页中,将,frameset,标记置于,head,之后,以取代,body,的位置,还可以使用,noframes,标记生成不能被浏览器显示时的替换内容。框架网页的基本结构如下:,框架网页的基本结构,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,多框架文档,例如:创建一个嵌套框架集。,创建框架网页,/,把框架分为,3,个部分(行分),分别是,20%,、,400,及剩余部分,/,将第一行部分分为,2,列,,300,及剩余部分,此网页使用了框架,但您的浏览器不支持框架。,2.1.4,多框架文档,2.,框架,frame,标记具有下列属性。,name,:框架的名称。,frameboder,:框架周围是否显示三维边框。,marginheight,:框架的高度(以像素为单位)。,marginwidth,:框架的宽度(以像素为单位)。,noresize,:不能调整框架的大小。,scrolling,:指定框架是否可以滚动。其属性值如下:,yes,:框架可以滚动。,no,:框架不能滚动。,auto,:框架在需要时添加滚动条。,src,:在框架中显示的,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,学生成绩查询,学生信息显示,返回开始页面,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】【Java Enterprise Projects】【Web Project】,菜单项,单击,【Next】,按钮进入,Web,应用详细信息设置,在,【Project Name】,文本框中输入,Web,应用名称,命名为“,Servlet,”,在,【J2EE Specification Level】,一栏中选择,【Java EE 5.0】,菜单项,其他为默认值,如图,2.10,所示,单击,【Finish】,按钮完成。,2.2.1 Servlet,的主要接口和类,图,2.10,建立,Web,项目,2.2.1 Servlet,的主要接口和类,项目建立完成后,在左边的视图中可以看到刚才新建项目的内容,如图,2.11,所示。右击,src,文件夹,选择,【new】【class】,菜单项,弹出新建类对话框,在,【name】,一栏中输入类名,命名为“,HelloWorld,”,其他为默认值,单击,【Finish】,按钮完成。,图,2.11,项目视图,2.2.1 Servlet,的主要接口和类,下面编辑,HelloWorld,类,让它实现,Servlet,接口,其,代码,。,选择,【WebRoot】【WEB-INF】,菜单项,双击打开,web.xml,文件。修改,web.xml,文件代码如下:,HelloWorld,HelloWorld,HelloWorld,/helloWorld,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,的主要接口和类,在运行之前,首先要启动,Tomcat,服务器,单击工具栏中,按钮的下三角,选择,【Tomcat 6.x】【Start】,菜单项,启动,Tomcat,服务器。启动完成后,打开,IE,浏览器,输入“,localhost:8080/Servlet/helloWorld,”,就会在页面中显示,HelloWorld,,如图,2.13,所示。,图,2.13,运行界面,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,的主要接口和类,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 GenericServlet,public void service(ServletRequest arg0,ServletResponse arg1),throws ServletException,IOException,/TODO Auto-generated method stub,PrintWriter pw=arg1.getWriter();,pw.println(HelloWorld);,2.2.1 Servlet,的主要接口和类,3.HttpServlet,类,HttpServlet,类中重载了,GenericServlet,的,service(),方法:,public void service(ServletRequestreq,ServletResponseres)throws ServletException,java.io.IOException,protected 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.IOException,protected void doPost(HttpServletRequest req,HttpServletResponse res)throws Servlet Exception,java.io.IOException,protected void doHead(HttpServletRequest req,HttpServletResponse res)throws Servlet Exception,java.io.IOException,protected void doPut(HttpServletRequest req,HttpServletResponse res)throws Servlet Exception,java.io.IOException,protected void doDelete(HttpServletRequest req,HttpServletResponse res)throws Servlet Exception,java.io.IOException,protected void doTrace(HttpServletRequest req,HttpServletResponse res)throws Servlet Exception,java.io.IOException,protected void doOptions(HttpServletRequest req,HttpServletResponse res)throws Servlet Exception,java.io.IOException,2.2.1 Servlet,的主要接口和类,通常情况下,都是覆盖其,doGet(),和,doPost(),方法。然后在其中的一个方法中调用另一个方法,这样就可以做到合二为一。如上例可以改成:,import java.io.IOException;,import java.io.PrintWriter;,import javax.servlet.ServletException;,import javax.servlet.http.HttpServlet;,import javax.servlet.http.HttpServletRequest;,import javax.servlet.http.HttpServletResponse;,public class HelloWorld extends HttpServlet,protected void doGet(HttpServletRequest req,HttpServletResponse res),throws ServletException,IOException,PrintWriter pw=res.getWriter();,pw.println(HelloWorld);,protected void doPost(HttpServletRequest req,HttpServletResponse res),throws ServletException,IOException,doPost(req,res);,2.2.1 Servlet,的主要接口和类,4.HttpServletRequest,和,HttpServletResponse,接口,下面列几个,HttpServletRequest,中常用的方法:,setAttribute(String name,Object),:设置名字为,name,的,request,的参数值;,getAttribute(String name),:返回由,name,指定的属性值;,getAttributeNames(),:返回,request,对象所有属性的名字集合,结果是一个枚举的实例;,getCookies(),:返回客户端的所有,Cookie,对象,结果是一个,Cookie,数组;,getCharacterEncoding(),:返回请求中的字符编码方式;,getHeader(String name),:获得,HTTP,协议定义的文件头信息;,getHeaders(String name),:返回指定名字的,request Header,的所有值,结果是一个枚举的实例;,getHeaderNames(),:返回所有,request Header,的名字,结果是一个枚举的实例;,getInputStream(),:返回请求的输入流,用于获得请求中的数据;,getMethod(),:获得客户端向服务器端传送数据的方法;,getParameter(String name),:获得客户端传送给服务器端的由,name,指定的参数值;,2.2.1 Servlet,的主要接口和类,getParameterNames(),:获得客户端传送给服务器端的所有参数名称,结果是一个枚举的实例;,getParameterValues(String name),:获得由,name,指定的参数的所有值,一般用于,checkbox,;,getRequestURI(),:获取发出请求字符串的客户端地址;,getRemoteAddr(),:获取客户端的,IP,地址;,getRemoteHost(),:获取客户端的名字;,getSession(Boolean create),:返回和请求相关,session,;,getServerName(),:获取服务器的名字;,getServletPath(),:获取客户端所请求的脚本文件的路径;,getServerPort(),:获取服务器的端口号;,removeAttribute(String name),:删除请求中的一个属性;,2.2.2 Servlet,生命周期及实际应用举例,1.Servlet,生命周期,当,Servlet,被装载到容器后,生命周期开始。首先调用,init(),方法进行初始化,初始化后,调用,service(),方法,根据请求的不同调用不同的,doXxx(),方法处理客户请求,并将处理结果封装到,HttpServletResponse,中返回给客户端。当,Servlet,实例从容器中移除时调用其,destroy(),方法,这就是,Servlet,运行的整个过程。,2.Servlet,实际应用举例,【,例,2.1,】Servlet,应用。,这个实例要达到这样的目的,首先在一个,HTML,文件中建立一个表单,里面有一个输入框,当客户输入内容后,提交到一个,Servlet,类,而这个,Servlet,类取出客户输入的信息,并在一个,HTML,页面上显示该内容。其效果如图,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,类代码,。,布局,web.xml,文件,一定要记住,有一个,Servlet,文件就要在,web.xml,中布置一个,和,。这里的布局,代码,。,部署运行,得到以上结果。,2.3 JSP,语法,2.3.1 JSP,数据定义,在,JSP,中可以用,定义一个或多个变量。在其中定义的变量为该页面级别的共享变量,可以被访问此页面的所有用户访问。其语法格式如下:,如下面的代码片段:,此外,这种声明方式还可以定义一个方法或类,定义方法的格式如下:,定义一个类,如下面的代码片段:,2.3.2 JSP,程序块,来看下面这段,JSP,代码,命名为,circle.jsp,:,将上面的,circle.jsp,文件存放到,webappsROOT,文件夹下。启动,Tomcat,服务器,在浏览器中输入地址“,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,指令还有导入需要的包,用法如下:,2.include,指令,include,指令用来解决这个问题,其用来导入包含静态的文件,如,JSP,网页文件、,HTML,网页文件,但不能包含用“,”表示的代表表达式的文件。其语法格式如下:,如有,head.jsp,文件,其内容如下:,现在在另一个文件中调用它:,输出页面,这句话是我想输出的,2.3.4 JSP,指令,3.taglib,指令,taglib,指令语法格式如下:,其中,uri=,tagLibraryURI,指明标签
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服