本部分介绍了 SimpleExampleServlet
,它是随库提供的数据源的最简单示例实现。本部分还提供了有关如何运行和测试 SimpleExampleServlet
的分步说明。
隆重推出SimpleExampleServlet
SimpleExampleServlet
类位于 examples
软件包中。此类提供了一个最简单的数据源实现示例。SimpleExampleServlet
继承自 DataSourceServlet
、实现 generateDataTable()
,并且必须在 servlet 容器中运行。
下面提供了 SimpleExampleServlet
的代码段。generateDataTable
函数向库公开数据。此函数会创建数据表说明,定义数据表列,并用数据填充数据表。该库会处理将数据表返回到查询可视化图表所需的所有其他操作。
// This example extends DataSourceServlet public class SimpleExampleServlet extends DataSourceServlet { @Override public DataTable generateDataTable(Query query, HttpServletRequest request) { // Create a data table, DataTable data = new DataTable(); ArrayListcd = new ArrayList (); cd.add(new ColumnDescription("name", ValueType.TEXT, "Animal name")); cd.add(new ColumnDescription("link", ValueType.TEXT, "Link to wikipedia")); cd.add(new ColumnDescription("population", ValueType.NUMBER, "Population size")); cd.add(new ColumnDescription("vegeterian", ValueType.BOOLEAN, "Vegetarian?")); data.addColumns(cd); // Fill the data table. try { data.addRowFromValues("Aye-aye", "http://en.wikipedia.org/wiki/Aye-aye", 100, true); data.addRowFromValues("Sloth", "http://en.wikipedia.org/wiki/Sloth", 300, true); data.addRowFromValues("Leopard", "http://en.wikipedia.org/wiki/Leopard", 50, false); data.addRowFromValues("Tiger", "http://en.wikipedia.org/wiki/Tiger", 80, false); } catch (TypeMismatchException e) { System.out.println("Invalid type!"); } return data; } }
运行和测试 SimpleExampleServlet
本部分介绍如何运行和测试 SimpleExampleServlet
。
请参阅安装部分,了解前提条件和有关如何下载和构建库的说明(如果您尚未这样做)。如果您的系统上还没有网络服务器(如 Apache Tomcat),请务必安装网络服务器。本部分中的说明专门适用于 Windows 系统上的 Apache Tomcat。
如需运行和测试 SimpleExampleServlet
,请创建一个运行 SimpleExampleServlet
数据源的 Web 应用,然后运行一个示例网页,其中直观显示从数据源查询的数据。以下部分对此进行了说明:
在 Apache Tomcat 上创建 Web 应用
按照以下说明调整 Apache Tomcat 中的 Web 应用,或调整其说明。以下说明特定于 Windows 系统上的 Apache Tomcat:
- 导航到 Tomcat 的安装目录。本文档中的编写格式为
<tomcat_home>
。
- 导航到
webapps
子目录。
- 创建一个名为
myWebApp
的子目录。
- 切换到您刚刚创建的子目录,然后创建一个名为
WEB-INF
的另一个子目录。
- 切换到
WEB-INF
子目录,再创建一个名为lib
的子目录。
完整路径应为<tomcat_home>/webapps/myWebApp/WEB-INF/lib
。
- 将
web.xml
从<data_source_library_install>/examples/src/html
复制到WEB-INF
目录。其中<data_source_library_install>
是安装数据源库的目录。web.xml
中的以下行定义并映射SimpleExampleServlet
:
<servlet> <servlet-name>My Servlet</servlet-name> <description>My servlet description.</description> <servlet-class>SimpleExampleServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>My Servlet</servlet-name> <url-pattern>/simpleexample</url-pattern> </servlet-mapping>
- 导航到安装了数据源库的目录。本文档中将其写为
<data_source_library_install>
。
- 将所有依赖项软件包复制到
<tomcat_home>/webapps/myWebApp/WEB-INF/lib
。这些软件包安装在<data_source_library_install>/lib
中,除非您将其放在不同的目录中。
- 如果您自行构建了该库,请将
visualization-datasource-1.0.2.jar
和visualization-datasource-examples.jar
从<data_source_library_install>/build
复制到<tomcat_home>/webapps/myWebApp/WEB-INF/lib
。
解压 ZIP 文件后,请将visualization-datasource-1.0.2.jar
和visualization-datasource-examples.jar
从<data_source_library_install>
复制到<tomcat_home>/webapps/myWebApp/WEB-INF/lib
。
请注意,jar 文件名中的版本号可能因最新版本而异。 - 启动 Tomcat,或者重启 Tomcat(如果 Tomcat 已在运行)。
- 点击以下链接:
http://localhost:8080/myWebApp/simpleexample
屏幕会显示 6-7 行文本,具体取决于屏幕宽度。
文本以google.visualization.Query.setResponse
开头,以/Tiger'},{v:80.0},{v:false}]}]}});
结尾
这是您的数据源返回到查询可视化图表的数据。
使用可视化图表查看数据
<data_source_library_install>/examples/src/html
目录中的 getting_started.html
文件可用于查看数据的可视化图表。以下代码行(取自 getting_started.html
)指定了要使用的 servlet。在在 Apache Tomcat 上创建 Web 应用部分的第 8 步中设置了 servlet 映射。
var query = new google.visualization.Query('simpleexample');
如需详细了解如何指定可视化元素以及如何使用查询语言,请参阅使用图表和查询语言参考。
您可以按照以下说明调整或调整数据源提供的数据的可视化图表:
- 将
getting_started.html
文件从<data_source_library_install>/examples/src/html
目录
复制到<tomcat_home>/webapps/myWebApp/
目录。
- 点击以下链接 http://localhost:8080/myWebApp/learning_started.html,您应该会看到以下内容:
大功告成!您已设置首个数据源。
后续步骤
使用外部数据存储区部分介绍了下一个示例。或者,您可以返回到简介,或浏览以下链接:
- 有关库最常用的类的说明,请参阅关键类。
- 如需查看有关如何实现您自己的事件流和查询功能的示例,请参阅定义功能和事件流。
- 如果您不想继承
DataSourceServlet
,可以按照使用您自己的 servlet 中的说明实现数据源。例如,如果您从另一个类继承 servlet,则可能不希望继承DataSourceServlet
。 - 如果您不想使用 servlet,请参阅实现非 servlet 数据源。
- 如需了解如何将参数从应用传递给数据源,请参阅将参数传递给
DataTableGenerator.generateDataTable
。