Microsoft PowerPoint - 09-JSP-Intro-Chinese.ppt

Similar documents
Microsoft PowerPoint - 02-Servlet-Basics-Chinese.ppt



Microsoft PowerPoint - 05-Status-Codes-Chinese.ppt



ú ì

è

ì ì





à

ttian






ì




ò ó ì á è ó






ü Ä ä ä ï ï ü ä ä



í




` ù


ǎ ì




ì












í

ü Ä ä ä ï ï ü ä ä

é





à è






` ` ` ` ` ` 3

` ` ` ` ō ù ù ǐ ù ` ǐ ` ` ` ù è ó ù `

ttian

ú ú

1


2 3 5










Microsoft PowerPoint - 01-Overview-and-Setup-Chinese.ppt






`










Transcription:

2004 Marty Hall JSP 技术概述 JSP, Servlet, & Struts Training Courses: http://courses.coreservlets.com Available in US, China, Taiwan, HK, and Worldwide 2 JSP and Servlet Books from Sun Press: http://www.coreservlets.com Available in English, Chinese (simplified and traditional script), and 12 other languages 议程 对 JSP 技术的需求 评估 JSP 的好处 JSP 相对于竞争技术的优势 对 JSP 的误解 JSP 的生命周期 JSP 页面的安装 实际应用中的 JSP 3 JSP/servlet/Struts/JSF training: http://www.coreservlets.com

对 JSP 的需求 使用 servlet 可以容易地完成下述任务 : 读取表单数据 读取 HTTP 请求报头 设置 HTTP 状态代码和响应报头 使用 cookie 以及进行会话跟踪 跨 servlet 共享数据 跨请求记录数据 获得有趣且报酬丰厚的工作 但使用 servlet 也有不尽如人意的地方 : 使用 println 语句生成 HTML 维护上述的 HTML 4 JSP/servlet/Struts/JSF training: http://www.coreservlets.com JSP 框架 思想 : 大部分的页面使用常规的 HTML 用特殊的标签将 servlet 代码标记出来 整个 JSP 页面最终转换成 servlet( 仅执行一次 ), 实际被调用的是 servlet( 每个请求 ) 示例 : <!DOCTYPE > <HTML> <HEAD> <TITLE>Order Confirmation</TITLE> <LINK REL=STYLESHEET HREF="JSP-Styles.css" TYPE="text/css"> </HEAD> <BODY> <H2>Order Confirmation</H2> Thanks for ordering <I><%= request.getparameter("title") %></I>! </BODY></HTML> 5 JSP/servlet/Struts/JSF training: http://www.coreservlets.com

JSP 的好处 尽管 JSP 技术能够做的事情并不比 servlet 多, 但 JSP 可以使下述任务更为容易 : 输出 HTML 阅读和维护这些 HTML JSP 使得下面的做法成为可能 : 使用标准的 HTML 工具, 比如 Macromedia DreamWeaver 或 Adobe GoLive 由小组的另外一些成员完成 HTML 布局, 不关注 Java 编程 JSP 鼓励我们 : 将创建内容 (Java) 代码同表示内容的 (HTML) 代码分离开来 6 JSP/servlet/Struts/JSF training: http://www.coreservlets.com JSP 相对于竞争技术的优势 与 ASP 或 ColdFusion 相比 对于动态部分来讲, 是一种更好的语言 可以移植到多种不同的服务器和操作系统 与 PHP 相比 对于动态部分来讲, 是一种更好的语言 更好的工具支持 与纯 servlet 相比 创建 HTML 更方便 可以使用标准的工具 ( 例如 DreamWeaver) 分而治之 JSP 程序员依旧需要了解 servlet 编程 7 JSP/servlet/Struts/JSF training: http://www.coreservlets.com

JSP 的好处 ( 续 ) 与 Velocity 或 WebMacro 相比 标准 与客户端 JavaScript( 在浏览器中 ) 相比 能力大部分不与 JSP 交错, 但是 Š h v Ä} ì o 与服务器端 JavaScript( 如 LiveWire, BroadVision) 相比 语言更强大 与静态 HTML 相比 提供动态特性 添加动态特性不再需要在要么全部动态生成, 要么不使用动态特性之间做出抉择 8 JSP/servlet/Struts/JSF training: http://www.coreservlets.com 开发环境的设置 设置 CLASSPATH 不需要 编译代码 不需要 使用包来避免命名冲突 不需要 将 JSP 页面放在特殊的目录中 不需要 install_dir\webapps\root\ (HTML 和 JSP -- Tomcat) install_dir\servers\default\default-app (JRun) 使用专门的 URL 来调用 JSP 页面 不需要 使用和 HTML 页面相同的 URL( 除文件扩展名以外 ) 警告 前面介绍的有关 CLASSPATH, 安装目录等的规则依旧适用于 JSP 页面使用的常规 Java 类 9 JSP/servlet/Struts/JSF training: http://www.coreservlets.com

示例 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE>JSP Expressions</TITLE> <META NAME="keywords" CONTENT="JSP,expressions,JavaServer Pages"> <META NAME="description" CONTENT="A quick example of JSP expressions."> <LINK REL=STYLESHEET HREF="JSP-Styles.css" TYPE="text/css"> </HEAD> 10 JSP/servlet/Struts/JSF training: http://www.coreservlets.com 示例 ( 续 ) <BODY> <H2>JSP Expressions</H2> <UL> <LI>Current time: <%= new java.util.date() %> <LI>Server: <%= application.getserverinfo() %> <LI>Session ID: <%= session.getid() %> <LI>The <CODE>testParam</CODE> form parameter: <%= request.getparameter("testparam") %> </UL> </BODY></HTML> 11 JSP/servlet/Struts/JSF training: http://www.coreservlets.com

示例 ( 结果 ) 如果文件所在位置为 : C:\jakarta-tomcat-xx\webapps\ROOT\ jsp-scripting\expressions.jsp 或 C:\JRun4\servers\default\default-ear\default-war\ jsp-scripting\expressions.jsp 对应的 URL 将会是 : http://localhost/jsp-scripting/expressions.jsp 12 JSP/servlet/Struts/JSF training: http://www.coreservlets.com 最常见的误解忘记 JSP 是服务器端技术 最常见的问题 我不能使用 HTML 来完成这个那个功能, 使用 JSP 能够做到吗? 为什么这个问题没有意义? JSP 完全在服务器上运行 它并不会改变客户程序 ( 浏览器 ) 所能够处理的内容 类似的问题 如何将普通的 applet 放在 JSP 页面中? 答案 : 向客户程序发送 <APPLET > 标签 如何将图像放到 JSP 页面中? 答案 : 向客户端发送 <IMG > 标签 如何使用 JavaScript/Acrobat/Shockwave/Etc? 答案 : 发送适当的 HTML 标签 13 JSP/servlet/Struts/JSF training: http://www.coreservlets.com

次一级的最常见误解转换期间与请求期间的混淆 在页面转换期间发生什么呢? JSP 构造被转换成 servlet 代码 在请求期间发生什么呢? servlet 代码得到执行 在请求期间不涉及 JSP 的解释 在请求期间, 完全不会理会初始的 JSP 页面 ; 所使用的只是由它所产生的 servlet 页面的转换发生在什么时候? 典型地, 在 JSP 页面被修改后首次被访问时进行转换 但实际的用户不会遇到这种情况 ( 开发人员应该测试他们安装的所有 JSP 页面 ) 页面转换不是每次请求都执行 14 JSP/servlet/Struts/JSF training: http://www.coreservlets.com JSP 的生命周期 JSP úš servlet #1 #2 #3 #4 #5 #6 servletñ ~servletv }û h»u init Ê» éò doget Ê»éò Ñ v h é Ž 15 JSP/servlet/Struts/JSF training: http://www.coreservlets.com

JSP/Servlet 在实际中的应用 ofoto.com: 打印和管理数码和传统照片 16 JSP/servlet/Struts/JSF training: http://www.coreservlets.com JSP/Servlet 在实际中的应用 First USA Bank: 世界最大的信用卡发行商 ; 拥有数量最多的在线银行业客户 17 JSP/servlet/Struts/JSF training: http://www.coreservlets.com

JSP/Servlet 在实际中的应用 Delta Airlines: 整个网站, 包括实时的时间表信息 18 JSP/servlet/Struts/JSF training: http://www.coreservlets.com JSP/Servlet 在实际中的应用 American Century Investments: 管理超过 70 种共同基金,900 亿美元,2 百万投资者 19 JSP/servlet/Struts/JSF training: http://www.coreservlets.com

JSP/Servlet 在实际中的应用 Excite: 全球前五位的互联网门户网站 ; 网络上最繁忙的十个网站之一 20 JSP/servlet/Struts/JSF training: http://www.coreservlets.com 小结 JSP 使得创建和维护 HTML 更容易, 同时依旧提供对 servlet 的完全访问 ( 即可以使用各种 servlet 的特性 ) JSP 页面被转换成 servlet 在请求期间运行的是转换得来的 servlet 客户不会看到与 JSP 相关的任何内容 我们依旧需要了解 servlet 理解 JSP 如何工作 JSP 调用的 servlet 代码 知道什么时候使用 servlet 更佳 如何混合使用 servlet 和 JSP 其他技术使用类似的方式, 但移植性上有差距并且不允许我们使用 Java 来编写实际的代码 21 JSP/servlet/Struts/JSF training: http://www.coreservlets.com

2004 Marty Hall 问题? JSP, Servlet, & Struts Training Courses: http://courses.coreservlets.com Available in US, China, Taiwan, HK, and Worldwide 22 JSP and Servlet Books from Sun Press: http://www.coreservlets.com Available in English, Chinese (simplified and traditional script), and 12 other languages