📄 genericchartservlet.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 + -