《表示层技术精选文档.ppt》由会员分享,可在线阅读,更多相关《表示层技术精选文档.ppt(28页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、表示层技术本讲稿第一页,共二十八页一、一、Sun JSPSun JSP(Java Server PageJava Server Page)技术)技术 2 2、支持、支持JSP/ServletJSP/Servlet的应用服务器平台的应用服务器平台(1 1)Sun JSPSun JSP应用平台应用平台(2 2)ApacheApache公司的公司的TomcatTomcat平台平台(3 3)BEABEA公司的公司的WebLogicWebLogic平台平台(4 4)IBMIBM公司的公司的WebSphere ServerWebSphere Server平台平台1 1、JSPJSP简介简介wJSPJSP是
2、一种动态网页技术的标准并构建在是一种动态网页技术的标准并构建在Java ServletsJava Servlets技术的基础技术的基础上上wJSPJSP是服务器端的技术,一个是服务器端的技术,一个JSPJSP页面由页面由HTMLHTML及及JSPJSP标签和嵌入其中的标签和嵌入其中的JavaJava代码所代码所组成,并且以组成,并且以.jsp.jsp为扩展名为扩展名 本讲稿第二页,共二十八页3 3、JSPJSP的工作原理(预编译方式)的工作原理(预编译方式)本讲稿第三页,共二十八页4 4、JSPJSP和和ServletServlet的对应关系的对应关系 在在一一个个JSPJSP文文件件第第一一
3、次次被被请请求求时时,JSPJSP引引擎擎把把该该JSPJSP文文件件转转换换成成为为一一个个ServletServlet,因此,因此JSPJSP其实是标签化的其实是标签化的ServletServlet。本讲稿第四页,共二十八页5 5、区分、区分WebWeb开发中的开发中的URLURL和和URIURI的不同的不同(1 1)URLURL 统一资源定位符(统一资源定位符(Uniform Resource Locator,URLUniform Resource Locator,URL)定义客户端连接到服务)定义客户端连接到服务器所需要的信息。器所需要的信息。例如:例如:http:/ (2 2)URI
4、URI 统一资源标识符(统一资源标识符(Uniform Resource Identifier,URIUniform Resource Identifier,URI)是)是URLURL的一部分,的一部分,没有域名和查询字符串,就是指定域名之后和查询字符串之间的所有信息,其作用没有域名和查询字符串,就是指定域名之后和查询字符串之间的所有信息,其作用是指定资源。是指定资源。给定如下地址,从中可以看到给定如下地址,从中可以看到URLURL和和URIURI,请求地址:,请求地址:http:/ URI:URI:/products/servlet/index.html/products/servlet/i
5、ndex.html 本讲稿第五页,共二十八页1 1、JSPJSP中的标签语法规则中的标签语法规则q大部分的大部分的JSPJSP元素都基于元素都基于“XMLXML”的语法的语法,当然也可以采用当然也可以采用HTMLHTML语语法法属性值使用属性值使用引号括引号括起来起来wJSPJSP中的元素属性也和中的元素属性也和XMLXML中定义的属性一样,遵从相同的原则,中定义的属性一样,遵从相同的原则,但但JSPJSP页面的属性值一定要使用引号括起来,页面的属性值一定要使用引号括起来,双引号(双引号(”)和单)和单引号(引号()都可以使用都可以使用 二二、JSPJSP中的通用语法规则中的通用语法规则2 2
6、、JSPJSP中的文件相对路径表示法中的文件相对路径表示法(1 1)jspRelativeTest.jspjspRelativeTest.jsp“(2 2)/jspRelativeTest.jsp/jspRelativeTest.jsp“(3 3)./jspRelativeTest.jsp./jspRelativeTest.jsp 相对于当前文相对于当前文件件相对于相对于WebWeb应用应用程序的根程序的根目录目录为当前页面的父为当前页面的父目录目录本讲稿第六页,共二十八页3 3、JSPJSP中的各种注释方式中的各种注释方式(2 2)JSPJSP本身的注释语法(也称隐藏注释)本身的注释语法(也
7、称隐藏注释)%-%(1 1)HTMLHTML类型的类型的注释(也称明文注注释(也称明文注释,在浏览器浏览释,在浏览器浏览时能够看到注释的时能够看到注释的内容文字)内容文字)!-本讲稿第七页,共二十八页4 4、在、在JSPJSP页面中所声明的对象作用域页面中所声明的对象作用域(1 1)page page 作用域:作用域:仅在一个仅在一个JSPJSP页面内有效页面内有效(2 2)requestrequest作用域:作用域:在一个请求周期内有效。就是从你点击页面在一个请求周期内有效。就是从你点击页面上的一个按钮开始到服务器返回响应页面为止(包括响应页面)。上的一个按钮开始到服务器返回响应页面为止(包
8、括响应页面)。(3 3)sessionsession作用域:作用域:在一个用户与服务器建立连接的整个会话过程中在一个用户与服务器建立连接的整个会话过程中有效,从而可以达到多个有效,从而可以达到多个JSPJSP页面程序中操作同一个页面程序中操作同一个JavaBeanJavaBean以实现传以实现传统意义上的统意义上的“全局变量池全局变量池”(4 4)applicationapplication作用域作用域:在整个:在整个webweb应用程序运行期间内有效应用程序运行期间内有效本讲稿第八页,共二十八页三、三、JSPJSP中的各种指令中的各种指令1 1、pagepage指令功能指令功能(1 1)指令
9、是)指令是JSPJSP中的一种标签,它给中的一种标签,它给JSPJSP容器提供要求用来处理页面的特殊容器提供要求用来处理页面的特殊设置要求设置要求-实现实现JSPJSP页面被编译时的各种选项页面被编译时的各种选项(2 2)通过这些指令可以改变该)通过这些指令可以改变该JSPJSP页面所对应的页面所对应的ServletServlet的结构,以便当的结构,以便当页面被处理时能够生成所要求的页面被处理时能够生成所要求的ServletServlet程序。程序。2 2、pagepage指令应用的语法格式指令应用的语法格式%建议:最好采用此建议:最好采用此方式以提高可方式以提高可读性读性本讲稿第九页,共二
10、十八页3 3、pagepage指令中的常用的属性指令中的常用的属性本讲稿第十页,共二十八页4 4、JSPJSP中的中的includeinclude指令指令(1 1)作用:实现页面之间的)作用:实现页面之间的文件包含文件包含(2 2)语法:)语法:%include file=%(3 3)应用要点)应用要点qincludeinclude指令仅能引用静态文件(指令仅能引用静态文件(HTMLHTML或或JSPJSP),并且不能是独立),并且不能是独立的的HTMLHTML文件文件 。但。但动作可以引用动态资源动作可以引用动态资源q利用利用includeinclude伪指令,可以将设计好的框架结构文件分割
11、成多伪指令,可以将设计好的框架结构文件分割成多个部分个部分您了解您了解C及及C+语言中的文语言中的文件包含的用件包含的用法吗?法吗?本讲稿第十一页,共二十八页(4 4)主要的功能)主要的功能q一方面可以把整个页面拆分为多个不同的子部分,每部分可以独立一方面可以把整个页面拆分为多个不同的子部分,每部分可以独立地变化地变化q另一方面只要改变所包含文件的内容,就可以迅速更新整个页面另一方面只要改变所包含文件的内容,就可以迅速更新整个页面 本讲稿第十二页,共二十八页四、四、JSPJSP中的各种形式的脚本中的各种形式的脚本 1 1、JSPJSP中的声明中的声明(1 1)特性)特性wJSPJSP中的声明用
12、于声明一个中的声明用于声明一个或多个变量和方法,并不或多个变量和方法,并不输出任何的文本到输出任何的文本到outout输出输出流去。流去。w在声明元素中声明的变量和在声明元素中声明的变量和方法将在方法将在JSPJSP页面初始化时页面初始化时被初始化。被初始化。(2 2)语法)语法%!%(3 3)声明变量和方法的语句完全可以放声明变量和方法的语句完全可以放在脚本区(在脚本区(ScriptletScriptlet)中)中本讲稿第十三页,共二十八页(4 4)注意与在脚本区中的应用方面的不同)注意与在脚本区中的应用方面的不同p放在放在中的声明语句在编译为中的声明语句在编译为ServletServlet
13、的时候将作的时候将作为类的成员数据而存在,声明的数据能够在同一个页面中的不同的为类的成员数据而存在,声明的数据能够在同一个页面中的不同的方法中被应用;方法中被应用;w而放在而放在ScriptletScriptlet脚本中的变量声明将在页面所对应的脚本中的变量声明将在页面所对应的ServletServlet类的方法类的方法_jspService()_jspService()内部被声明(为内部被声明(为_jspService()_jspService()方法的局方法的局部符号定义)部符号定义)w在在声明语句中不能有其它的功能性的语句声明语句中不能有其它的功能性的语句 本讲稿第十四页,共二十八页2
14、2、JSPJSP中的表达式中的表达式 (1 1)JSPJSP中的表达式可以被看作一种简单的输出形式,需要注意的中的表达式可以被看作一种简单的输出形式,需要注意的是,表达式一定要有一个可以输出的值。是,表达式一定要有一个可以输出的值。(2 2)语法为)语法为%=%本讲稿第十五页,共二十八页(3 3)对表达式在应用方面所应该注意的要点)对表达式在应用方面所应该注意的要点q“%=%”的格式中的的格式中的“=”的位置的位置 不要写成不要写成“%=%”或者或者“%=%”。q表达式元素表示的是一个在脚本语言中被定义的表达式,在运行表达式元素表示的是一个在脚本语言中被定义的表达式,在运行后被自动转化为字符串
15、,然后插入到这个表达式在后被自动转化为字符串,然后插入到这个表达式在JSPJSP文件中的对文件中的对应位置处显示输出。应位置处显示输出。w不能用一个分号(不能用一个分号(“;”)来作为表达式)来作为表达式的结束符,但是同样的表达式用在的结束符,但是同样的表达式用在ScriptletScriptlet中就需要以分号来结尾了!中就需要以分号来结尾了!w有时候表达式也能做为其它有时候表达式也能做为其它JSPJSP元素的属性元素的属性值、并为其赋值;值、并为其赋值;本讲稿第十六页,共二十八页3 3、JSPJSP中的脚本代码中的脚本代码 JSPJSP文件结构文件结构(1 1)所谓脚本()所谓脚本(Scr
16、iptletScriptlet)代码)代码也就是在也就是在JSPJSP页面中所内嵌的页面中所内嵌的JavaJava代码,并且这些脚本代码也应该代码,并且这些脚本代码也应该要遵守要遵守JavaJava语言中的各种语法规则。语言中的各种语法规则。(2 2)语法为)语法为%本讲稿第十七页,共二十八页(3 3)对脚本代码在应用方面所应该注意的要点)对脚本代码在应用方面所应该注意的要点q在在脚本区中可以脚本区中可以声明将要用到的变量或方法,并编写声明将要用到的变量或方法,并编写JSPJSP表达式表达式和语句;但这些语句必须遵从和语句;但这些语句必须遵从JavaJava语言的语法规则。语言的语法规则。q使
17、用任何隐含的对象和任何用使用任何隐含的对象和任何用声明过的对象声明过的对象w任何文本、任何文本、HTMLHTML标签和标签和JSPJSP页面的其它元素都必须在页面的其它元素都必须在ScriptletScriptlet区域之外区域之外w当某个当某个JSPJSP页面收到客户的请求时,该页面收到客户的请求时,该ScriptletScriptlet就会被执行,如就会被执行,如果果ScriptletScriptlet有显示的内容,这些显示的内容就被存在有显示的内容,这些显示的内容就被存在outout对象对象中并输出到页面中显示出。中并输出到页面中显示出。本讲稿第十八页,共二十八页四、四、JSPJSP中标
18、准的动作标签中标准的动作标签1 1、JSPJSP(Java Server PageJava Server Page)技术的产生)技术的产生它其实是它其实是J2EE ServletJ2EE Servlet技术的标签化技术的标签化-将常用的将常用的WebWeb服务器中的功服务器中的功能代码以标签的方式来提供。能代码以标签的方式来提供。2 2、标准动作、标准动作(1 1)以标签的形式出现)以标签的形式出现动作也是以标签的形式出现,它代表服务器端的某种形式的动作也是以标签的形式出现,它代表服务器端的某种形式的JavaJava程序代码,从而实现产生输出或创建和修改对象等方面的程序代码,从而实现产生输出或
19、创建和修改对象等方面的功能。功能。如:如:您了解为什您了解为什么要这样么要这样吗?吗?本讲稿第十九页,共二十八页(2 2)动作是基于)动作是基于XMLXML形式的标签形式的标签所有的动作标签的语法是基于所有的动作标签的语法是基于XMLXML的(也可以为的(也可以为HTMLHTML形式)形式)如:如:jsp:useBean/)动作标签允许动作标签允许 Java Java 程序员将程序员将 Java Java 代码伪装成代码伪装成 XMLXML或者或者HTML HTML 标标签来扩展签来扩展 JSP JSP 页面文件的功能,同时也实现了表示层与业务层之页面文件的功能,同时也实现了表示层与业务层之间
20、的分离。间的分离。(3 3)动作标签中的动作标签中的idid和和scopescope属性属性其中其中idid表示一个动作的名称,而表示一个动作的名称,而scopescope作用域的取值如下:作用域的取值如下:pagepage、requestrequest、sessionsession和和applicationapplication (4 4)主要的标准动作标签)主要的标准动作标签 定义和实例化定义和实例化JavaBeanJavaBean组件类的对象组件类的对象 设置设置所定义的对象的属性所定义的对象的属性 获得获得所定义的对象的属性所定义的对象的属性本讲稿第二十页,共二十八页(4 4)主要的标
21、准动作标签(续)主要的标准动作标签(续)转向指定的目标页面转向指定的目标页面 为目标对象提供参数(在目标页面中可以采用为目标对象提供参数(在目标页面中可以采用request.getParameter(request.getParameter(“namename”)方法来获得参数)方法来获得参数)在主文件中包含另一文件(实现动态文件包含)在主文件中包含另一文件(实现动态文件包含)3 3、动作的编程使用动作的编程使用本讲稿第二十一页,共二十八页3 3、动作的编程使用动作的编程使用本讲稿第二十二页,共二十八页4 4、动作的编程使用动作的编程使用5 5、注意、注意JSPJSP和和ServletServ
22、let之间之间的通讯实现的通讯实现6 6、动作的编程使用动作的编程使用 实实现现从从一一个个JSPJSP文文件件向向另另一一个个文文件件传传递递一一个个包包含含用用户户请请求求的的requestrequest对象。对象。jsp:param name=userName value=admin/本讲稿第二十三页,共二十八页7 7、标准动作的编程使用标准动作的编程使用 它被用来以它被用来以“名名-值值”对的形式为其他标签提供附加信息。对的形式为其他标签提供附加信息。它一般可以和它一般可以和、等标等标签一起使用。签一起使用。jsp:include page=com.jsp jsp:param name
23、=jsp:param name=“userNameuserName value=%=value=/%/(1 1)主要的作用)主要的作用w它将静态、动态它将静态、动态WebWeb资源包含到当前资源包含到当前JSPJSP页面中,对静态资源(如页面中,对静态资源(如HTMLHTML和文本文件),该文件的内容被直接包括在和文本文件),该文件的内容被直接包括在JSPJSP中;中;w若是若是ServletServlet和和JSPJSP等动态资源,被包括的资源在处理完请求后将等动态资源,被包括的资源在处理完请求后将结果返回。在该动作之后,容器继续执行结果返回。在该动作之后,容器继续执行JSPJSP剩下的内容
24、剩下的内容8 8、标准动作的编程使用标准动作的编程使用本讲稿第二十四页,共二十八页(2)include2)include指令和指令和includeinclude动作有所不同动作有所不同w前者是在前者是在JSPJSP被转换成被转换成ServletServlet时一起被转换时一起被转换w而后者则是在生成的而后者则是在生成的ServletServlet中调用(或插入处理结果,或插入静中调用(或插入处理结果,或插入静态资源本身)。态资源本身)。(3 3)语法)语法jsp:include page=/或者或者jsp:include page=jsp:param /本讲稿第二十五页,共二十八页五、利用五、利用DreamWeaverDreamWeaver创建创建WebWeb站点站点1 1、启动、启动DreamWeaverDreamWeaver2 2、新建、新建WebWeb站点站点 3 3、新建、新建WebWeb站点的站点的index.htmindex.htm文件文件4 4、浏览、浏览WebWeb站点站点 本讲稿第二十六页,共二十八页5 5、注意在首页中的关键字的设置以利于搜索、注意在首页中的关键字的设置以利于搜索本讲稿第二十七页,共二十八页6 6、J2EE WebJ2EE Web应用程序目录结应用程序目录结构构请注意这些目请注意这些目录结构录结构本讲稿第二十八页,共二十八页