JavaEE开发技术与案例教程 教学课件 ppt 作者 刘彦君 金飞虎 第4章 JSP

上传人:E**** 文档编号:89401753 上传时间:2019-05-24 格式:PPT 页数:124 大小:2.16MB
返回 下载 相关 举报
JavaEE开发技术与案例教程 教学课件 ppt 作者  刘彦君 金飞虎 第4章  JSP_第1页
第1页 / 共124页
JavaEE开发技术与案例教程 教学课件 ppt 作者  刘彦君 金飞虎 第4章  JSP_第2页
第2页 / 共124页
JavaEE开发技术与案例教程 教学课件 ppt 作者  刘彦君 金飞虎 第4章  JSP_第3页
第3页 / 共124页
JavaEE开发技术与案例教程 教学课件 ppt 作者  刘彦君 金飞虎 第4章  JSP_第4页
第4页 / 共124页
JavaEE开发技术与案例教程 教学课件 ppt 作者  刘彦君 金飞虎 第4章  JSP_第5页
第5页 / 共124页
点击查看更多>>
资源描述

《JavaEE开发技术与案例教程 教学课件 ppt 作者 刘彦君 金飞虎 第4章 JSP》由会员分享,可在线阅读,更多相关《JavaEE开发技术与案例教程 教学课件 ppt 作者 刘彦君 金飞虎 第4章 JSP(124页珍藏版)》请在金锄头文库上搜索。

1、第4章 JSP,4.1 JSP概述 4.2 JSP基本语法 4.3 JSP中的隐含对象 4.4 EL表达式和标签 习题,4.1 JSP概述,4.1.1 什么是JSP JSP(Java Server Page)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态技术标准。 在传统的网页HTML文件中加入Java程序片段(Scriptlet)和JSP标签,构成一个JSP网页。 java程序片段完成的所有操作都在服务器端执行。 JSP页面第一次被访问时,会由JSP引擎自动编译成Servlet,然后开始执行,以后每次调用时,都是直接执行编译好的Servlet而不需要重新编译。,

2、4.1.2 JSP的特点 1跨平台性 作为Java应用平台的一部分,JSP同样具有Java语言“一次编写,到处执行”的特性,一个JSP程序能够运行在任何支持JSP的应用服务器上,而不需要做修改。 2实现角色的分离 使用JSP技术,Web页面的开发人员只需使用HTML或XML标记来设计页面的显示格式。 程序开发人员使用JSP标记或脚本代码来产生页面上的动态内容。这种方式将页面设计人员和程序开发人员的工作进行了有效分离,并且提高了开发效率。,4.1.2 JSP的特点 3组件的可重用 JavaBean组件是JSP中的一个重要组成部分,程序通过JavaBean组件来执行所要求的更为复杂的处理。开发人员

3、能够共享和交换执行这些组件,或者使得这些组件为更多的使用者所用,加快了应用程序的总体开发进程。,4.1.2 JSP的特点 4采用标记简化页面开发 在JSP技术中提供了一种新的标记:JSP标记。JSP通过封装技术将一些常用功能以JSP标准标记的形式提供给页面设计人员,他们就可以像用HTML标记一样使用这些JSP标记,而不需要关心该标记如何实现。 同时,JSP技术也允许程序开发人员自定义JSP标记库,从而通过开发定制化标记库的方式进行功能扩充。 通过封装成标记的形式不仅简化了页面开发,而且可以将一些复杂而且需多次使用的功能封装在标记中实现了功能的重用,提高了工作效率。,4.1.3 JSP举例 例4

4、.1 :求1到100的累加和。代码如下: “+“从1到100的累加和是:“+sum); % 通过表达式显示累加和结果: ,分析: JSP页面是由HTML标记、JSP指令和嵌入到HTML标记中的JSP脚本代码构成。 HTML标记主要进行网页的显示,本例中使用了、等三个HTML标记,其中标记实现换行输出。 JSP指令用于告诉JSP容器如何处理JSP网页,本例中使用了page指令用于指定该网页使用gb2312作为编码格式。 JSP脚本代码实现了从1到100的累加和,它包含在由标记括起来的区域中,其语句用法与Java语言完全一致。,JSP的运行: JSP文件是以.jsp作为扩展名。本例中将其保存为ex

5、ample4_1.jsp。然后将该文件直接放在Tomcat的ROOT目录下,即可运行。打开浏览器,在地址栏输入:http:/127.0.0.1:8080/example4_1.jsp。 运行结果如图所示:,JSP和JavaServlet的不同 1编程方式不同 JavaServlet是一个完整的Java应用程序,有类和方法;而JSP是在HTML页面中嵌入的代码片段,不需要有严格的类和方法定义。 2编译与部署过程不同 JavaServlet需要先编译,然后将生成的类文件部署在指定路径下,并且需要在配置文件中进行注册,才能运行;而JSP不需要事先编译,而是将.jsp文件直接放在相应的目录下,也不需注

6、册就可以运行。 3运行速度不同 由于JavaServlet事先编译完成,一旦被访问可以直接运行;而JSP是源代码存放,所以在首次访问时需要经过编译才能运行,因而首次执行速度会比较慢,但后面的访问速度就恢复到正常。,4.2 JSP基本语法,4.2.1 JSP页面的基本组成 1HTML标记 在JSP的开发中,HTML标记主要负责页面的布局和美观效果的设计,是一个网页的框架。 2JSP标记 JSP标记是在JSP页面中使用的一种特殊标记,用于告诉JSP容器如何处理JSP网页或控制JSP引擎完成某种功能。根据应用作用的不同,JSP标记分为JSP指令标记和JSP动作标记。,4.2.1 JSP页面的基本组成

7、 3JSP脚本代码 JSP脚本代码是嵌入到JSP页面中的Java代码,简称JSP脚本,在客户端浏览器中不可见。它们被服务器执行,然后由服务器将执行结果与HTML标记一起发送给客户端进行显示。通过执行JSP脚本,可以在该页面生成动态的内容。 4JSP注释 JSP页面中的注释是由程序员插入的用于解释JSP源代码的句子或短语。注释通常以简单明了的语句解释代码所执行的操作,其并不参与运行。,4.2.2 JSP指令标记 JSP标记分为两类:JSP指令标记和JSP动作标记。 JSP的指令标记是由JSP服务器解释并处理的用于设置JSP页面的相关属性或执行动作的一种标记,在一个指令标记中可以设置多个属性,这些

8、属性设置的作用域范围是整个页面。,4.2.2 JSP指令标记 在JSP中主要包括3种指令标记: page指令、include指令、 taglib指令。 指令的通用格式为: 在起始符号“”之前,可以加空格,也可以不加,但是在起始符号中的之间不能有任何的空格。,1page指令 page指令作用于整个JSP页面,其定义了与页面相关的一些属性,这些属性将被用于和JSP服务器进行通信。 page指令的语法如下: 其XML形式为: page指令有13个属性。,(1)language=“scriptingLanguage“ 该属性用于指定在脚本元素中使用的脚本语言,默认值是java。 (2)extends=

9、“className“ 该属性用于指定JSP页面转换后的Servlet类所继承的父类,属性的值是一个完整的类名。 (3) import=“importList“ 该属性用于声明在JSP页面中可以使用的Java类。属性的值和Java程序中的import声明类似,该属性的值是以逗号分隔的导入列表,例如: 要注意的是,page指令中只有import属性可以重复使用。如果不写该属性,import 默认引入以下4个包:java.lang.*,javax.servlet.*,javax.servlet.jsp.*和javax.servlet.http.*。,(4)session=“true|false“

10、该属性用于指定在JSP页面中是否可以使用session对象,默认值是true。 (5)buffer=“none|sizeKB“ 该属性用于指定out对象使用的缓冲区大小,如果设置为none,将不使用缓冲区,所有的输出直接通过ServletResponse的PrintWriter对象写出。该属性的值以KB为单位,默认值是8KB。 (6)autoFlush=“true|false“ 该属性用于缓冲区满时,缓存的输出是否应该自动刷新。如果设置为false,当缓冲区溢出的时候,一个异常将被抛出。默认值为true。 (7)isThreadSafe=“true|false“ 该属性用于指定对JSP页面的访

11、问是否是线程安全的。如果设置为true,则向JSP容器表明这个页面可以同时被多个客户端请求访问。默认值是true。,(8) info=“info_text“ 该属性用于指定页面的相关信息,该信息可以通过调用Servlet接口的getServletInfo()方法来得到。 (9) errorPage=“error_url“ 该属性用于指定当JSP页面发生异常时,将转向哪一个错误处理页面。 注意:如果一个页面通过使用该属性定义了错误页面,那么在web.xml文件中定义的任何错误页面将不会被使用。 (10) isErrorPage=“true|false“ 该属性用于指定当前的JSP页面是否是另一个

12、JSP页面的错误处理页面。默认值是false。 (11)contentType=“type“ 该属性指定用于响应的JSP页面的MIME类型和字符编码,中文页面中必须要设置。例如:,(12) pageEncoding=“peinfo“ 该属性指定JSP页面使用的字符编码。如果设置了这个属性,则JSP页面的字符编码使用该属性指定的字符集,如果没有设置这个属性,则JSP页面使用contentType属性指定的字符集,如果这两个属性都没有指定,则使用字符集“ISO-8859-1”。 (13)isELIgnored=“true|false“ 该属性用于定义在JSP页面中是否执行或忽略EL表达式。如果设置

13、为true,EL表达式将被容器忽略,如果设置为false,EL表达式将被执行。 注意:无论将page指令放在JSP文件的哪个位置,它的作用范围都是整个JSP页面。 为了JSP程序的可读性,以及养成良好的编程习惯,应该将page指令放在JSP文件的顶部。,2 include指令 include指令用于在JSP页面中静态包含一个文件,该文件可以是JSP页面、HTML网页、文本文件或一段Java代码。使用了include指令的JSP页面在转换时,JSP服务器会在指令出现的位置插入所包含文件的文本或代码。 include指令的语法为: XML语法格式的include指令为: 其中file属性值为相对于

14、当前JSP文件的URL。,例4.2:include指令的使用 欢迎你 欢迎你,现在的时间是 date.jsp: 访问该页面,会显示当前的系统时间。 思考:当前显示的时间是本地时间还是服务器时间?,3taglib指令 taglib指令允许页面使用用户自定义的标记。taglib指令的语法如下: XML语法的格式为: ,taglib指令的三个属性: (1) uri 该属性惟一地标识和前缀(prefix)相关的标签库描述符,可以是绝对或者相对的URI。这个URI被用于定位标记库描述符的位置。 (2)tagdir 该属性指示前缀(prefix)将被用于标识安装在/WEB-INF/tags/目录或其子目录

15、下的标签文件。 (3)prefix 定义一个prefix:tagname形式的字符串前缀,用于区分多个自定义标签。以jsp:,jspx:,java:, javax:,servlet:,sun:和sunw:开始的前缀被保留。前缀的命名必须遵循XML名称空间的命名约定。 在JSP2.0规范中,空前缀是非法的。,4.2.3 JSP动作标记 JSP的动作标记是JSP的另一种标记,它利用XML语法格式来控制JSP服务器实现某种功能。其遵循XML元素的语法格式,有起始标记、结束标记、空标记等,也可以有属性。 在JSP2.0的规范中定义了一些标准的动作,这些标准动作通过标记来实现,它们影响JSP运行时的行为

16、和对客户端请求的响应,这些动作由JSP服务器来实现。在页面被转换为Servlet时,由JSP服务器将预先定义好的对应于该标记的Java代码来代替它。,JSP2.0规范中定义了20个标准的动作标记。 常用的JSP动作标记有: :在页面被请求时动态引入一个文件。 :把请求转到一个新的页面。 :用于产生与客户端浏览器相关的HTML标记(或)。 :实例化一个javaBean。 :设置一个javaBean的属性。 :获得一个javaBean的属性。 ,和:访问JavaBean时所用。,1 这个动作元素被用来以“名值对”的形式为其他标记提供附加信息,如传递参数等。它和,和一起使用。它的语法为: 它有两个必备的属性name和value。 name:给出参数的名字。 value:给出参数的值,可以是具体的值也可以是一个表达式。,2 这个动作标记用于在当前页面中动态包含一个文件,一旦被包含的文件执行完毕,请求处理将在调用页面中继续进行。被包含的页面不能改变响应的状态代码或者设置报头,这防止了对类似setCookie()这样的方法的调用,任何对这些方法的调用都将被

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

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号