当前位置: 首页 > 图文教程 > 网络编程 > JSP > XML和JSP的联手(2)

JSP
搭建Eclipse+MyEclipse开发环境
卖jsp编程技巧的那个垃圾的所有实例的答案全部已收集,现将他人收集的实例答案公布出来,大家鉴赏!
一个jsp+AJAX评论系统
JSP 多个文件打包下载代码
JSP 动态树的实现
jsp 重复提交问题
J2ME/J2EE实现用户登录交互 实现代码
访问JSP文件或者Servlet文件时提示下载的解决方法
JSP EL表达式详细介绍
JSP 报表打印的一种简单解决方案
jsp 自定义标签实例
AJAX自学练习 无刷新从数据库后台取数据显示
AJAX 自学练习 请求与显示
AJAX 自学练习 无刷新提交并修改数据库数据并显示
jsp 文件上传浏览,支持ie6,ie7,ie8
JSP application(return String)用法详例
jsp form表单方法示例
JSP request(return String)用法详例
JSP forward用法分析实例代码分析
JSP JavaBean的setProperty属性

XML和JSP的联手(2)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-02   浏览: 29 ::
收藏到网摘: n/a

应用篇:一个在线相册


所有人都喜欢照相!他们喜欢展示自己的,亲人的,朋友的,度假时的照片,而 web 是他们展示的好地方。-- 即使千里之外的亲戚都可以看到。我将着重于定义一个单独的picture对象。(这一应用的源代码在resources中可以取得) 。该对象描述了表示一张照片所需要的字段:title,date,一个可选的标题,以及对图片来源的一个指向。

一个图象,需要它自己的一些字段:源文件( gif/jpeg)的定位,宽度和高度像素(以协助建立<img> 标记。 这里可以看到一个很简单的优点,即使用文件系统来代替数据库的时候,你可以将图形文件存放在与数据文件相同的目录中。

最后,让我们来用一个元素扩展图片记录,该元素定义了一套缩略图(thumbnail)来用于内容表或其它地方。这里我用了和先前同样定义的图片内容。

一张图片的xml表示可以是这样的:

<picture>
<title>alex on the beach</title>
<date>1999-08-08</date>
<caption>trying in vain to get a tan</caption>
<image>
<src="/upload/tech/20091102/20091102155044_b2eb7349035754953b57a32e2841bda5.jpg"</src>
<width>340</width>
<height>200</height>
</image>
<thumbnails>
<image>
<src="/upload/tech/20091102/20091102155045_1fc214004c9481e4c8073e85323bfd4b.jpg"</src>
<width>72</width>
<height>72</height>
</image>
<image>
<src="/upload/tech/20091102/20091102155046_4f4adcbf8c6f66dcfc8a3282ac2bf10a.jpg"</src>
<width>150</width>
<height>99</height>
</image>
</thumbnails>
</picture>


注意,通过使用xml, 你将一张单独图片的全部信息放到了一个单独的文件中,而不是将它分散放入3-4个表中。
我们将这称为 .pix file

-- 于是你的文件系统会是这样的:

summer99/alex-beach.pix
summer99/alex-beach.jpg
summer99/alex-beach-sm.jpg
summer99/alex-beach-med.jpg
summer99/alex-snorkeling.pix
etc.

技术篇

俗话说,要剥下猫的皮的方法何止一种。同样,将xml数据放到jsp中也不止一种办法。这里列举了其中一些方法,(其实,很多其它工具也可以做得同样出色。)

dom: 你可以使用类(classes)来调用dom接口(interface)对xml文件进行分析检查。
xmlentrylist: 你可以使用我的代码来将xml加载到name-value pairs 的java.util.list中。

xpath: 你可以使用一个 xpath处理器(如resin)通过路径名在xml文件中定位元素。

xsl:你可以使用某种xsl处理器将xml转换成为html。

cocoon: 你可以使用开放源码的cocoon framework

运行你自己的bean: 你可以写一个外壳类(wrapper class),使用某种其它技术来将数据加载到字定义的javabean中。


请注意这些技术将和一个你从另外来源取得的xml stream执行得同样出色,例如一个客户端或者一个应用服务器。

javaserver pages


jsp规范有很多替身,不同的jsp产品表现也不尽相同,不同版本之间也有差别。我选择了tomcat,这基于以下原因:
它支持大多数最新的jsp/servlet规范
它受到 sun和apache认同
你可以独立运行它而不需要另外配置一个web服务器。
它是开放源码的

你可以选择任何你喜欢的jsp引擎,但要自己配置它,它必须至少支持jsp 1.0规范。0.91和1.0之间有了许多区别。而jswdk (java server web development kit) 可能刚刚好地适合要求。