java web中使用JFreeChart制作图表

来源:互联网 发布:java 异常 编辑:程序博客网 时间:2024/05/21 21:50

在servlet中进行相应的图表制作,在jsp页面中显示内容:

首先进入index,点击go链接,由于配置了:(必须配置)

  <servlet-name>dname</servlet-name>
 <servlet-class>org.jfree.chart.servlet.DisplayChart</servlet-class>
 </servlet>
 <servlet-mapping>
 <servlet-name>dname</servlet-name>
 <url-pattern>/servlet/DisplayChart</url-pattern>
 </servlet-mapping>

1.在web.xml中配置:go链接的urlpattern-页面go链接的href=“servlet/DisplayChart”

去请求sevlet进行图表的制作:

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");

DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(100, "H1", "一月份");
dataset.addValue(100, "H2", "二月份");
dataset.addValue(100, "H6", "三月份");
dataset.addValue(100, "H9", "四月份");
// 处理汉字乱码
StandardChartTheme standardChartTheme = new StandardChartTheme("gbk");
// 设置标题字体
standardChartTheme.setExtraLargeFont(new Font("宋书", Font.PLAIN, 15));
// 设置图例的字体
standardChartTheme.setRegularFont(new Font("宋书", Font.PLAIN, 15));
// 设置轴向的字体
standardChartTheme.setLargeFont(new Font("宋书", Font.PLAIN, 15));
// 应用主题样式
ChartFactory.setChartTheme(standardChartTheme);
HttpSession session = request.getSession();
JFreeChart chart = ChartFactory.createBarChart3D("汽车销售表", "月份", "车型",
dataset, PlotOrientation.VERTICAL, false, false, false);
String fileName = ServletUtilities.saveChartAsPNG(chart, 500, 300,
null, session);
String graphURL = request.getContextPath()
+ "/servlet/DisplayChart?filename=" + fileName; // 将路径放到request对象中
// 注意这里的"/servlet/DisplayChart?filename="
// 是jfreechart的虚拟的存储路径。一定要与在web.xml中配置的servlet一致
request.setAttribute("graphURL", graphURL); // 页面转发到result.jsp
request.getRequestDispatcher("show.jsp").forward(request, response);

}



0 0
原创粉丝点击