第单元基础语法演示文稿_第1页
第单元基础语法演示文稿_第2页
第单元基础语法演示文稿_第3页
第单元基础语法演示文稿_第4页
第单元基础语法演示文稿_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第单元基础语法演示文稿目前一页\总数三十四页\编于十点优选第单元基础语法目前二页\总数三十四页\编于十点JSP与HTMLJava服务器页面(JavaServerPage,JSP)JSP技术是纯Java平台的技术,在JSP页面里面可使用Java编程语言和类库。在HTML文档(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP标签,构成了JSP网页(*.jsp)其中:HTML标签用于表示页面,而Java代码用于产生动态网页内容目前三页\总数三十四页\编于十点JSP基本原理JSP执行原理(分两个阶段):所有操作都在服务器端执行,在网络上传给客户端的仅是得到的结果,与浏览器无关。转换阶段:当一个对JSP面请求到来时,jsp容器检查jsp页面语法是否正确,将jsp转换为Servlet源文件,再用javac命令编译Servlet源文件生成字节码文件。在JSP中的程序片段可以执行动态页面所需要的功能,如:操作数据库、重新定向网页以及发送E-Mail等等。执行阶段:Servlet容器加载并执行转换后的Servlet类,最后将执行结果以HTML格式响应给客户端。目前四页\总数三十四页\编于十点JSP执行过程实例:目前五页\总数三十四页\编于十点JSP的本质JSP是以Java和Servlet为基础开发的动态网页生成技术,它的底层实现是JavaServlet。关于JSP的效率:JSP页面的转译、编译工作在该页面第一次被访问时进行;JSP引擎在首次处理JSP请求时,用户收到响应的时间可能较长;当处理后续用户访问时,JSP和Servlet的执行速度是一样的。目前六页\总数三十四页\编于十点JSP的基本构成JSP元素包括:注释元素:用于注释JSP页面中的一些内容;脚本元素:JSP页面中嵌入的Java代码,用于实现网页的动态交互。指令元素:为JSP引擎设计,向JSP引擎发送消息,通知引擎如何处理其余JSP页面。如:页面使用的字符集、脚本使用语言等。动作元素:用于完成某些动作的标记,告诉Web容器去执行某个"动作"。如:页面转发、参数传递等。目前七页\总数三十四页\编于十点JSP页面的通用书写规则1)JSP页面中HTML标记不区分大小写,JSP标记和页面中嵌入的Java代码区分大小写;2)在JSP页面中,虽然指令和脚本元素所拥有的语法不基于XML,但应采用XML语法格式书写;3)在标记中出现的属性值总是用引号括起来:使用单引号或双引号;4)JSP使用的URL地址要遵循Servlet的惯例;5)在JSP文档体中的文本中的空白符无关紧要(空白包括空格和空行);在标记中可以使用字符"\"(反斜杠)来作为换码字符。目前八页\总数三十四页\编于十点JSP注释元素HTML注释:本质就是html注释,在客户端html代码中可以查看,且在HTML注释中可嵌入其他JSP元素,并将被JSP引擎处理。语法:<!--注释

-->隐藏注释:JSP标准注释,完全被JSP编译忽略,在客户端不存在。说明:包含在隐藏注释中的所有内容将被JSP编译器忽略,返回给客户端的html源代码中不存在,隐藏注释供程序员使用。语法:<%--注释

--%>目前九页\总数三十四页\编于十点JSP脚本元素表达式:语法格式:<%=Java表达式%>作用:将表达式的值强制转换成String类型,再输出到网页中;不能转换则报错。注意:不能用分号";"作表达式的结束符号。例如:<%=(newjava.util.Date())%>声明:在JSP中定义符合Java语法的方法、变量和类格式:<%!变量、方法或类%>声明的类:该页面对应的Servlet类的内部类;声明的变量和方法:页面对应Servlet类的成员变量和成员方法;声明的变量、方法和类仅在所在页面有效,并被其它部分共享;注意:成员变量可被多个线程(即多个用户)共享。也就是说,其中任何一个线程对声明的变量的修改,都会改变它们原来的状态(值)。变量的生命周期从创建到服务器关闭后结束。可以一次声明多个类变量和方法,但要以分号";"分隔和结尾。目前十页\总数三十四页\编于十点表达式、声明使用示例目前十一页\总数三十四页\编于十点脚本段(Scriptlet)在JSP文档中嵌入的Java代码片段(同一页面可有多个段)语法:<%Java脚本段%>说明:转译JSP页面时,脚本段将原样嵌入到Servlet类的_jspService()方法中;在脚本段中定义的变量是_jspService()的局部变量;且是线程安全的,它们在JSP页面内所有代码段和表达式中均有效。目前十二页\总数三十四页\编于十点<%!、<%=和<%的比较变量声明(<%!):定义Servlet类的成员变量和成员方法后面必须带分号;所声明的成员是类成员,不是线程安全的。代码段(<%):其中的变量是局部变量,且不能声明函数所含代码要符合java要求(每条语句必须提有分号),所声明变量是_jspService()方法的局部变量,是线程安全的。表达式(<%=):按String类型输出java表达式的值,无分号目前十三页\总数三十四页\编于十点转义符JSP页面中遇到有特殊用途字符时,应进行转义;如右表:字符转义描述'\'单引号字符"\"双引号字符\\\反斜杠字符<<左尖括号>>右尖括号空格

空格目前十四页\总数三十四页\编于十点JSP指令元素(Directive)JSP指令:表示向JSP容器传递信息,它不会产生输出。JSP指令是针对JSP容器的,它将当前页面的特殊处理信息传送到JSP容器,告诉容器如何处理JSP网页;因此,指令并不会直接产生任何可见的输出。例如:网页的编码方式、是否为错误处理页面等信息。一般格式:<%@

指令属性1="值1"属性2="值2"……属性n="值n"%>常用的指令:指令名称作用page定义JSP的全局属性include主要用于将某文件包含到本网页中taglib定义一个标签库以及其自定义标签的前缀目前十五页\总数三十四页\编于十点page指令page指令:作用于整个JSP页面,定义了与页面相关、用于和JSP容器通信的属性。语法:<@page属性1="值1"属性2="值2"…%>说明:page指令可在JSP页面的任何地方、以任何顺序出现,为便于阅读最好放在JSP文件头部;同一页面中可有多个page指令,但相同属性只能存在一次;import属性可多次使用,因为import属性和Java中的import语句相似。目前十六页\总数三十四页\编于十点参考:page指令属性目前十七页\总数三十四页\编于十点page指令的注意事项import属性:用来指定所要加载的非预设Java包或类JSP页面自动引入以下4个包:java.servlet.*、java.lang.*、java.servlet.http.*、java.servlet.jsp.*。载入多个非预设包时,以逗号作分隔;如:<%@pageimport="java.util.*,java.io.*"%>contentType属性:定义MIME类型和JSP网页的编码方式默认MIME类型是text/html,默认字符编码为ISO-8859-1;经常如下写法,以使页面中支持中文显示:<%@pagecontentType=”text/html;charset=GBK”%>如下面将页面以Excel表格的形式输出:目前十八页\总数三十四页\编于十点taglib指令功能:声明该JSP文件所使用的自定义标签,同时引用标签库,并指定了自定义标签的前缀。格式:<%@taglib

uri="标记库URI"prefix="前缀"%>属性说明:uri:指定JSP在web.xml中查找的标签库描述符,它是标签描述文件(*.tld)的映射;uri能是URL,URN(同一资源名),相对(或绝对)路径。prefix:自定义标签的前缀。注意:jsp,jspx,java,javax,servlet,sun和sunw等保留字不可作前缀。在一个页面中多次使用taglib指令,但前缀只能使用一次。struts1.x标签库引用示例目前十九页\总数三十四页\编于十点include指令功能:在JSP页面中该指令出现的位置静态插入一个文件语法:<%@includefile="被包含文件链接的URL"%>说明:所包含的文件可以是:html、jsp、文本文件,或一段Java代码;文件的URL一般是相对路径,不需端口、协议和域名;使用include指令的目的是为了减少代码的冗余,可把不同页面中代码相同部分放在单独的JSP文件中。注意:包含文件中不能再使用<html>、</html>、<body>、</body>标签。否则,将与原来JSP中的标签相互影响,会产生错误。include指令在翻译阶段执行,引入的只是静态文本,在JSP页面被转化成servlet之前和当前JSP文件融和到一起。在JSP中还提供了一种标准动作<jsp:include>,该动作在请求处理阶段执行,且引入的是执行页面或servlet生成的应答文本。目前二十页\总数三十四页\编于十点小结JSP开发环境提供了使用服务器端Java编写动态HTML页面的一种方式。JSP的语法允许大部分HTML被直接编入,并由Java代码段作为控制代码。JSP指令包括在<%@和%>内。JSP指令共有三种类型:page指令:用于设置JSP页面的属性;taglib指令:用于在JSP页面中使用标签;include指令:用于在JSP页面嵌入其他文件它同时支持静态和动态地包含其他资源。目前二十一页\总数三十四页\编于十点JSP动作元素目前二十二页\总数三十四页\编于十点Include指令的执行过程当页面首次被调用时,将其转译,遇include指令时指示JSP容器将B.jsp的内容插入到include指令所在处,共同形成Servlet源文件。结论:在A.jsp已转译情况下,若dic_incB.jsp发生变化,一般不引发A.jsp的重新转译。原因:JSP引擎仅在监视到A.jsp发生变化并再次被访问时,才对A.jsp重新进行转译。而仅改dic_incB.jsp并不能触发上述条件。目前二十三页\总数三十四页\编于十点JSP动作元素概述JSP动作是向其他服务器对象传输控制权或执行操作。JSP技术规范定义的标准JSP动作,所有Web容器都必须实现。JSP动作是JSP中的具体操作,JSP动作用规定的标签和语法,封装了具体的编程细节。常用JSP动作如下:有些JSP功能既可以用脚本片断实现,也可以用JSP动作来实现。标准动作名称作用<jsp:include>在页面被请求的时候引入一个文件<jsp:useBean>寻找或者实例化一个JavaBean<jsp:setProperty>设置JavaBean的属性<jsp:getProperty>获得或输出某个JavaBean的属性<jsp:forward>把请求转到一个新的页面<jsp:param>提供key/value信息,可在<jsp:include>,<jsp:forward>动作中使用,指定一个将加入请求的当前参数组中的参数<jsp:plugin>根据浏览器类型为Java插件生成<object>和<embed>标签<jsp:params>向一个动态文件发送一个或多个参数<jsp:fallback>如果浏览器不支持APPLETS则会显示的内容目前二十四页\总数三十四页\编于十点<jsp:include>动作<jsp:include>:在当前页面中包含一个动态或静态文件该动作允许在请求期间将其它页面的输出包含进当前页面。包含静态文件(如:HTML、文本文件等静态资源):在当前页面中,将被包含文件的内容直接包括在JSP中,语法:目前二十五页\总数三十四页\编于十点<jsp:include>(续)包含动态资源(JSP或Servlet)包含动态文件:由服务器的JSP引擎负责执行,把运行结果返回给客户端显示出来。并且在编译时可以传递参数。当主页面被请求时,服务器对被包含资源的URL进行正常处理,并可向其传递参数,最后将被包含资源的输出包含进主页面中。说明:在每次主页面被请求时,被包含页面将被JSP容器重新处理;一旦被包含页面执行完毕,请求将在主页面中继续执行;被包含页面不能改变响应的状态码;该动作的优点:在被包含页面发生改变时,无需对主页面修改。属性说明page指定被包含资源的相对当前JSP的路径flush可选(默认false),若为true且当前页面使用了缓冲区,则进行包含前,先刷新缓冲区,否则不刷新。目前二十六页\总数三十四页\编于十点<jsp:include>工作原理目前二十七页\总数三十四页\编于十点在包含动作中传递参数对传递的参数采用gb2312编码目前二十八页\总数三十四页\编于十点包含指令与包含动作的区别嵌入的内容:include指令:嵌入的是静态文本或页面(被包含页面原内容)include动作:包含的是静态或动态资源的内容(HTML代码)嵌入被包含页面的时间:include指令:在JSP文件被转换成Servlet的时候引入文件由于生成一个Servlet,当前和被包含页面可共享变量;执行速度较快include动作:当前页面被请求时才嵌入被包含页面的结果生成不同的Servlet,不能共享变量;且执行速度较慢。从实际应用角度上讲:指令:速度快,用于检测用户登录、网站标识及其它不变信息动作:速度慢,用于发送请求、传递参数,并接收返回的HTML其它:指令:被包含的JSP页面中所有response操作都会正常运行动作:被包含页面不能通过response对象重定向到其他页面。目前二十九页\总数三十四页\编于十点<jsp:param>功能:用来提供key/value的信息通常与<jsp:include>、<jsp:forward>和<jsp:plugin>搭配使用参数规则当使用<jsp:include>或<jsp:forward>时,被包含页面或转向后的页面会先检查request对象里除原参数值外,是否再增加新参数值,若有新的参数值时,则新参数值在执行时,有较高的优先权。例如:目前三十页\总数三十四页\编于十点<jsp:forward>请求转发动作格式:功能:将客户端请求从当前页面转发到另一资源(JSP页面、HTML或Servl

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论