Como visualizar relatorio no Cristal Reports com JSP/Serlvet

Como faço para minha aplicaçao WEB acessar relatorios feitos no Cristal Reports?

esse codigo transforma para PDF e abre no browser o relatorio

[code]<%@ page language="java" %>
<%@ page import="com.crystaldecisions.report.web.viewer." %>
<%@ page import="com.crystaldecisions.sdk.occa.report.application.
" %>
<%@ page import="java.util.Locale" %>
<%@ page import="java.sql." %>
<%@ page import="java.util.Locale" %>
<%@ page import="java.lang.String" %>
<%@ page import="javax.servlet.http.HttpSession" %>
<%@ page import="com.crystaldecisions.sdk.occa.report.data.
" %>
<%@ page import="com.crystaldecisions.sdk.occa.report.exportoptions.ReportExportFormat" %>
<%@ page import="java.io.*" %>
<%@ page contentType="text/html; charset=ISO-8859-1" %>

<html>
<head>
<title>Relatorio</title>
</head>
<body>

<%
String NomeRel = "ReportTempAmbiente.rpt";

ReportClientDocument clientDoc = new ReportClientDocument&#40;&#41;;
String path = &quot;rassdk&#58;//C&#58;/jakarta-tomcat-4.1.27/webapps/MTN/relatorio/temperatura/&quot;;
ReportAppSession ra = new ReportAppSession&#40;&#41;;
ra.createService&#40;&quot;com.crystaldecisions.sdk.occa.report.application.ReportClientDocument&quot;&#41;;
// Indica o servidor que está o cristal reports
ra.setReportAppServer&#40;&quot;127.0.0.1&quot;&#41;;
ra.initialize&#40;&#41;;
clientDoc.setReportAppServer&#40;ra.getReportAppServer&#40;&#41;&#41;;
clientDoc.open &#40;path + NomeRel, OpenReportOptions._openAsReadOnly&#41;;
clientDoc.refreshReportDocument&#40;&#41;;

//Especifica o formato para a exportação
ByteArrayInputStream byteIS = &#40;ByteArrayInputStream&#41; clientDoc.getPrintOutputController&#40;&#41;.export&#40;ReportExportFormat.PDF&#41;;

// Exporta o relatório

//Cria um byte&#91;&#93; &#40;mesmo tamanho do exportado ByteArrayInputStream&#41;
byte&#91;&#93; buf = new byte&#91;2000 * 1024&#93;;
int nRead = 0;

//Set response headers to indicate pdf MIME type and inline file
response.reset&#40;&#41;;
response.setContentType&#40;&quot;application/pdf&quot;&#41;;
response.setHeader&#40;&quot;Content-Disposition&quot;, &quot;inline;filename=teste.pdf&quot;&#41;;

//Envia o Byte Array para o cliente
while &#40;&#40;nRead = byteIS.read&#40;buf&#41;&#41; != -1&#41; 
&#123;
  response.getOutputStream&#40;&#41;.write&#40;buf, 0, nRead&#41;;
&#125;

//Flush the output stream
response.getOutputStream&#40;&#41;.flush&#40;&#41;;
//Close the output stream
response.getOutputStream&#40;&#41;.close&#40;&#41;;

%>
</body>
</html>[/code]