【发布时间】:2013-12-12 01:57:54
【问题描述】:
需要你的帮助!
本网站展示了如何生成饼图并在 servlet 中显示。我设法在servlet中显示。但是我想改为在 JSP 中显示。我试着寻找答案。有人说在 JSP 中,将 img 源映射到 servlet。我试过了,但我没有成功。
以下是我的代码如果有人帮助我在 jsp 中显示图表,那就太好了。我是 jsp/servlet 的新手。谢谢!
在 chart.jsp
<img border="0" src="ChartExample/src/servlet/ChartServlet.java"
width="100" height="100">
在 ChartServlet.java
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("image/png");
OutputStream outputStream = response.getOutputStream();
JFreeChart chart = getChart();
int width = 500;
int height = 350;
ChartUtilities.writeChartAsPNG(outputStream, chart, width, height);
}
public JFreeChart getChart() {
DefaultPieDataset dataset = new DefaultPieDataset();
Statement stmt = null;
Connection currentCon = null;
ChartDao ChartDao = new ChartDao ();
int chickenrice = ChartDao.CheckChickenRiceRow();
int currychicken = ChartDao.CheckCurryRiceRow();
dataset.setValue("Chicken Rice", chickenrice);
dataset.setValue("Curry Chicken", currychicken);
boolean legend = true;
boolean tooltips = false;
boolean urls = false;
JFreeChart chart = ChartFactory.createPieChart("Orders", dataset, legend, tooltips, urls);
chart.setBorderPaint(Color.GREEN);
chart.setBorderStroke(new BasicStroke(5.0f));
chart.setBorderVisible(true);
return chart;
}
编辑:
Servlet 在 web.xml 中映射为:
<servlet>
<servlet-name>ChartServlet</servlet-name>
<servlet-class>servlet.ChartServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ChartServlet</servlet-name>
<url-pattern>/piechart</url-pattern>
</servlet-mapping>
【问题讨论】:
-
你需要在
src属性中指定servlet-url而不是Java源文件的位置。 -
@AVD 是这样的吗?
-
确实如此。
<img src='/piechartalt=''/>`
标签: jsp servlets jfreechart pie-chart dynamically-generated