javajsp图表,Java生成图表

发布时间:2023-12-08

javajsp图表,Java生成图表

更新:2022-11-20 15:18

本文目录一览:

  1. 用jsp怎样生成柱状图,饼状图,折线图
  2. java+jsp如何实现Uv、pv统计?框架是基于SpringMVC+hibernate实现的。
  3. 用java在jsp中显示图片,求例子代码
  4. 如何在JSP网页中生成动态图表
  5. [Java jsp中根据从数据库中查询出来的路径显示图片](#Java jsp中根据从数据库中查询出来的路径显示图片)
  6. 怎样用JAVA来实现在网页中制作柱状图

用jsp怎样生成柱状图,饼状图,折线图

JFreeChart 可以绘制饼状图、折线图、柱状图等。awt/swing里可以使用,JSP里也可以使用。 JFreeChart是 Java平台下开源的图表类库,是一个完全基于Java的图表开发技术。 支持的图表类型也比较丰富,比如饼图、柱状图、散点图、仪表盘、甘特图等多种图表,还可以生成Web图形报表。JFreeChart可导出PNG和JPEG格式的文件。 例如下面的柱状图:

java+jsp如何实现Uv、pv统计?框架是基于SpringMVC+hibernate实现的。

SpringMVC与Spring结合Spring是一个开源框架,Spring是于2003年兴起的一个轻量级的Java开发框架,由Rod Johnson在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为J2EE应用程序开发提供集成的框架。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。Spring的核心是控制反转(IoC)和面向切面(AOP)。简单来说,Spring是一个分层的JavaSE/EE full-stack(一站式)轻量级开源框架。

  1. 再次配置web.xml Spring要在程序调用某个对象的时候,就要首先把这个对象的实例注入进去。Spring自己对实例、程序运行的管理构成了Spring自己的容器,第一步就是要在web.xml中注册初始化这个容器。在此之前我们先在/resources文件夹下,创建子路径META-INF,然后在这个文件夹下,创建我们后面要用到的applicationContext.xml文件,如果用过spring框架的人对这个文件都不会陌生,这是spring的配置文件。最后web.xml文件如下:
metadata-complete="true" version="3.0"
spring-dispatcherorg.springframework软件定制开发公司?web.servlet.DispatcherServlet
spring-dispatcher/contextConfigLocationclasspath:/META-INF/applicationContext.xml
org.springframework.web.context.ContextLoaderListener
  1. 配置applicationContext.xml文件 在spring4之后,spring配置的bean不是在xml文件中配置了,而是采用固定扫描annotation的类,根据对象的类型或者名字自动加载,但此前提是我们仍然要在配置文件中配置好这些类所在包的路径。最后applicationContext.xml文件如下,
  2. 创建一个Service类,UserService.java Service的创建我们还是比较推荐具体的service实现相应的接口的方式,下面我们写一个服务类,用来获取注册的用户,在包com.mark.java.service下创建接口UserService。
public interface UserService {
    public List getAllUsernames();
}

然后再创建一个UserServiceImpl来实现此接口,

@Service
public class UserServiceImpl implements UserService {
    public List getAllUsernames() {
        List users = new ArrayList();
        users.add("MarK");
        users.add("Ken");
        users.add("Fowafolo");
        return users;
    }
}

注意!!!,我们要对个实现加上注释@Service,这是在告诉spring,我需要你来管理我。

用java在jsp中显示图片,求例子代码

<%@ page language="java" pageEncoding="UTF-8"%>
<%@ page import="java.awt.image.BufferedImage"%>
<%@ page import="javax.imageio.ImageIO"%>
<%@ page import="java.io.File"%>
<%
    out.clear();
    response.setContentType("image/png");
    BufferedImage image = ImageIO.read(new File("D:\\mark.png"));
    ImageIO.write(image, "png", response.getOutputStream());
%>

我这样写没有问题,你试试。我来解释一下楼上的疑问,html标签不可能引用到本地的文件,比如C:\xx.jpg你指定的路径得是web目录下的,动态生成图片一般用servlet实现,比如验证码之类的。

如何在JSP网页中生成动态图表

JSP页面中嵌入动态图表的两种方法:在JSP页面中插入Applet小程序;通过JavaBean动态生成图像。 JSP是一种广泛应用的网页设计技术,它是一种HTML和Java脚本混合的编程技术,它结合了HTML的静态特性和Java语言的动态能力,因此用它进行动态网页设计非常方便。在进行图像处理时,一般处理静态图片非常容易,但是,在实际应用中常常需要动态地在网页中生成二维的图形。 基于JFreeChart开发的一个时序图的绘制。代码如下: 实例中createDataset()方法用于创建数据集合对象。时序图的数据集合与其他数据集合不同,它需要添加一个时间段内的所有数据,通常采用TimeSeries类进行添加。该实例中通过Math类的random()方法进行随机生成。

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedInputStream;
import java.io.DataInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.URL;
import java.net.URLConnection;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Random;
import javax.swing.JApplet;
import javax.swing.Timer;
import org.jfree.chart.*;
import org.jfree.chart.annotations.CategoryTextAnnotation;
import org.jfree.chart.axis.CategoryAnchor;
import org.jfree.chart.axis.CategoryAxis;
import org.jfree.chart.axis.CategoryLabelPositions;
import org.jfree.chart.axis.DateAxis;
import org.jfree.chart.axis.DateTickUnit;
import org.jfree.chart.axis.DateTickUnitType;
import org.jfree.chart.axis.ValueAxis;
import org.jfree.chart.labels.StandardCategoryItemLabelGenerator;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.plot.XYPlot;
import org.jfree.chart.renderer.category.BarRenderer;
import org.jfree.chart.title.TextTitle;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.IntervalCategoryDataset;
import org.jfree.chart.axis.NumberAxis;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.data.gantt.Task;
import org.jfree.data.gantt.TaskSeries;
import org.jfree.data.gantt.TaskSeriesCollection;
import org.jfree.data.time.Day;
import org.jfree.data.time.Second;
import org.jfree.data.time.TimeSeries;
import org.jfree.data.time.TimeSeriesCollection;
import org.jfree.data.xy.XYDataset;
public class shixutu extends JApplet {
    private static final Font PLOT_FONT = new Font("黑体", Font.ITALIC, 18);
    JFreeChart chart;
    class DataGenerator extends Timer implements ActionListener {
        private static final long serialVersionUID = 3977867288743720504L;
        String equID; //设备ID号
        int totalTask; //任务数
        String[][] strTask; //任务情况
        public void actionPerformed(ActionEvent actionevent) {
            addTotalObservation();
        }
        DataGenerator() {
            super(1000, null);
            addActionListener(this);
            System.out.println("super");
        }
    }
    private void addTotalObservation() {
        System.out.println("addTotalObservation");
        chart.getXYPlot().setDataset(createDataset());
        if (chart != null) {
            chart.fireChartChanged();
        }
    }
    private static void processChart(JFreeChart chart) {
        chart.getTitle().setFont(new Font("隶书", Font.BOLD, 26));
        chart.setBackgroundPaint(new Color(252,175,134));
        XYPlot plot = chart.getXYPlot();
        plot.setDomainGridlinesVisible(false);
        DateAxis dateAxis = (DateAxis) plot.getDomainAxis();
        dateAxis.setLabelFont(PLOT_FONT);
        dateAxis.setTickLabelFont(new Font("宋体", Font.PLAIN, 12));
        dateAxis.setLowerMargin(0.0);
        ValueAxis valueAxis = plot.getRangeAxis();
        valueAxis.setLabelFont(PLOT_FONT);
        DateFormat format = new SimpleDateFormat("mm分ss秒");
        DateTickUnit dtu = new DateTickUnit(DateTickUnitType.SECOND,30,format);
        dateAxis.setTickUnit(dtu);
    }
    private static void writeChartAsImage(JFreeChart chart) {
        FileOutputStream fos_jpg = null;
        try {
            fos_jpg = new FileOutputStream("D:\\test\\shixutu.jpg");
            ChartUtilities.writeChartAsJPEG(fos_jpg, 1, chart, 400, 300, null);
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                fos_jpg.close();
            } catch (Exception e) {
            }
        }
    }
    public static XYDataset createDataset() {
        TimeSeries timeseries = new TimeSeries("Data");
        Second second = new Second();
        double d = 50D;
        for (int i = 0; i < 500; i++) {
            d = d + (Math.random() - 0.5) * 10;
            timeseries.add(second, d);
            second = (Second) second.next();
        }
        TimeSeriesCollection timeSeriesCollection = new TimeSeriesCollection(timeseries);
        return timeSeriesCollection;
    }
    public void init() {
        XYDataset dataset = createDataset();
        chart = ChartFactory.createTimeSeriesChart(
            "时序图示范", // 图表标题
            "时间", // 目录轴的显示标签--横轴
            "数值", // 数值轴的显示标签--纵轴
            dataset, // 数据集
            false,
            false, // 是否生成工具
            false // 是否生成URL链接
        );
        processChart(chart);
        ChartPanel chartPanel = new ChartPanel(chart);
        chartPanel.setPreferredSize(new java.awt.Dimension(800,500));
        getContentPane().add(chartPanel);
        (new DataGenerator()).start();
    }
    public void paint(Graphics g) {
        if (chart != null) {
            chart.draw((Graphics2D) g, getBounds());
        }
    }
    public void destroy() {
    }
}

Java jsp中根据从数据库中查询出来的路径显示图片

JSP是靠加载图片路径来显示图片的,图片可以保存在项目中,也可以保存到磁盘的某个路径下。 图片放webroot下,一般是webroot下建一个img或pic 文件夹专门存图。 JSP使用的时候:

<img src="<%=request.getContextPath()%>/pic/mypic.gif"/>

这样就可以加载到图片了。

怎样用JAVA来实现在网页中制作柱状图

JFreeChart是JAVA平台上的一个开放的图表绘制类库。它完全使用JAVA语言编写,是为applications, applets, servlets 以及JSP等使用所设计。JFreeChart可生成饼图(pie charts)、柱状图(bar charts)、散点图(scatter plots)、时序图(time series)、甘特图(Gantt charts)等等多种图表,并且可以产生PNG和JPEG格式的输出,还可以与PDF和EXCEL关联。 JFreeChart的主页地址为: 在这里可以找到最新版本的JFreeChart的相关信息,如说明文档、下载连接以及示例图表等。 JFreeChart目前是最好的java图形解决方案,基本能够解决目前的图形方面的需求。 IBM文档: Javaeye社区: