微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在Adobe Air窗口中显示Servlet的ServletOutputStream?

如何解决如何在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 举报,一经查实,本站将立刻删除。