如何解决如何在Adobe Air窗口中显示Servlet的ServletOutputStream?
我的处境非常困难,无济于事。
我在glassfish服务器中运行一个servlet。
protected void doGet( HttpServletRequest request,HttpServletResponse response )
throws servletexception,IOException {
String filename = request.getParameter( "file" );
try {
ServletoutputStream printStream = response.getoutputStream();
File aFile = new File( filename );
try {
printStream.print( getContents( aFile ) );
aFile.delete();
} catch ( IOException e ) {
printStream.print( printWarning() );
}
} catch ( Exception e ) {
logger.error( e.getMessage(),e );
}
}
我正在从Adobe Air应用程序调用此servlet,并希望将文件的内容(作为参数传递)显示到Adobe Air窗口中。如果我使用navigationToURL()方法,则Adobe Air应用程序正在打开Internet浏览器窗口并成功显示内容。但是,如果我使用以下A3代码-
var service:HTTPService = new HTTPService();
service.resultFormat = "xml";
service.url="http://server.com/..../servletUrl";
service.method = URLRequestMethod.GET;
var params:Object = new Object();
params["file"] = "/tmp/xyz.html";
service.addEventListener(Event.COMPLETE,pageLoadComplete);
service.send(params);
public function pageLoadComplete(event:Event):void
{
log.debug("Received event");
var result:String = URLLoader(event.currentTarget).data.toString();
log.debug("Result =",result);
}
然后我没有任何结果!这很明显,因为servlet仅打印内容,而没有其他内容。
我无法更改servlet代码,只能更改Adobe Air框架,使其可以与任何后端代码一起使用。
那么,导致Servlet响应被打印在浏览器(Chrome)窗口而不是Adobe Air窗口上的原因是什么?以及如何解决?
预先感谢...
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。