科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道在Java Web框架中创建VoiceXML页面

在Java Web框架中创建VoiceXML页面

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

对于绝大多数 Web 开发人员来说,输出 HTML、XHTML 乃至 XML 是一项微不足道的任务,它只不过是创建和部署 Web 应用程序的常规流程。从显示 Internet 页面到应答电话呼叫看似一个巨大的飞跃,但实际并非如此。在这篇文章中,您将看到相同的技术如何帮助您动态创建 Web 页面以

作者:中国IT实验室 来源:中国IT实验室 2007年9月22日

关键字: VoiceXML Web框架 java

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共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 载入的 VoiceXML

    完成上述更改后编译您的 servlet,若需要请重启 servlet 引擎。浏览 servlet,您应看到如 图 4 所示的输出结果。成功!


图 4. VoiceXML servlet 输出 VXML
大多数浏览器都会给为您给出某种 XML,呈现您的 VXML 文件

    若您未得到类似输出,确定您的文件是否位于您希望的位置,并确保没有任何权限问题。您还要检查 servlet 引擎的日志或请求系统管理员的帮助。

    现在就准备好将电话号码映射到您的 servlet 了。重新回到 Voxeo.com 的 Application Mnager,添加一个新应用程序(可能会看到之前您使用过的应用程序)。确保选中 VoiceXML 2.0,然后输入新应用程序的名称和 servlet 的 URL。Voxeo 将创建应用程序并为其分配一个电话号码。

    拨入这个新号码,您应听到 清单 2 中的 VXML 给出的提示。祝贺您!您已经编写好了一个输出 VXML 的 Java servlet 的代码,还在其中挂接了一个电话号码。

 

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章