频 道 直 达 - 新闻 - 培训 - 软件 - 教程 - 前沿 - 组网 - 系统应用 - 安全 - 编程 - 存储 - 操作系统 - 数据库 - 服务器 - 专题 - 产品 - 案例库 - 读书 - 博客 - BBS
51CTO.COM_中国最大的网络技术网站
找资料:

3.3.1 编写JSP Web应用

作者: Kevin Mukhar Chris Zelenak James L.Weaver Jim Cru. 出处:机械工业出版社  (  ) 砖  (  ) 好  评论 ( ) 条  进入论坛
更新时间:2007-05-25 11:06
关 键 词:应用  Web  JSP  编写  指南  Java EE 5 开发指南
阅读提示:《Java EE 5 开发指南》第3.3.1节“编写JSP Web应用”主要介绍JSP Web应用的具体操作以及需要注意的问题,供大家参考!

首先创建一个符合Web应用的目录结构。如果打算把这个应用部署到单机的Tomcat服务器中,那么可以直接在Tomcat/Webapps目录下创建这个目录。图3ˉ2展示了已创建的目录结构和文件。

图3ˉ2 第一个JSP例子的目录结构

当按照下面的步骤来创建每个文件时,请参考图3ˉ2的目录结构以确定在哪个目录下保存这个文件。

在这个welcome.jsp页面中,用JSP的include指令加入了一个标准的页脚。因为所包含的文件只是一个片段而不是一个完整的JSP文件,所以我们根据JSP规范的建议,按照惯例把这段代码命名为具有.jspf扩展名的文件。

                                    清单3ˉ1 welcome.jsp

 

                       清单3ˉ2 footer.jspf

 

我们不希望这个简单的例子出现任何错误。如果确实出现了不可预期的错误,那么应该向客户端返回一个错误页面。

                  清单3ˉ3 errorPage.jsp

 

最后,清单3ˉ4列出了welcome.jsp用到的帮助文件FaqCategories.java。在编辑好源码后,把它编译成一个类文件。

                   清单3ˉ4 FaqCategories.java

 

welcome.jsp文件(清单3ˉ1)利用了本章前面介绍的许多特性,在开头用到了页面指令:

这里的page指令包含两个属性。首先,定义了一个errorPage,如果welcome.jsp出现错误,那么浏览器将重定向到指定页面。page指令中的另外一个属性是import,它说明该页面引入了两个Java类:Java API中的Iterator类和该应用程序的FaqCategories类。

注意这个页面还可以用下面的import语法:

下面接着是一些HTML。然后接下来是脚本元素的声明:

这个元素声明了一个变量faqs,并且调用FaqCategories帮助类的构造函数来对它进行初
始化。你可以看到,声明元素以及用分号作为语句结束符,都必须符合Java的编码规则。

这一页的下一个JSP元素是一段脚本程序:

这段脚本程序从FaqCategories实例得到一个Iterator。用这个Iterator对FaqCategories中的每个分类(category)进行循环访问。然后把每个分类放到一个String类型的变量category中,并且用这个变量创建一个HTML链接。用表达式元素把每个分类打印两次:第一次是在标签的href属性中设置链接指向的页面,第二个是在链接体内。第一个表达式元素调用了replaceUnderˉscore()方法(由本页后面定义)并输出结果;第二个表达式元素简单输出category的值。

注意在脚本程序内必须使用Java语法。但是在表达式元素内,你只需要用表达式本身,而不需要用分号作为结束符。

在这一页的最后,用include指令包含了一个标准的页脚:

这个文件的最后是另外一个声明元素:

这个元素声明了replaceUnderscore()方法,这个方法是用来把字符串中的空格替换成下划线。前面的脚本调用了这个方法。

下一个文件是footer.jspf(清单3ˉ2)。可以发现,这不是一个完整的JSP文件。当用户访问页面时,这个文件用一个表达式元素打印服务器的当前日期和时间。该文件的扩展名为“.jspf”,这是由JSP规范推荐使用的,用于说明该文件是一个JSP的片段。另外,由于这个文件只是一个片段,并不公开使用,所以把它放到WEBˉINF目录下。WEBˉINF目录下的所有文件都是不公开的,也就是说,无法通过在浏览器中输入该文件的地址来访问它们,只有应用程序的代码可以访问WEBˉINF目录下的文件。

另外一个文件是errorPage.jsp,当welcome.jsp页面产生某个异常但没有被捕获时将使用它。但是,假设welcome.jsp中全部都是正确的,那么此应用将不会调用这个错误页面。这个页面是不公开使用的,所以它也位于WEBˉINF目录中。另外,由于errorPage.jsp是一个错误页面,所以页面指令的isErrorPage属性设置为true。除了这个指令之外,这个页面还包括了一些HTML文本和一个包含footer.jsp的include指令。

最后一个源文件是FaqCategories.java(清单3ˉ4)。这是一个辅助类,它为welcome.jsp页面提供三个分类(category)。在实际的应用中,分类的值应当是从某个持久存储中读取的,比如数据库或者目录。而本例中的辅助类对分类的值进行了硬编码(hardˉcode),所有的分类都储存在一个Vector对象中,这个Vector对象是FaqCategories类的一个成员变量。在这个类的构造函数中,把硬编码值加入到Vector中。尔后,该类定义了一个getAllCategories()方法简单地返回Vector的迭代器(iterator)。这个JSP页面用Iterator来循环依次获取每个类别。

现在完成了这个应用的所有编码,但实际被客户端访问之前,必须将它部署到一个应用服务器中。本章有两个应用服务器,其中的参考实现服务器是来自Java EE SDK,还有一个单机的Tomcat服务器。首先,让我们看一下如何把应用部署到Java EE服务器中。

【责任编辑:大海 TEL:(010)68476606-8007】

回书目   上一节   下一节
发表
查看
我也说两句

匿名发表

(如果看不清请点击图片进行更换)


中 国 最 大 的 网 络 技 术 网 站 ·
技 术 成 就 梦 想
订阅技术快讯
电子杂志下载
名称:网络安全精品应用黄皮书
简介:《2007精品网络安全黄皮书》包括了9个大类24个小类, 800余篇文章,内容包含了熊猫烧香病毒、DDOS攻击、ARP病等热点问题的介绍及解决方案。从病毒查杀、防范、系统、数据等各方面的安全设置到黑客技术的了解、防范,涉及到了安全应用的全部领域, 由浅至深内容全面。
名称:Vista精品应用黄皮书
简介:《Vista精品应用黄皮书》囊括了Vista的各方面内容。此次的精简版,是将里面的内容做了提取,便于用户下载和使用。内容包含了各种Vista的安装与实施、技巧与解析以及各种Vista相关学习文档和相关软件的安全下载。该电子书是了解和应用Vista人员必备的工具手册,并且也是第一本
名称:2006中国IT论坛精品集合
简介:本书由“51CTO论坛推广联盟”制作完成。书中所有内容均来自各联盟成员的论坛(网站)。制作本书的目的是为了集中大家的优势资源,将更多更精彩的内容带给广大技术爱好者。本书是联盟成立以来制作的第一本书。
关键字阅读
频道精选
主编信箱 热线:010-66476606 告诉我们您想看的:专题 文章
关于我们 | 诚聘英才 | 联系我们 | 网站大事 | 意见反馈 | 网站地图
Copyright©2005-2007 51CTO.COM 版权所有