- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
如何将Mondrianjpivot用于web项目课件
1. Mondrian是什么?;1.1 Mondrian的体系结构(Architecture);;1.1.1 表现层(the presentation layer); Jpivot表现层; jpivot使用XML/ XSLT渲染OLAP报表:;jpivot完全基于JSP+TagLib:;jpivot其实是一个自定义jsp的标签库。它基于XML/XSLT配置来生成相应的html。所幸的是,我们并不需要了解太多关于这方面的内容,我们只要掌握相应jsp标签的使用即可。
在本教程的实例中,我们将会对一些常用到的jpivot标签进行讲解。
您还可以通过汉化WEB-INF/jpivot下的xml文件来完成对jpivot的汉化工作;1.1.2 维度层(the dimensional layer);集合层负责维护和创建集合缓存,一个集合是在内存中缓存一组单元值, 这些单元值由一组维的值来确定。
维度层对这些单元发出查询请求,如果所查询的单元值不在缓存中,则集合管理器(aggregation manager)会向存储层发出查询请求;1.1.4 存储层(the storage layer);1.2 API;下面的java片段展示了如何连接到Mondrian,然后执行一个查询,最后打印结果.
import mondrian.olap.*;import java.io.PrintWriter;Connection connection = DriverManager.getConnection(????Provider=mondrian; +????Jdbc=jdbc:odbc:MondrianFoodMart; +????Catalog=/WEB-INF/FoodMart.xml;,????null,????false);Query query = connection.parseQuery(????SELECT {[Measures].[Unit Sales], [Measures].[Store Sales]} on columns, +???? {[Product].children} on rows +????FROM [Sales] +????WHERE ([Time].[1997].[Q1], [Store].[CA].[San Francisco]));Result result = connection.execute(query);result.print(new PrintWriter(System.out));;
与JDBC类似,一个Connection由DriverManager创建,
Query 对象类似于JDBC 的Statement,它通过传递一个MDX语句来创建.Result对象类似于JDBC的ResultSet,只不过它里面保存的是多维数据
您可以通过查看Mondrian帮助文档里的javadoc来获取更多关于Mondrian API的资料;通过上面的介绍,您应该对mondrian的体系有一个基本的了解。
下面我们将通过一个简单的例子来加深您的理解。;2. 一个简单的Mondrian例子;2.1 准备开发工具及环境;2.2 准备Mondrian资源:;2.3 创建项目;点击此处新打开建web项目对话框;1. 输入项目名称Tezz;一个新项目Tezz的文件结构如下:;2.4 添加必须的文件;Lib文件夹有如下内容:
注意到这里的mondrian.war文件是一个可直接布署的项目,我们需要将它解压,
然后从中取出我们所需要的文件。(建议将其扩展名改成zip,然后直接右键解压);进入解压后的文件夹,选中jpivot、wcf二个文件夹及busy.jsp、error.jsp、testpage.jsp三个文件,我们需要将这些资源复制到我们测试项目的WebRoot文件夹中。按ctrl+C键复制。
; 切换到eclipse界面,在我们的Tezz项目的WebRoot文件夹处右击鼠标,在弹出的菜单中选择Paste(粘贴)即可;粘贴完成后的项目结构如下;最后进入WEB-INF文件夹(在上面步骤中解压的项目文件mondrian.war里),选中jpivot、lib、wcf这三个文件夹,同样需要复制它们到测试项目的WEB-INF文件夹中。;切换到eclipse界面,在我们的Tezz项目的WebRoot文件夹处右击鼠标,在弹出的菜单中选择Paste(粘贴);2.5 配置web.xml;过滤器(filter)
复制右图中所示的xml代码到我们测试项目Tezz的web.xml文件中。
作用:
这个过滤器在访问/testpage.jsp前被调用。它被设计成jpivot的前端控制
文档评论(0)