📄 snalsgraphservlet.java
字号:
package com.ideas.servlet;import javax.servlet.*;import javax.servlet.http.*;import Acme.JPM.Encoders.GifEncoder;// standard importsimport java.awt.image.BufferedImage;import java.awt.image.ImageObserver;import java.awt.*;import java.net.URL;import java.io.IOException;import java.io.OutputStream;import java.io.*;import javax.imageio.*;import com.sun.media.imageio.stream.*;import com.ideas.data.DBAccess;import com.ideas.util.Configuration;public class SnalsGraphServlet extends HttpServlet{ private static final int RADIUS = 200; private static final int WIDTH = 110; private static final int HEIGHT = 120; private static final int X_RADIUS = 200; private static final int Y_RADIUS = 150; private static final Color BG_COLOR = new Color(0xffffff); private static final Color TEXT_COLOR = new Color(0x000000); private static final Color FG_COLOR = new Color(0x6699FF); private static final Color BODY_COLOR = new Color(0x6666FF); private static final Color GRAPHICS_BG_COLOR = Color.yellow; public void service(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException { res.setContentType("image/gif;charset=gb2312"); OutputStream out = res.getOutputStream(); BufferedImage img = new BufferedImage(WIDTH, HEIGHT, BufferedImage.TYPE_INT_ARGB); Graphics2D g = (Graphics2D)img.getGraphics(); double total = 100.0; String ipaddress = req.getParameter("ipaddress"); String[] data = DBAccess.getLatestData( "select state from snals where ipaddress='" + ipaddress + "' order by timestamp desc"); if(data[0].equals("ACTIVE")) { g.setColor(Color.GREEN); g.drawString("active",0,38); int h = 0; Polygon ply = new Polygon(); ply.addPoint(0, 40 + h); ply.addPoint(90, 40 + h); ply.addPoint(85, 35 + h); ply.addPoint(100, 42 + h); ply.addPoint(85, 49 + h); ply.addPoint(90, 44 + h); ply.addPoint(0, 44 + h); g.fillPolygon(ply); } else { g.setColor(Color.RED); int h = 52; g.drawString("unactive",0,38 + h); Polygon ply = new Polygon(); ply.addPoint(0, 40 + h); ply.addPoint(90, 40 + h); ply.addPoint(85, 35 + h); ply.addPoint(100, 42 + h); ply.addPoint(85, 49 + h); ply.addPoint(90, 44 + h); ply.addPoint(0, 44 + h); g.fillPolygon(ply); } g.setColor(Color.BLACK); g.drawString("当前状态为:", 0, 10); g.setComposite(AlphaComposite.getInstance(AlphaComposite.CLEAR, 0.0f)); GifEncoder ge = new GifEncoder(img, out); ge.encode(); out.close(); } public void init() throws ServletException { }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -