扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:中国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); } } |
濠碘€冲€归悘澶愬箖閵娾晜濮滈悽顖涚摃閹烩晠宕氶崶鈺傜暠闁诡垰鍘栫花锛勬喆椤ゅ弧濡澘妫楅悡娆撳嫉閳ь剟寮0渚€鐛撻柛婵呮缁楀矂骞庨埀顒勫嫉椤栨瑤绻嗛柟顓у灲缁辨繈鏌囬敐鍕杽閻犱降鍨藉Σ鍕嚊閹跺鈧﹦绱旈幋鐐参楅柡鍫灦閸嬫牗绂掔捄铏规闁哄嫷鍨遍崑宥夋儍閸曨剚浠樺ù锝嗗▕閳ь剚鏌ㄧ欢鐐寸▕鐎b晝顏遍柕鍡嫹