扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:中国IT实验室 来源:中国IT实验室 2007年9月22日
关键字:
在本页阅读全文(共9页)
package com.ibm.vxml; import java.io.BufferedInputStream; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.*; import javax.servlet.http.*; public class DynamicVoiceXMLServlet extends HttpServlet { public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { BufferedInputStream bis = null; PrintWriter out = null; try { // Let the browser know that XML is coming out = res.getWriter(); res.setContentType("text/xml"); // Output VXML out.println("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"); out.println("<vxml version=\"2.1\">"); out.println(" <form><block><prompt>"); out.println(" Things are working correctly! Congratulations."); out.println(" </prompt></block></form>"); out.println("</vxml>"); } finally { if (out != null) out.close(); if (bis != null) bis.close(); } } public void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { doGet(req, res); } } |
现在您可编译这个 servlet、向 Voxeo 注册它,并通过电话访问它,与处理 清单 1 的方法相同。现在我们来看一些示例,从而展示像 Java 这样的语言的动态编程能力。
添加时间提醒
基于 servlet 的 VXML 输出的一项最简单的用途就是添加时间提醒。利用 Java 代码获取当前日期和时间非常轻松,因此这是个不错的起点。
使用 Calendar 类可轻松获得一天中的具体时间(实际上,可以获得与当前日期相关的任何内容)。清单 7 给出了获得 Calendar 类新实例的代码,从而得到一天中的具体时间(以 24 小时的格式返回),然后根据这个时间组合出一条简单的欢迎词。
package com.ibm.vxml; import java.io.BufferedInputStream; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.PrintWriter; import java.util.Calendar; import javax.servlet.*; import javax.servlet.http.*; public class DynamicVoiceXMLServlet extends HttpServlet { public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { BufferedInputStream bis = null; PrintWriter out = null; try { // Let the browser know that XML is coming out = res.getWriter(); res.setContentType("text/xml"); // Output VXML out.println("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"); out.println("<vxml version=\"2.1\">"); out.println(" <form><block><prompt>"); // Output a greeting based on the time of day Calendar cal = Calendar.getInstance(); int hour = cal.get(Calendar.HOUR_OF_DAY); if (hour < 6) { out.println("You're up early. Good morning."); } else if (hour < 12) { out.println("Good morning. How's your day so far?"); } else if (hour < 18) { out.println("Half the day is done... good afternoon!"); } else{ out.println("Hope you are enjoying your evening."); } out.println(" </prompt></block></form>"); out.println("</vxml>"); } finally { if (out != null) out.close(); if (bis != null) bis.close(); } } public void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { doGet(req, res); } } |
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。