【问题标题】:Return a dynamically generated pie chart from a servlet and display in JSP从 servlet 返回动态生成的饼图并在 JSP 中显示
【发布时间】:2013-12-12 01:57:54
【问题描述】:

需要你的帮助!

我找到了这个网站 > http://www.avajava.com/tutorials/lessons/how-do-i-return-a-dynamically-generated-pie-chart-from-a-servlet.html

本网站展示了如何生成饼图并在 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 是这样的吗?
  • 确实如此。 &lt;img src='/piechartalt=''/>`

标签: jsp servlets jfreechart pie-chart dynamically-generated


【解决方案1】:

您可以通过使用http://localhost:8080/yourcontext/piechart url 打开浏览器来测试该图表,如果一切正常,则使用带有src 属性img 标签的relative-url 或absolute-url。

<img src='/piechart' alt='Pie chart'/>

或者

<img src='http://localhost:8080/yourcontext/piechart' alt='Pie chart'/>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多