qrcode二维码学习笔记之二

本文介绍如何使用Servlet生成QRCode二维码图片,并通过J2ME客户端进行图片信息的生成与展示。主要内容包括设置响应头信息、从请求中读取内容、生成QRCode图片以及在CANVAS中绘制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原地址: http://kantaotao.blog.163.com/blog/static/9468786200972745646902/

qrcode二维码学习笔记之二

二维码 2009-08-27 16:56:46 阅读157 评论1 字号:

   

在Servlet中生成qrcode图片

//设置响应头信息

  String encode = "jpeg";
  response.setContentType("image/".concat(String.valueOf(String
    .valueOf(encode))));
  javax.servlet.ServletOutputStream outb = response.getOutputStream();
  response.setHeader("Pragma", "no-cache");
  response.setHeader("Cache-Control", "no-cache");
  response.setDateHeader("Expires", 0);

//从请求中读取内容
  InputStream input = request.getInputStream();
  DataInputStream dinput = new DataInputStream(input);
  String str = "";
  try {
   str = dinput.readUTF();

  } catch (Exception e) {
  }
  if ("".equals(str)) {
   str = "0";
  }
  System.out.println("str:" + str);
  //以下是测试数据
  EnQRCode barCode = QrCodeUtils.enqrcode(TestDBUtils.getDBString(str), 2);
  BufferedImage BarImage = new BufferedImage(barCode.getSize().width,
    barCode.getSize().height, 1);
  Graphics2D BarGraphics = BarImage.createGraphics();
  barCode.paint(BarGraphics);
  JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(outb);
  encoder.encode(BarImage);

 

使用J2ME客户端生成图片信息

   HttpConnection  conn = (HttpConnection) Connector.open(“http://127.0.0.1/QrcodeDemo/do”,
     Connector.READ_WRITE, true);
   conn.setRequestMethod("POST");
   conn.setRequestProperty("Connection", "close");
   conn.setRequestProperty("Content-Type", "application/octet-stream");
   int sendlength =  str.getBytes().length;
   conn.setRequestProperty("Content-Length", String.valueOf(sendlength));

//打开流对象  并输入测试数据
   os = conn.openDataOutputStream();
   os.writeUTF("测试");

//获取服务器返回消息
   is = conn.openDataInputStream();
   ByteArrayOutputStream baos = new ByteArrayOutputStream();
            int ch = 0;
            while ((ch = is.read()) != -1)
            {
                baos.write(ch);
              
            }
            byte[] imageData = baos.toByteArray();

//生成图片信息
        Image image = Image.createImage(imageData, 0, imageData.length);

//在CANVAS中 画出qrcode图片

g.drawImage(image , width/2,fontheight * 3, Graphics.HCENTER| Graphics.TOP);

qrcode二维码学习笔记之二 - 天边的爱 - 有一颗自由的心 却没有放纵的理由

qrcode二维码学习笔记之二 - 天边的爱 - 有一颗自由的心 却没有放纵的理由

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值