jsp中使用servlet实现JFree图表
如何使用servlet和渲染图像绘制折线图? 我编写了一个servlet并创建了一个图表,但我不知道如何在jsp页面上显示它 我的servlet代码:jsp中使用servlet实现JFree图表,jsp,servlets,jfreechart,Jsp,Servlets,Jfreechart,如何使用servlet和渲染图像绘制折线图? 我编写了一个servlet并创建了一个图表,但我不知道如何在jsp页面上显示它 我的servlet代码: public class GraphGen extends HttpServlet { public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { genGraph(
public class GraphGen extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
genGraph(req, resp);
}
public void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
genGraph(req, resp);
}
@SuppressWarnings("deprecation")
public void genGraph(HttpServletRequest req, HttpServletResponse resp) {
try {
OutputStream out = resp.getOutputStream();
// Create a simple Bar chart
System.out.println("Setting dataset values");
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.setValue(30, "Girls","SCIENCE CLASS");
dataset.setValue(30, "Boys","SCIENCE CLASS");
dataset.setValue(10, "Girls","ECONOMICS CLASS");
dataset.setValue(50, "Boys","ECONOMICS CLASS");
dataset.setValue(5, "Girls","LANGUAGE CLASS");
dataset.setValue(55, "Boys","LANGUAGE CLASS");
JFreeChart chart = ChartFactory.createBarChart3D(
"Comparison between Girls and Boys in Science," + "Economics and Language classes",
"Students Comparisons", "No of Students",
dataset,
PlotOrientation.VERTICAL,
true,
true,
false);
chart.setBackgroundPaint(Color.white);
// Set the background colour of the chart
chart.getTitle().setPaint(Color.blue);
// Adjust the colour of the title
CategoryPlot plot = chart.getCategoryPlot();
// Get the Plot object for a bar graph
plot.setBackgroundPaint(Color.white);
plot.setRangeGridlinePaint(Color.red);
CategoryItemRenderer renderer = plot.getRenderer();
renderer.setSeriesPaint(0, Color.red);
renderer.setSeriesPaint(1, Color.green);
renderer.setItemURLGenerator(
new StandardCategoryURLGenerator(
"index1.html",
"series",
"section"));
renderer.setToolTipGenerator(new StandardCategoryToolTipGenerator());
resp.setContentType("image/png");
ChartUtilities.writeChartAsPNG(out, chart, 625, 500);
} catch (Exception e) {
System.err.println("Problem occurred creating chart." + e.getMessage());
}
}
……不使用上述代码,只需使用此代码,这更简单
JFreeChart chart = ChartFactory.createBarChart3D(
"Comparison between Girls and Boys in Science," + "Economics and Language classes",
"Students Comparisons", "No of Students",
dataset,
PlotOrientation.VERTICAL,
true,
true,
false);
try {
final ChartRenderingInfo info = new ChartRenderingInfo(new StandardEntityCollection());
final File file1 = new File(getServletContext().getRealPath(".") + "/images/piechart/lineChart.png");
ChartUtilities.saveChartAsPNG(file1, chart, 600, 400, info);
} catch (Exception e) {
System.out.println(e);
}
在jsp页面中使用此cod
<div>
<img src="path/images/piechart/lineChart.png"
width="600" height="400" border="0" usemap="#chart" />
</div>
您是否已经询问过Google博士,例如?谢谢,您遇到了什么问题,哪些问题不起作用?如何在jsp页面上显示此图像?您必须在jsp中包含一个
链接。记住,在您的例子中,servlet就是图像。@home的建议是正确的。您需要使用
标记链接到servlet。我鼓励你提供比“它不起作用”更有用的反馈
<div>
<img src="path/images/piechart/lineChart.png"
width="600" height="400" border="0" usemap="#chart" />
</div>