通过JAVA SERVLET直接输出SAS gchart 产生的图片到浏览器

JSP例子

<%@taglib uri="http://www.sas.com/taglib/sasads" prefix="sasads"%>
<br>
<img src=/streamImage/servlet/createGraphImage>
<p>

Servlet例子 (createGraphImage.java) 

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class createGraphImage
 extends javax.servlet.http.HttpServlet

{
  /*
   * doPost()
   * Respond to the Post message.
   */
   public void doPost(javax.servlet.http.HttpServletRequest request,
     javax.servlet.http.HttpServletResponse response)
     throws javax.servlet.ServletException, java.io.IOException
   {
 doGet( request, response );
   }

  /*
   * doGet()
   * Respond to the Get message.
   */
   public void doGet(javax.servlet.http.HttpServletRequest request,
     javax.servlet.http.HttpServletResponse response)
     throws javax.servlet.ServletException, java.io.IOException
   {
    try{
       com.sas.rmi.Rocf rocf = new com.sas.rmi.Rocf();
       com.sas.rmi.Connection connection = new com.sas.rmi.Connection();

       com.sas.servlet.util.SocketListener socket = new
       com.sas.servlet.util.SocketListener();
       int port = socket.setup();
       socket.start();
       com.sas.sasserver.submit.SubmitInterface si =
 (com.sas.sasserver.submit.SubmitInterface)
 rocf.newInstance(com.sas.sasserver.submit.SubmitInterface.class,
connection);

       String stmt = "filename sock SOCKET 'localhost:" + port + "';" +
   "goptions gsfname=sock dev=gif;"+
   "proc gchart data=sashelp.class;"+
   "hbar3d sex;"+
   "run;";
       si.setProgramText(stmt);
       response.setContentType("image/gif");
       socket.write( response.getOutputStream());
       rocf.stop();

    }catch(Exception e){e.printStackTrace();}
  }
}

 

原文来自SAS网站,文章名为<Streaming a graph directly to an Image Tag>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值