您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 第2章 JSP页面与JSP标记
第2章JSP页面与JSP标记SJP主要内容•JSP页面的基本结构•变量和方法的声明•Java程序片•表达式•JSP中的注释•JSP指令标记•JSP动作标记难点•Java程序片的运行原理•include指令标记与include动作标记关键实践•编写一个JSP页面,让该JSP页面包含5种基本的元素•编写含有JSP指令标记的JSP页面•编写含有JSP动作标记的JSP页面第2章SJP§2.1JSP页面的基本结构JSP页面可由5种元素组合而成:①普通的HTML标记符;②JSP标记,如指令标记、动作标记;③变量和方法的声明;④Java程序片;⑤Java表达式;JSP页面的运行原理:把JSP页面中普通的HTML标记符号,交给客户的浏览器执行显示。JSP标记、数据和方法声明、Java程序片由Tomcat服务器负责执行,将需要显示的结果发送给客户的浏览器。Java表达式由Tomcat服务器负责计算,将结果转化为字符串,交给客户的浏览器负责显示。SJP1.在JSP页面的标记符“%!”和“%”之间声明的变量称作JSP页面的成员变量。例2-2P132.在JSP页面的标记符“%!”和“%”之间声明方法。该方法在整个JSP页面有效。例2-3P14§2.2变量和方法的声明SJP§2.3Java程序片在“%”和“%”之间插入Java程序片。程序片中声明的变量称为JSP页面的局部变量。多个客户请求一个JSP页面时,Java程序片将被执行多次,分别在不同的线程中执行。例2-4P15SJP§2.4表达式“%=”和“%”之间可以是一个Java表达式。表达式的值由服务器负责计算,并将计算结果用字符串形式发送到客户端显示。例2-6P17SJP§2.5JSP中的注释1.HTML注释格式:!--注释内容--2.JSP注释格式:%--注释内容--%例2-7P18注:程序片中的注释//SJP§2.6JSP指令标记2.6.1page指令page指令用来定义整个JSP页面的一些属性和这些属性的值。page指令标记可以指定如下属性的值contentType、import、language、session、buffer、autoFlush、isThreadSafe、pageEncoding。属性值用单引号或双引号括起来。可以用一个page指令指定多个属性的值,也可以使用多个page指令分别为每个属性指定值.page指令的作用对整个JSP页面有效,与其书写的位置无关,习惯把page指令写在JSP页面的最前面。例如:%@page属性1=“属性1的值”属性2=“属性2的值”……%或%@page属性1=属性1的值%%@page属性2=属性2的值%……%@page属性n=“属性n的值”%SJP2.6.1page指令__language属性定义JSP页面使用的脚本语言,该属性的值目前只能取java。例如:%@pagelanguage=java%注:JSP页面默认有如上page指令。SJP2.6.1page指令__import属性该属性的作用是为JSP页面引入Java运行环境提供的包中的类,这样就可以在JSP页面的程序片部分、变量及函数声明部分、表达式部分使用包中的类。例如:%@pageimport=java.io.*,java.util.Date%注:JSP页面默认import属性已经有“java.lang.*”、“javax.servlet.*”等值。SJP2.6.1page指令_contentType属性contentType属性值确定JSP页面响应的MIME(MultipurposeInternetMailExtention)类型和JSP页面字符的编码。例如:%@pagecontentType=text/html;charset=GB2312%%@pagecontentType=application/msword%注:不允许两次使用page指令给contentType属性指定不同的属性值.例2-8P21SJP2.6.1page指令_session属性用于设置是否需要使用内置的session对象。session的属性值可以是true或false。session属性默认的属性值是true。参考:P84§4.3详细讲解SJP2.6.1page指令_buffer属性内置输出流对象out负责将服务器的某些信息或运行结果发送到客户端显示,buffer属性用来指定out设置的缓冲区的大小或不使用缓冲区。例如:%@pagebuffer=“24kb”%buffer属性的默认值是8kb。buffer属性可以取值“none”,设置out不使用缓冲区。参考:P96§4.4详细讲解out对象SJP2.6.1page指令_autoFlush属性autoFlush属性:指定out的缓冲区被填满时,缓冲区是否自动刷新。注:autoFlush属性的默认值是true。SJP2.6.1page指令_isThreadSafe属性isThreadSafe属性:用来设置JSP页面是否可多线程访问。注:isThreadSafe属性的默认值是true。SJP2.6.1page指令_info属性info属性的属性值是一个字符串,其目的是为JSP页面准备一个常用且可能需要经常修改的字符串。例如:%@pageinfo=“wearestudents”%注:可以在JSP页面中使用方法:getServletInfo();获取info属性的属性值。SJP2.6.2include指令标记include指令标记的作用是在JSP页面出现该指令的位置处,静态插入一个文件。其语法格式如下:%@includefile=文件的URL%注:如果该文件和当前JSP页面在同一Web服务目录中,那么“文件的URL”就是文件的名字;如果该文件在JSP页面所在的Web服务目录的一个子目录中,比如fileDir子目录中,那么“文件的URL”就是“fileDir/文件的名字”。注:静态插入,就是当前JSP页面和插入的文件合并成一个新的JSP页面,然后JSP引擎再将这个新的JSP页面转译成Java文件。例2-9,2-10P24SJP§2.7JSP动作标记2.7.1include动作标记语法格式:jsp:includepage=文件的URL/或jsp:includepage=文件的URLparam子标记/jsp:includeinclude动作标记告诉JSP页面动态加载一个文件。注:include动作标记是在JSP页面运行时才处理文件,被处理的文件在逻辑和语法上独立于当前JSP页面。例2-11P27SJP2.7.2param动作标记param标记以“名字-值”的形式为其它标记提供附加信息.语法格式:jsp:paramname=“名字”value=“指定给param的值”注:param标记不能独立使用,需作为jsp:include、jsp:forward、jsp:plugin标记的子标记来使用。注:当该标记与jsp:include动作标记一起使用时,可以将param标记中的值传递到include动作标记要加载的文件中去,被加载的JSP文件可以使用Tomcat服务器提供的request内置对象获取include动作标记的param子标记中name属性所提供的值例2-12P28SJP2.7.3forward动作标记该指令的作用是:从该指令处停止当前页面的继续执行,而转向执行page属性指定的JSP页面。语法格式:jsp:forwardpage=要转向的页面/或jsp:forwardpage=要转向的页面param子标记/jsp:forward例2-13P29SJP2.7.4plugin动作标记该动作标记指示JSP页面加载Javaplugin插件。该插件由用户负责下载,并使用该插件来运行Javaapplet小程序。语法格式:jsp:plugintype=appletcode=小程序的字节码文件jreversion=java虚拟机版本号width=小程序宽度值height=小程序高度值jsp:fallback提示信息:用来提示用户的浏览器是否支持插件下载/jsp:fallback/jsp:plugin例2-14P29SJP2.7.5useBean动作标记该标记用来创建并使用一个Javabean,是非常重要的一个动作标记,我们将在第4章详细讨论。Sun公司的倡导是:用HTML完成JSP页面的静态部分,用Javabean完成动态部分,实现真正意义上的静态和动态分离。参考:P195第7章详细讲解
本文标题:第2章 JSP页面与JSP标记
链接地址:https://www.777doc.com/doc-3973714 .html