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