⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 genericchartservlet.java

📁 本人课程设计时做的一个用struts框架实现的基于cmmi2的项目管理系统的原型。还有部分功能尚未实现
💻 JAVA
字号:

package com.cmmi2pms.chart;

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;

public abstract class GenericChartServlet extends HttpServlet
{

	public GenericChartServlet()
	{
	}

	public void init(ServletConfig config)
		throws ServletException
	{
		super.init(config);
	}

	public void destroy()
	{
	}

	protected void processRequest(HttpServletRequest request, HttpServletResponse response)
		throws ServletException, IOException
	{
		byte input[] = new byte[1024];
		boolean eof = false;
		ByteArrayInputStream bis = new ByteArrayInputStream(getChartBytes(request, response));
		response.setHeader("content/type", "image/jpeg");
		BufferedOutputStream bos = new BufferedOutputStream(response.getOutputStream());
		while(!eof) 
		{
			int length = bis.read(input);
			if(length == -1)
				eof = true;
			else
				bos.write(input, 0, length);
		}
		bos.flush();
		bis.close();
		bos.close();
	}

	protected void doGet(HttpServletRequest request, HttpServletResponse response)
		throws ServletException, IOException
	{
		processRequest(request, response);
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response)
		throws ServletException, IOException
	{
		processRequest(request, response);
	}

	public String getServletInfo()
	{
		return "Chart Rendering Servlet";
	}

	private byte[] getChartBytes(HttpServletRequest request, HttpServletResponse response)
		throws IOException
	{
		ByteArrayOutputStream out = new ByteArrayOutputStream();
		ChartUtilities.writeChartAsJPEG(out, getChart(request, response), getWidth(), getHeight());
		out.close();
		return out.toByteArray();
	}

	protected abstract JFreeChart getChart(HttpServletRequest httpservletrequest, HttpServletResponse httpservletresponse);

	public abstract int getHeight();

	public abstract int getWidth();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -