我用JFreeChart生成图放在页面里就只显示图,不显示网页的内容.
<%@ page language="java" pageEncoding="utf-8"%>
<%@ page import="java.util.*,java.text.*"%> 
<%@ page import="com.mysql.jdbc.*"%>
<%@ page import="java.sql.*" %>
<%@ page import="org.jfree.chart.JFreeChart,org.jfree.chart.ChartUtilities,
org.jfree.chart.ChartFactory,
org.jfree.chart.plot.PlotOrientation,
org.jfree.data.category.DefaultCategoryDataset"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>用户并发流</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<link type="text/css" rel="stylesheet" href="img/style.css" />
<style type="text/css">
<!--
body {
background-image: url(img/content_bg.gif);
}
-->
    </style>
<link href="date/css/date.css" rel="stylesheet" type="text/css">
<script language="javascript" src="date/js/date.js"></script>
<style type="text/css">
<!--
#Layer1 {
position:absolute;
width:200px;
height:115px;
z-index:1;
left: 133px;
top: 477px;
}
-->
</style>
</head>
<body>
生成的图片.
<p></p>
<div id="Layer1">
<%
//学生成绩曲线图
//------数据线------
String dataLine1="总用总户";
String dataLine2="页面浏览";
String dataLine3="VOD点播";
String dataLine4="时移用户";
//------数据列------
String dataCol1="一";
String dataCol2="二";
String dataCol3="三";
String dataCol4="四";
String dataCol5="五";
String dataCol6="六";
//------创建数据集,并设置值------
DefaultCategoryDataset categoryDataset = new DefaultCategoryDataset();
categoryDataset.addValue(60,dataLine1,dataCol1);
categoryDataset.addValue(70,dataLine1,dataCol2);
categoryDataset.addValue(83,dataLine1,dataCol3);
categoryDataset.addValue(90,dataLine1,dataCol4);
categoryDataset.addValue(92,dataLine1,dataCol5);
categoryDataset.addValue(85,dataLine1,dataCol6);
categoryDataset.addValue(63,dataLine2,dataCol1);
categoryDataset.addValue(45,dataLine2,dataCol2);
categoryDataset.addValue(67,dataLine2,dataCol3);
categoryDataset.addValue(76,dataLine2,dataCol4);
categoryDataset.addValue(90,dataLine2,dataCol5);
categoryDataset.addValue(87,dataLine2,dataCol6);
categoryDataset.addValue(50,dataLine3,dataCol1);
categoryDataset.addValue(76,dataLine3,dataCol2);
categoryDataset.addValue(84,dataLine3,dataCol3);
categoryDataset.addValue(96,dataLine3,dataCol4);
categoryDataset.addValue(88,dataLine3,dataCol5);
categoryDataset.addValue(120,dataLine3,dataCol6);
//------创建线图------
String titleString="并发流量图";//图的标题
JFreeChart chart =ChartFactory.createLineChart(titleString,"时间","数量",categoryDataset,PlotOrientation.VERTICAL,true,true,false);
ChartUtilities.writeChartAsJPEG(response.getOutputStream(),chart,500,300);
%>
</div>
12
</center>
</body>
</html>

解决方案 »

  1.   

    ChartUtilities.writeChartAsJPEG(response.getOutputStream(),chart,500,300); 
    你这样肯定只能有图形了,用户在请求这个地址的时候,服务器是用字节流形式将网页数据输出到浏览器上面,
    而你的response.getOutputStream()只输出了这个图形
    你可以把生成图形的逻辑放在另一个页面中去,在要显示这个图形的页面中加上<img src="你的图形页面.jsp">,这样就行了