扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
在本页阅读全文(共9页)
清单 5 展示了添加到前文介绍的 清单 3 给出的 servlet 中的所有代码。
清单 5. 完整且准备好载入 VXML 文件的 VoiceXMLServlet
package com.ibm.vxml; import java.io.BufferedInputStream; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import javax.servlet.*; import javax.servlet.http.*; public class VoiceXMLServlet extends HttpServlet { private static final String VXML_FILENAME = "simple-voice_recog.xml"; public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { String vxmlDir = getServletContext().getInitParameter("vxml-dir"); BufferedInputStream bis = null; ServletOutputStream out = null; try { // Load the VXML file File vxml = new File(vxmlDir + "/" + VXML_FILENAME); FileInputStream fis = new FileInputStream(vxml); bis = new BufferedInputStream(fis); // Let the browser know that XML is coming out = res.getOutputStream(); res.setContentType("text/xml"); res.setContentLength((int)vxml.length()); // Output the VXML file int readBytes = 0; while ((readBytes = bis.read()) != -1) { // output the VXML out.write(readBytes); } } finally { if (out != null) out.close(); if (bis != null) bis.close(); } } } |
完成上述更改后编译您的 servlet,若需要请重启 servlet 引擎。浏览 servlet,您应看到如 图 4 所示的输出结果。成功!
若您未得到类似输出,确定您的文件是否位于您希望的位置,并确保没有任何权限问题。您还要检查 servlet 引擎的日志或请求系统管理员的帮助。
现在就准备好将电话号码映射到您的 servlet 了。重新回到 Voxeo.com 的 Application Mnager,添加一个新应用程序(可能会看到之前您使用过的应用程序)。确保选中 VoiceXML 2.0,然后输入新应用程序的名称和 servlet 的 URL。Voxeo 将创建应用程序并为其分配一个电话号码。
拨入这个新号码,您应听到 清单 2 中的 VXML 给出的提示。祝贺您!您已经编写好了一个输出 VXML 的 Java servlet 的代码,还在其中挂接了一个电话号码。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。