J2EE-JSP网页编程.ppt
《J2EE-JSP网页编程.ppt》由会员分享,可在线阅读,更多相关《J2EE-JSP网页编程.ppt(165页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、JavaServerPages(JSP)哈尔滨理工大学软件学院哈尔滨理工大学软件学院J2EEJ2EE课程课程几种服务器端脚本语言的简单介绍几种服务器端脚本语言的简单介绍PHP与与ASP,服务器每次运行都要动态解释;,服务器每次运行都要动态解释;而而JSP,只要没被更新过,只是在第一次调用,只要没被更新过,只是在第一次调用时被编译为时被编译为servlet,以后的访问速度就要快的,以后的访问速度就要快的多。多。Aspx,模仿,模仿JSP的运行机制,也要在的运行机制,也要在dotNet中中被编译一次。被编译一次。IIS和和Apache服务器要想识别服务器要想识别PHP需要增加插件需要增加插件2 2
2、哈尔滨理工大学软件学院哈尔滨理工大学软件学院J2EEJ2EE课程课程JSP文件结构及主要标签文件结构及主要标签.其他 HTML 语言 其他 HTML 语言 3 3哈尔滨理工大学软件学院哈尔滨理工大学软件学院J2EEJ2EE课程课程JSP示例示例(Hello.jsp)%for(int i=0;i 你好 你好 你好 4 4哈尔滨理工大学软件学院哈尔滨理工大学软件学院J2EEJ2EE课程课程JSP执行过程执行过程*.jsp*.java*.classrequestresponse执行jsp parserJSDKservletservlet 分析器5 5哈尔滨理工大学软件学院哈尔滨理工大学软件学院J2E
3、EJ2EE课程课程JSP执行过程执行过程6 6哈尔滨理工大学软件学院哈尔滨理工大学软件学院J2EEJ2EE课程课程JSP示例示例(Hello_Date.jsp)你好,今天是 号,星期 import java.util.*;response.setContentType(text/html;charset=gb2312);out=pageContext.getOut();out.write(“rnrnrn rn你好,今天是rn);Date today=new Date();out.print(today.getDate();out.write(号,星期);out.print(today.getD
4、ay();out.write(rn rnrn);JSP文件servlet文件7 7哈尔滨理工大学软件学院哈尔滨理工大学软件学院J2EEJ2EE课程课程JSP示例示例(浏览结果浏览结果)8 8哈尔滨理工大学软件学院哈尔滨理工大学软件学院J2EEJ2EE课程课程JSP语法概述语法概述JSP原始代码中包含了原始代码中包含了JSP元素和元素和Template(模板模板)data两类两类 Template data指的是指的是JSP引擎不处理的部分引擎不处理的部分,即,即标记标记以外的部分,例如代码中的以外的部分,例如代码中的HTML的内容等的内容等,这些数据会直接传送到客户这些数据会直接传送到客户端的
5、浏览器端的浏览器JSPJSP元素则是指将由元素则是指将由JSPJSP引擎直接处理的部分,引擎直接处理的部分,这一部分必须符合这一部分必须符合JSPJSP语法,否则会导致编译语法,否则会导致编译错误。错误。9 9哈尔滨理工大学软件学院哈尔滨理工大学软件学院J2EEJ2EE课程课程jsp例子例子(hi.jsp)Hi-JSP实验实验 Template dataJSP元素1010哈尔滨理工大学软件学院哈尔滨理工大学软件学院J2EEJ2EE课程课程JSP语法语法JSP语法分为三种不同的类型语法分为三种不同的类型 编译器指令(DIRECTIVE)例如:脚本语法(SCRIPTING)动作语法(ACTION)
6、例如:,1111哈尔滨理工大学软件学院哈尔滨理工大学软件学院J2EEJ2EE课程课程脚本语法脚本语法脚本语法包括脚本语法包括“HTML注释”:“隐藏注释”:“声明”“表达式”“脚本段”1212哈尔滨理工大学软件学院哈尔滨理工大学软件学院J2EEJ2EE课程课程编译器指令编译器指令编译器指令包括编译器指令包括“包含指令包含指令”,“页指令页指令”和和“taglib指令指令”它们包含在它们包含在“”卷标里。卷标里。两个主要的指令是两个主要的指令是page与与include。1313哈尔滨理工大学软件学院哈尔滨理工大学软件学院J2EEJ2EE课程课程动作语法动作语法动作语法包括动作语法包括:1414
7、哈尔滨理工大学软件学院哈尔滨理工大学软件学院J2EEJ2EE课程课程HTML注释注释 JSP 语法格式如下:语法格式如下:!-comment -或或!-注释注释 -这这种种注注释释发发送送到到客客户户端端,但但不不直直接接显显示示,在在源代码中可以查看到。源代码中可以查看到。1515哈尔滨理工大学软件学院哈尔滨理工大学软件学院J2EEJ2EE课程课程HTML注释注释(peixun2.1.jsp)HTML注释注释 未显示上一行的注释。未显示上一行的注释。1616哈尔滨理工大学软件学院哈尔滨理工大学软件学院J2EEJ2EE课程课程HTML注释注释1717哈尔滨理工大学软件学院哈尔滨理工大学软件学院
8、J2EEJ2EE课程课程HTML注释注释(peixun2.2.jsp)要多加练习要多加练习!-This page was loaded on -在源文件中包括当前时间。在源文件中包括当前时间。1818哈尔滨理工大学软件学院哈尔滨理工大学软件学院J2EEJ2EE课程课程HTML注释注释1919哈尔滨理工大学软件学院哈尔滨理工大学软件学院J2EEJ2EE课程课程IE中的源程序有注释中的源程序有注释2020哈尔滨理工大学软件学院哈尔滨理工大学软件学院J2EEJ2EE课程课程隐藏注释隐藏注释 JSP 语法格式如下:语法格式如下:不发送到客户端。不发送到客户端。2121哈尔滨理工大学软件学院哈尔滨理工大
9、学软件学院J2EEJ2EE课程课程隐藏注释隐藏注释(peixun2.3.jsp)A Comment Test A Test of Comments 2222哈尔滨理工大学软件学院哈尔滨理工大学软件学院J2EEJ2EE课程课程隐藏注释隐藏注释 2323哈尔滨理工大学软件学院哈尔滨理工大学软件学院J2EEJ2EE课程课程在在IE中查看源代码中查看源代码2424哈尔滨理工大学软件学院哈尔滨理工大学软件学院J2EEJ2EE课程课程声明声明JSP 语法格式如下:语法格式如下:或或2525哈尔滨理工大学软件学院哈尔滨理工大学软件学院J2EEJ2EE课程课程声明声明(test2.4.jsp)test2.4.
10、jsp 2626哈尔滨理工大学软件学院哈尔滨理工大学软件学院J2EEJ2EE课程课程表达式表达式用于在页面上输出信息,语法格式如下:用于在页面上输出信息,语法格式如下:或或2727哈尔滨理工大学软件学院哈尔滨理工大学软件学院J2EEJ2EE课程课程表达式表达式(peixun2.4.jsp)test 2828哈尔滨理工大学软件学院哈尔滨理工大学软件学院J2EEJ2EE课程课程表达式表达式 a=b=c=2929哈尔滨理工大学软件学院哈尔滨理工大学软件学院J2EEJ2EE课程课程peixun2.4.jsp执行结果执行结果 3030哈尔滨理工大学软件学院哈尔滨理工大学软件学院J2EEJ2EE课程课程脚
11、本段脚本段 JSP 语法格式如下:语法格式如下:或或3131哈尔滨理工大学软件学院哈尔滨理工大学软件学院J2EEJ2EE课程课程脚本段脚本段(peixun2.5.jsp)test 3232哈尔滨理工大学软件学院哈尔滨理工大学软件学院J2EEJ2EE课程课程%condition=1;switch(condition)case 0:out.println(You must select condition 0!+);break;case 1:out.println(You must select condition 1!+);3333哈尔滨理工大学软件学院哈尔滨理工大学软件学院J2EEJ2EE课程
12、课程break;case 2:out.println(You must select condition 2!+);break;default:out.println(Your select not in 0,1,2,select again!+);%转转义义符符:双双引引号号“,单单引引号号,反反斜斜杠杠,回回车车r,换换行行n,制表符制表符t,退格退格b3434哈尔滨理工大学软件学院哈尔滨理工大学软件学院J2EEJ2EE课程课程脚本段执行结果脚本段执行结果3535哈尔滨理工大学软件学院哈尔滨理工大学软件学院J2EEJ2EE课程课程 包含指令包含指令includeinclude指令:向当前页
13、中插入一个静态文件的内容。指令:向当前页中插入一个静态文件的内容。JSP JSP 语法格式如下:语法格式如下:%或或%3636哈尔滨理工大学软件学院哈尔滨理工大学软件学院J2EEJ2EE课程课程包含指令包含指令(peixun2.6.jsp)html testtest body =white The current date and time are The current date and time are 3737哈尔滨理工大学软件学院哈尔滨理工大学软件学院J2EEJ2EE课程课程“peixun2.6.1.jsp”peixun2.6.1.jsp”%=(new java.util.Date()
14、.()%3838哈尔滨理工大学软件学院哈尔滨理工大学软件学院J2EEJ2EE课程课程包含指令包含指令3939哈尔滨理工大学软件学院哈尔滨理工大学软件学院J2EEJ2EE课程课程PagePage指令指令“PagePage”指令用于定义指令用于定义JSPJSP文件中的全局属性。文件中的全局属性。JSP JSP 语法格式如下:语法格式如下:%4141哈尔滨理工大学软件学院哈尔滨理工大学软件学院J2EEJ2EE课程课程PagePage指令指令属性:属性:1 1language=java language=java 声明脚本语言的种类,目前只能用声明脚本语言的种类,目前只能用 java java。2.i
15、mport=package.class|package.*,.2.import=package.class|package.*,.需需要要导导入入的的JavaJava包包的的列列表表,这这些些包包作作用用于于程程序序段段,表表达达式式,以以及及声声明明。下下面面的的包包在在JSPJSP编编译译时时已已经经导导入了,所以就不需要再指明了:入了,所以就不需要再指明了:java.lang.*java.lang.*javax.servletjavax.servlet.*.*javax.servlet.jspjavax.servlet.jsp.*.*javax.servlet.httpjavax.ser
16、vlet.http.*.*4242哈尔滨理工大学软件学院哈尔滨理工大学软件学院J2EEJ2EE课程课程3 3errorPageerrorPage=relativeURLrelativeURL 设置处理异常事件的设置处理异常事件的JSPJSP文件。文件。4 4isErrorPageisErrorPage=true|false=true|false 设设置置此此页页是是否否为为出出错错页页,如如果果被被设设置置为为true,true,你就能使用你就能使用exceptionexception对象对象4343哈尔滨理工大学软件学院哈尔滨理工大学软件学院J2EEJ2EE课程课程page指令详说指令详说“
17、%“”%”指指令令作作用用于于整整个个JSPJSP页页面面,同同样样包包括括静静态态的的包包含含文文件件。但但是是“%“”%”指指令令不不能能作用于动态的包含文件,比如作用于动态的包含文件,比如“”。可可以以在在一一个个页页面面中中用用上上多多个个“%“”%”指指令令,但但是是其其中中的的属属性性只只能能用用一一次次,不不过过也也有有例例外外,那那就就是是importimport属属性性。因因为为importimport属属性性和和JavaJava中中的的importimport语语句句类类似似(参参照照Java Java LanguageLanguage,importimport语语句句引引
18、入入得得是是JavaJava语言中的类语言中的类),所以此属性就能多用几次。,所以此属性就能多用几次。无无论论把把“%“”%”指指令令放放在在JSPJSP的的文文件件的的哪哪个个地地方方,它它的的作作用用范范围围都都是是整整个个JSPJSP页页面面。不不过过,为为了了JSPJSP程程序序的的可可读读性性,以以及及好好的的编编程程习习惯惯,最最好好还还是把它放在是把它放在JSPJSP文件的顶部。文件的顶部。4444哈尔滨理工大学软件学院哈尔滨理工大学软件学院J2EEJ2EE课程课程pagepage指令(指令(peixun2.7.jsp)%page import=java.util.*,java.
19、lang.*%page buffer=24kb =false%page%test3test3Test for using Page.Test for using Page.4545哈尔滨理工大学软件学院哈尔滨理工大学软件学院J2EEJ2EE课程课程page指令例子运行结果指令例子运行结果4646哈尔滨理工大学软件学院哈尔滨理工大学软件学院J2EEJ2EE课程课程taglibtaglib指令指令JSPJSP语法语法%用于引入定制标签库用于引入定制标签库4747哈尔滨理工大学软件学院哈尔滨理工大学软件学院J2EEJ2EE课程课程taglibtaglib指令指令属性属性1 1uriuri=URITo
20、TagLibraryURIToTagLibrary Uniform Uniform Resource Resource Identifier Identifier(URI)(URI)根根据据标标签签的的前前缀缀对对自自定定义义的的标标签签进进行行唯唯一一的的命命名名,URIURI可可以以是是以以下下的内容:的内容:Uniform Resource Locator(URL),由 RFC 2396 定义,可 以 从 以 下 位 置 查 看 (http:/www.hut.fi/u/jkorpela/rfc/2396/full.html)。Uniform Resource Name(URN),由 RF
21、C 2396定义 一个相对或绝对的路径 可以是标签库描述文件4848哈尔滨理工大学软件学院哈尔滨理工大学软件学院J2EEJ2EE课程课程2 2prefix=prefix=tagPrefixtagPrefix 表示标签在JSP中的名称。在 自 定 义 标 签 之 前 的 前 缀,比 如,在中的public,如果这里不写public,那么这就是不合法的。请不要用jsp,jspx,java,javax,servlet,sun,和sunw做为你的前缀,这些已被Sun公司声明保留。4949哈尔滨理工大学软件学院哈尔滨理工大学软件学院J2EEJ2EE课程课程TablibTablib指令指令%prefix=
22、public%testtest%-%/public:loop 5050哈尔滨理工大学软件学院哈尔滨理工大学软件学院J2EEJ2EE课程课程JSP用户自定义标签用户自定义标签这是用户自己定义的标签,可以简化这是用户自己定义的标签,可以简化JSP页面的开发和页面的开发和维护维护JSP在自定义标签中还提供了封装动态功能的机制,它在自定义标签中还提供了封装动态功能的机制,它是是JSP语言的扩展语言的扩展通常自定义标签都是以标签库的形式表现出来,包括通常自定义标签都是以标签库的形式表现出来,包括标签和实现这些标签的对象标签和实现这些标签的对象可以看作是通过标签处理器生成基于可以看作是通过标签处理器生成基
23、于XML脚步的方法脚步的方法当包括自定义标签的页面转换为当包括自定义标签的页面转换为servlet的时候,这个标的时候,这个标签就被转换为标签处理器的对象上的操作签就被转换为标签处理器的对象上的操作当这些当这些servlet执行的时候,执行的时候,web容器就调用这些操作容器就调用这些操作标签就是很简单而且可以重用的代码结构标签就是很简单而且可以重用的代码结构5151哈尔滨理工大学软件学院哈尔滨理工大学软件学院J2EEJ2EE课程课程JSP用户自定义标签的组成结构用户自定义标签的组成结构JavaBean:这是可重用的代码部分,是标签库这是可重用的代码部分,是标签库用来执行所分配任务的基础代码部
24、分用来执行所分配任务的基础代码部分标签处理器:标签库的核心标签处理器:标签库的核心,一个标签处理器一个标签处理器一用它所需要的任何外部资源(一用它所需要的任何外部资源(JavaBean)并负责通过并负责通过PageContext对象访问对象访问JSP页面的信页面的信息。息。JSP页面把页面上设置的标签属性和标签页面把页面上设置的标签属性和标签体中的内容都传递给标签处理器,当标签处理体中的内容都传递给标签处理器,当标签处理器完成其处理过程后,就把处理后的输出结果器完成其处理过程后,就把处理后的输出结果返回给返回给JSP页面做进一步处理页面做进一步处理5252哈尔滨理工大学软件学院哈尔滨理工大学软
25、件学院J2EEJ2EE课程课程JSP用户自定义标签的组成结构用户自定义标签的组成结构标签库描述符标签库描述符TLD文件:是一个文件:是一个xml文件,记录标签文件,记录标签处理器的属性;位置等信息;处理器的属性;位置等信息;JSP容器通过这个文件容器通过这个文件得知从哪里以及如何调用一个标签库得知从哪里以及如何调用一个标签库Web站点的站点的web.xml文件:它是文件:它是web站点的配置文件。站点的配置文件。在这个文件中,定义了在这个文件中,定义了web站点中用到的自定义标签,站点中用到的自定义标签,以及用来描述每个自定义标签的以及用来描述每个自定义标签的TLD文件的位置信息文件的位置信息
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- J2EE JSP 网页 编程
限制150内