如何在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 (将#修改为@)