扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
在本页阅读全文(共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领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。