Java技巧:实例讲解Servlet的图象处理

2016-02-19 19:10 23 1 收藏

生活已是百般艰难,为何不努力一点。下面图老师就给大家分享Java技巧:实例讲解Servlet的图象处理,希望可以让热爱学习的朋友们体会到设计的小小的乐趣。

【 tulaoshi.com - 编程语言 】

  我们在处理数据时,有时希望能用图象直观的表述,在这里有一个巧方法,能方便快捷的实现一些简单的图形(不能称之图象),比如条形图,我们不必去用 Java来生成并显示图象,(java生成图象很慢),我们可以这样来作,先用作图工具作一个很小的你需要的图片,再根据你所处理的数据量来实时的加长它,就可以得到所要表述的图例。比如我们在数据库中得到了一组数据,我们从中找出最大的那一个,按比列设定其标签的长度,其它的数据图形则可与它相比,得到的长度,这样,一个简简单单的条形图就出来。但有时一些简单的图形已经不能解决我们实际碰到的情况,比如曲线图就不能用这种方法,这时我们需要生成java图象,也许大家都用过applet这样的程序吧,若访问量不大,而实时性又很非凡时(比如股票系统),必须这样用它。但事实上,我们web程序大多有前后台之分,前台浏览,后台维护。这样我们可以在后台用servlet实时动态定时地生成图象文件,而前台只是查看静态图片,这比你用applet来动态产生图象的速度快了不知多少倍,因为applet来动态产生图象,有两个地方很费时,一是数据库查询时间,二是applet本身生成图象就很慢。下面我以一个简单的例子来说明一下怎样生成并写入图象文件,本例注重的是怎样写入图象文件,相信写过applet的朋友会生成更加漂亮的图象。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

  以下是引用片段:
  package test;
  
  import javax.servlet.*;
  
  import javax.servlet.http.*;
  
  import java.io.*;
  
  import java.util.*;
  
  import java.awt.image.BufferedImage;
  
  import com.sun.image.codec.jpeg.*;
  
  import java.awt.image.*;
  
  import java.awt.*;
  
  public class Servlet2 extends HttpServlet {
  
  public void init(ServletConfig config) throws ServletException {
  
  super.init(config);
  
  }
  
  public void doGet(HttpServletRequest request, HttpServletResponse response) 
  throws ServletException, IOException {
  
  String sFileName = "e:/temp/name.jpg";
  
  try{
  
  FileOutputStream fos = new
  
  FileOutputStream(sFileName);
  
  BufferedImage myImage = new BufferedImage(225, 225,BufferedImage.TYPE_INT_RGB);
  
  Graphics g = myImage.getGraphics();
  
  g.setColor(Color.white);
  
  g.fillRect(0,0,225,225);
  
  g.setColor(Color.black);
  
  g.drawString("Finance Balance Summary", 40, 15);
  
  g.drawString("Primary", 90, 30);
  
  g.setColor(Color.darkGray);
  
  &g.fillRect(15,193,7,7);
  
  g.setColor(Color.black);
  
  g.drawString("% Operating", 25, 200);
  
  g.setColor(Color.yellow);
  
  g.fillRect(130,193,7,7);
  
  g.setColor(Color.black);
  
  g.drawString("% Term", 140, 200);
  
  g.setColor(Color.lightGray);
  
  g.fillRect(15,213,7,7);
  
  g.setColor(Color.black);
  
  g.drawString("% Mortgage", 25, 220);
  
  g.setColor(Color.green);
  
  g.fillRect(130,213,7,7);
  
  g.setColor(Color.black);
  
  g.drawString("% Lease", 140, 220);
  
  JPEGImageEncoder jpg =
  
  JPEGCodec.createJPEGEncoder(fos);
  
  jpg.encode(myImage);
  
  }catch (Exception e){
  
  String exceptionThrown = e.toString();
  
  String sourceOfException = " Method";
  
  System.out.println("Origional Exception Thrown: " +
  
  exceptionThrown + '' + '');
  
  System.out.println("Origional SourceOfException: " +
  
  sourceOfException + '' + '');
  
  } // CatchStatementEnd
  
  }
  
  }

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

来源:https://www.tulaoshi.com/n/20160219/1620226.html

延伸阅读
Servlet: 当然,在servlet中,一般跳转都发生在doGet, doPost等方法里面。 1) redirect 方式 response.sendRedirect("/a.jsp"); 页面的路径是相对路径。sendRedirect可以将页面跳转到任何页面,不一定局限于本web应用中,如: response.sendRedirect("http://www.jb51.net"); 跳转后浏览器地址栏变化。 这种方式要传值出去的话,只能在...
Servlet是一种独立于平台和协议的服务器端的Java应用程序,可以生成动态的Web页面 一、概述 Servlet是一种独立于平台和协议的服务器端的Java应用程序,可以生成动态的Web页面。 Servlet是位于Web 服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet...
在Web应用中,经常需要动态生成图片,比如实时股市行情,各种统计图等等,这种情况下,图片只能在服务器内存中动态生成并发送给用户,然后在浏览器中显示出来。 本质上,浏览器向服务器请求静态图片如jpeg时,服务器返回的仍然是标准的http响应,只不过http头的contentType不是text/html,而是image/jpeg而已,因此,我们在Servlet中...
Servlet是一种独立于平台和协议的服务器端的Java应用程序,可以生成动态的Web页面 一、概述 Servlet是一种独立于平台和协议的服务器端的Java应用程序,可以生成动态的Web页面。 Servlet是位于Web 服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Serv...

经验教程

991

收藏

57
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部