67,513
社区成员
发帖
与我相关
我的任务
分享
request.getRequestDispatcher("http://www.google.com").forward(request, response);
request.getRequestDispatcher("index.action").forward(request, response);
/**
* 播放录音
* @throws IOException
* @throws ServletException
*/
public void playTape() throws ServletException, IOException
{
//获得需要播放的文件url
String url = Struts2Utils.getParameter("url");
if(!url.isEmpty())
{
HttpServletRequest request = Struts2Utils.getRequest();
HttpServletResponse response = Struts2Utils.getResponse();
//请求转发到呼叫中心服务器获取录音
request.getRequestDispatcher(url).forward(request, response);
//尝试过使用请求重定向,当客户机、网站测试服务器及电话系统服务器均在同一网络中时可行
//response.sendRedirect(url);
}
}
/**
* 播放录音
* @throws IOException
*/
public void playTape() throws IOException
{
//获得需要播放的文件url
String url = ServletActionContext.getRequest().getParameter("url");
if(!url.isEmpty())
{
//HTTP请求
URL http = new URL(url);
HttpURLConnection httpConn = (HttpURLConnection) http.openConnection();
if (httpConn.getResponseCode() == HttpURLConnection.HTTP_OK)
{
//从http连接中获得相关对象
InputStream in = httpConn.getInputStream();//输入流
String contentType = httpConn.getContentType(); //内容类型
//实例缓冲输入流
BufferedInputStream buffIn = new BufferedInputStream(in);
//获得响应输出流
HttpServletResponse response = ServletActionContext.getResponse();
OutputStream out = response.getOutputStream();
//设置响应相关属性
response.setContentType(contentType);
response.setHeader("Content-Disposition","attachment;filename=temp.wav");
//设置缓存大小
byte[] buffer = new byte[1024];
int size = 0;
//循环响应输出
while((size=buffIn.read(buffer,0,1024))!=-1)
{
out.write(buffer,0,size);
}
//关闭流对象
out.flush();
out.close();
buffIn.close();
in.close();
}
}
}