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

📄 pintu.jsp

📁 public class guestbook{   String sDBDriver = "sun.jdbc.odbc.JdbcOdbcDriver"   String sConnStr = "
💻 JSP
字号:
<%@ page language="java" contentType="text/html;charset=gb2312" %> 
<%@ page import="java.io.OutputStream" %>
<%@ page import="java.sql.*" %>
<%@ page import="java.awt.*" %>
<%@ page import="java.awt.geom.*" %>
<%@ page import="java.awt.image.BufferedImage" %>
<%@ page import="com.sun.image.codec.jpeg.*" %>
  <%
  class PieColors 
   {
      Color pieColorArray[] =
         {
          new Color(210,60,60),new Color(60,210,60),new Color(60,60,210),
          new Color(120,60,120),new Color(60,120,210),new Color(210,120,60)
         };
     int curPieColor = 0;
     public Color getPieColor()
     {
       return pieColorArray[curpieColor];
      }   
     public void setNewColor()
       {
         curPieColor++;
         if(curPiColor >= pieColorArray.length)
           {
           curPieColor = 0;
            }
        } 
  %>
 <%
    String driver = "sun.jdbc.odbc.JdbcOdbcDriver"; 
    String dburl = "jdbc:odbc:conn"; 
    String dbuid = "myuid"; 
    String dbpwd = "mypwd";
 public String[] getProducts() 
  {
 String[] arr = new String[0]; 
 Connection con;
 Statement stmt;
 ResultSet rs;
 int count = 0; 
 String sql = "select * from p_products order by productID"; 
 try
 {
  //Load Driver:
  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
  //Connect to the database with the url 
  con = DriverManager.getConnection(dburl , dbuid , dbpwd); 
  stmt = con.createStatement(); 
  //Get ResultSet 
  rs = stmt.executeQuery(sql); 
  //Count the records 
  while(rs.next()){count++;
 }
 //Create an array of the correct size 
 arr = new String[count];
 //Get ResultSet (the most portable way of using rs a second time)
 rs = stmt.executeQuery(sql);
 while(rs.next())
 {
  arr[rs.getInt("productID")] = rs.getString("productname"); 
 }
 stmt.close(); 
 con.close();
} 
 catch (java.lang.Exception ex)
 {arr[0] = ex.toString();} 
 return arr; 
} 
  public float[] getSales(int products) 
{ 
 float[] arr = new float[products];
 Connection con;
 Statement stmt; 
 ResultSet rs; 
 String sql = "select productID, amount from p_sales";
 try {
  //Load Driver: 
  Class.forName(driver); 
  //Connect to the database with the url 
  con = DriverManager.getConnection(dburl , dbuid , dbpwd); 
  stmt = con.createStatement();
  //Get ResultSet
  rs = stmt.executeQuery(sql); 
  while (rs.next()) { int product = rs.getInt("productID"); 
  //Check that the productID is valid 
  if (product >= 0 && product < products)
  { 
   //Add to product total 
   arr[product] += rs.getFloat("amount"); 
  }
 }
 stmt.close(); 
 con.close(); 
} catch (java.lang.Exception ex) {arr[0] = -1.0f; }
 return arr; } 
  %>
 <% 
 //get an array that contains the product names 
 String products[] = getProducts(); 
 //read the data and store the totals in an array 
 float sales[] = getSales(products.length);
 //Declare PieColors PieColors 
 pc = new PieColors();
 //Colors Color 
 dropShadow = new Color(240,240,240); 
 //inner padding to make sure bars never touch the outer border 
 int innerOffset = 20; 
 //Set the graph's outer width & height 
 int WIDTH = 400;
 int HEIGHT = 200;
 int pieHeight = HEIGHT - (innerOffset * 2); 
 int pieWidth = pieHeight; 
 //To make a square (circular) pie 
 int halfWidth = WIDTH/2;
 //Width of the inner graphable area 
 int innerWIDTH = WIDTH - (innerOffset * 2); 
 //graph dimensions Dimension 
 graphDim = new Dimension(WIDTH,HEIGHT);
 Rectangle graphRect = new Rectangle(graphDim); 
 //border dimensions
 Dimension borderDim = new Dimension(halfWidth-2,HEIGHT-2);
 Rectangle borderRect = new Rectangle(borderDim); 
  //Set content type
  response.setContentType("image/jpeg");
 //Create BufferedImage & Graphics2D
 BufferedImage bi = new BufferedImage(WIDTH, HEIGHT, BufferedImage.TYPE_INT_RGB); 
 Graphics2D g2d = bi.createGraphics();
 // Set Antialiasing RenderingHints 
 renderHints = new RenderingHints(    RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON); 
 g2d.setRenderingHints(renderHints); 
 //Set graph background color to white: 
 g2d.setColor(Color.white);
 g2d.fill(graphRect); 
 //Draw black border
 g2d.setColor(Color.black);
 borderRect.setLocation(1,1);
 g2d.draw(borderRect); 
 //Now draw border for legend 
 borderRect.setLocation((WIDTH/2) + 1,1); 
 g2d.draw(borderRect);  
   
  int x_pie = innerOffset; 
 int y_pie = innerOffset; int border = 20; 
 //Main chart Ellipse
 //Ellipse2D.Double el = new Ellipse2D.Double(x_pie, y_pie, pieWidth, pieHeight);    Ellipse2D.Double elb = new Ellipse2D.Double(x_pie - border/2, y_pie - border/2, pieWidth +   border, pieHeight + border);
 //Shadow 
 g2d.setColor(dropShadow);
 g2d.fill(elb);
 //Border
 g2d.setColor(Color.black); 
 g2d.draw(elb); 
  float salesTotal = 0.0f; 
 int lastElement = 0; 
 for(int i=0; i<products.length; i++)
 {
  if(sales[i] > 0.0f) 
  { 
   salesTotal += sales[i];
   lastElement = i; 
   }
 }
  //Chart variables 
 int startAngle = 0; 
 //Legend variables 
 int legendWidth = 20;
 int x_legendText = halfWidth + innerOffset/2 + legendWidth + 5;
 int x_legendBar = halfWidth + innerOffset/2;
 int textHeight = 20; 
 int curElement = 0; 
 int y_legend = 0;
 //Dimensions of the legend bar
 Dimension legendDim = new Dimension(legendWidth , textHeight/2); 
 Rectangle legendRect = new Rectangle(legendDim);
 for(int i=0; i<products.length; i++)
 {
  if(sales[i] > 0.0f) 
  {
   //Calculate percentage sales float
   perc = (sales[i]/salesTotal);
   //Calculate new angle 
   int sweepAngle = (int)(perc * 360);
   //Check that the last element goes back to 0 position
   if (i == lastElement) 
   {
    sweepAngle = 360-startAngle;
   }
   // Draw Arc 
   g2d.setColor(pc.getPieColor());
   g2d.fillArc(x_pie, y_pie, pieWidth, pieHeight, startAngle, sweepAngle); 
   //Increment startAngle with the sweepAngle 
   startAngle += sweepAngle; 
  //Set y position for bar 
   y_legend = curElement * textHeight + innerOffset; 
   //Display the current product 
   String display = products[i];
   g2d.setColor(Color.black); 
   g2d.drawString(display, x_legendText, y_legend);
   //Display the total sales 
   display = "" + (int)sales[i]; 
   g2d.setColor(Color.black);
   g2d.drawString(display, x_legendText + 80, y_legend);
   //Display the sales percentage
   display = " (" + (int)(perc*100) + "%)"; 
   g2d.setColor(Color.red); 
   g2d.drawString(display, x_legendText + 110, y_legend);
   //Draw the bar
   g2d.setColor(pc.getPieColor()); 
   legendRect.setLocation(x_legendBar,y_legend - textHeight/2); 
   g2d.fill(legendRect); 
   //Set new pie color 
   pc.setNewColor();
   //Increment 
   curElement++; 
  }
 }
  OutputStream output = response.getOutputStream(); 
 JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(output); 
 encoder.encode(bi); 
 output.close(); %>

⌨️ 快捷键说明

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