Java使用Google Zxing生成二维码的例子

发布时间 - 2026-01-10 23:21:11    点击率:

以前只用过jQuery.qrcode生成过二维码,这次使用的是Google的zxing通过Java代码生成二维码并以流的方式输出到前台页面

所需jar包:zxing-3.2.1.jar

代码

前台展示页面

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE html>
<html>
<head>
<title>二维码</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script src="http://apps.bdimg.com/libs/jquery/1.9.1/jquery.min.js"></script>
<style>
  body{text-align:center;}
</style>
</head>
<body>
  请输入关键字,多个关键字请用逗号隔开
  </br>
  </br>
  <textarea id="ids" cols="30" rows="10">
  </textarea>
  </br>
  <button onclick="submit1()" value="提交">提交</button>
  </br>
  </br>
  </br>
  <div id="img">
  
  </div>
  
  <script>
    function submit1() {
      var reg = new RegExp(",","g");//替换所有","
      var ids = $("#ids").val().replace(reg,",").split(",");
      var html = "<table align=\"center\">";
      for(var i = 0; i<ids.length; i++){
        html += "<tr><td>" + ids[i] + "</td></tr>"
        html += "<tr><td><img src=\"<%=basePath%>qrCode/generateOneqrCode/?id=" + ids[i] + "\" /></td></tr>";
      }
      html += "</table>";
      $("#img").html(html);
    }
  </script>
</body>
</html>

后台主要代码

/**
   * 生成一个二维码
   * @param resp
   * @param id
   */
  @Override
  public void generateOneqrCode(HttpServletResponse resp, String id) {
    if (TextUtil.isNotEmpty(id)) {
      ServletOutputStream stream = null;
      try {
        int width = 200;//图片的宽度
        int height = 200;//图片的高度
        stream = resp.getOutputStream();
        QRCodeWriter writer = new QRCodeWriter();
        BitMatrix m = writer.encode(id, BarcodeFormat.QR_CODE, height, width);
        //以流的方式输出到前台,action中return null就可以
        MatrixToImageWriter.writeToStream(m, "png", stream);
      } catch (IOException e) {
        e.printStackTrace();
      } catch (WriterException e1) {
        e1.printStackTrace();
      } finally {
        if (stream != null) {
          try {
            stream.flush();
            stream.close();
          } catch (IOException e) {
            e.printStackTrace();
          }
        }
      }
    }
  }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# google  # zxing  # 二维码  # java  # zxing生成二维码  # 生成二维码  # Java利用Zxing生成二维码的简单实例  # java中使用zxing批量生成二维码立牌  # java ZXing生成二维码及条码实例分享  # java中ZXing 生成、解析二维码图片的小示例  # Java中基于maven实现zxing二维码功能  # 基于google zxing的Java二维码生成与解码  # Java基于zxing生成二维码矩阵过程解析  # java zxing合成复杂二维码图片示例详解  # Java使用Zxing二维码生成的简单示例  # Java基于Google zxing生成带logo的二维码图片  # 的是  # 多个  # 所需  # 用过  # 并以  # 请用  # 大家多多  # 就可以  # 请输入关键字  # title  # meta  # head  # Content  # Type  # http  # equiv  # getScheme  # basePath  # getContextPath  # getServerName 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: ChatGPT回答中断怎么办 引导AI继续输出完整内容的方法  国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?  Laravel如何使用Gate和Policy进行授权?(权限控制)  微信小程序 五星评分(包括半颗星评分)实例代码  香港服务器网站卡顿?如何解决网络延迟与负载问题?  Laravel如何实现API速率限制?(Rate Limiting教程)  Laravel怎么实现前端Toast弹窗提示_Laravel Session闪存数据Flash传递给前端【方法】  如何正确下载安装西数主机建站助手?  python中快速进行多个字符替换的方法小结  Laravel中间件如何使用_Laravel自定义中间件实现权限控制  利用 Google AI 进行 YouTube 视频 SEO 描述优化  千库网官网入口推荐 千库网设计创意平台入口  Laravel如何为API生成Swagger或OpenAPI文档  如何在云主机上快速搭建网站?  如何用西部建站助手快速创建专业网站?  Laravel如何实现用户注册和登录?(Auth脚手架指南)  Laravel如何记录自定义日志?(Log频道配置)  ,交易猫的商品怎么发布到网站上去?  Laravel如何生成API文档?(Swagger/OpenAPI教程)  linux top下的 minerd 木马清除方法  Laravel队列任务超时怎么办_Laravel Queue Timeout设置详解  javascript中的try catch异常捕获机制用法分析  免费视频制作网站,更新又快又好的免费电影网站?  晋江文学城电脑版官网 晋江文学城网页版直接进入  详解vue.js组件化开发实践  EditPlus中的正则表达式 实战(2)  如何快速重置建站主机并恢复默认配置?  phpredis提高消息队列的实时性方法(推荐)  高端企业智能建站程序:SEO优化与响应式模板定制开发  西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?  微信小程序 wx.uploadFile无法上传解决办法  Laravel Facade的原理是什么_深入理解Laravel门面及其工作机制  Laravel怎么进行浏览器测试_Laravel Dusk自动化浏览器测试入门  Win11怎么开启自动HDR画质_Windows11显示设置HDR选项  Laravel如何操作JSON类型的数据库字段?(Eloquent示例)  安克发布新款氮化镓充电宝:体积缩小 30%,支持 200W 输出  三星网站视频制作教程下载,三星w23网页如何全屏?  网站制作免费,什么网站能看正片电影?  Laravel怎么使用Session存储数据_Laravel会话管理与自定义驱动配置【详解】  uc浏览器二维码扫描入口_uc浏览器扫码功能使用地址  Laravel表单请求验证类怎么用_Laravel Form Request分离验证逻辑教程  Laravel怎么使用artisan命令缓存配置和视图  Linux后台任务运行方法_nohup与&使用技巧【技巧】  Laravel怎么返回JSON格式数据_Laravel API资源Response响应格式化【技巧】  Python制作简易注册登录系统  微信小程序 HTTPS报错整理常见问题及解决方案  Laravel的路由模型绑定怎么用_Laravel Route Model Binding简化控制器逻辑  如何在 Pandas 中基于一列条件计算另一列的分组均值  详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)  如何在阿里云部署织梦网站?