二维码又称QR Code,QR全称Quick Response,是一个近几年来移动设备上超流行的一种编码方式,它比传统的Bar Code条形码能存更多的信息,也能表示更多的数据类型。
二维条码/二维码(2-dimensional bar code)是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的;在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理:它具有条码技术的一些共性:每种码制有其特定的字符集;每个字符占有一定的宽度;具有一定的校验功能等。同时还具有对不同行的信息自动识别功能、及处理图形旋转变化点。
优点
1.高密度编码,信息容量大。
2.编码范围广。
3.容错能力强,具有纠错功能。
4.译码可靠性高。
5.可引入加密措施。
6.成本低,易制作,持久耐用。
特点
1.高密度编码,信息容量大:可容纳多达1850个大写字母或2710个数字或1108个字节,或500多个汉字,比普通条码信息容量约高几十倍。
2.编码范围广:该条码可以把图片、声音、文字、签字、指纹等可以数字化的信息进行编码,用条码表示出来;可以表示多种语言文字;可表示图像数据。
3.容错能力强,具有纠错功能:这使得二维条码因穿孔、污损等引起局部损坏时,照样可以正确得到识读,损毁面积达50%仍可恢复信息。
4.译码可靠性高:它比普通条码译码错误率百万分之二要低得多,误码率不超过千万分之一。
5.可引入加密措施:保密性、防伪性好。
6.成本低,易制作,持久耐用。
7.条码符号形状、尺寸大小比例可变。
8.二维条码可以使用激光或CCD阅读器识读。
使用JAVA生成二维码步骤
1)引入Maven坐标
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>core</artifactId>
<version>3.0.0</version>
</dependency>
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>javase</artifactId>
<version>3.0.0</version>
</dependency>
2)编写核心工具类以及Servlet
import java.io.IOException;
import java.util.Hashtable;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.EncodeHintType;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.WriterException;
import com.google.zxing.common.BitMatrix;
public class MatrixToImageServlet extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {
static final long serialVersionUID = 1L;
public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expires", 0);
response.setContentType("image/jpeg");
//存入会话session
// HttpSession session = request.getSession(true);
String text = "二维码内容:http://gaojingsong.iteye.com/"; // 二维码内容
int width = 300; // 二维码图片宽度
int height = 300; // 二维码图片高度
String format = "gif";// 二维码的图片格式
Hashtable<EncodeHintType, String> hints = new Hashtable<EncodeHintType, String>();
hints.put(EncodeHintType.CHARACTER_SET, "utf-8"); // 内容所使用字符集编码
BitMatrix bitMatrix = null;
try {
bitMatrix = new MultiFormatWriter().encode(text, BarcodeFormat.QR_CODE, width, height, hints);
} catch (WriterException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// 生成二维码
MatrixToImageWriterUtils.writeToStream(bitMatrix, format, response.getOutputStream());
}
}
3)配置Servlet
<servlet>
<servlet-name>MyMatrixToImage</servlet-name>
<servlet-class>MatrixToImageServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MyMatrixToImage</servlet-name>
<url-pattern>/qrCode</url-pattern>
</servlet-mapping>
4)验证
原创不易,欢迎打赏,请认准正确地址,谨防假冒
相关推荐
本篇将详细介绍如何在Java中生成二维码以及如何将生成的二维码转换为Base64编码。 首先,我们来看如何在Java中生成二维码。Java中常用的二维码生成库有`ZXing (Zebra Crossing)`和`javapns`。这里以`ZXing`为例,它...
1.通过QRCode.jar包生成二维码,可设置二维码图片格式,二维码图片存放路径,二维码尺寸,二维码颜色 2.二维码扫描内容分为两种,1种为链接式,如:www.zdkc.com,通过链接展示访问的内容,1种为json数据展示,通过...
Java作为一款流行的编程语言,提供了丰富的库和API来处理二维码生成与解析。同时,Base64是一种用于在网络上传输二进制数据的编码方式,它将二进制数据转化为可打印的ASCII字符。现在我们详细探讨如何在Java中实现...
在Java编程环境中,生成二维码并将其保存到本地是一项常见的任务,尤其在移动互联网应用、数据交换和物联网场景中。二维码(Quick Response Code)作为一种高效的信息载体,能够存储大量的文本、URL或其他数据,便于...
Java QRCode二维码生成与识别是Java编程领域中的一个重要技术,主要应用于数据编码和快速信息交换。QRCode(Quick Response Code)是一种二维条码,能够存储大量的文本信息,包括字母、数字、汉字等,并且可以被各种...
在Java编程语言中生成二维码(QR Code)是一项常见的任务,特别是在移动应用、网站链接分享、电子票务等领域。本文将详细介绍如何使用Java来创建二维码,以及一个名为2Code的可运行项目,帮助开发者快速理解并实践这...
在本文中,我们将深入探讨如何使用Java实现二维码批量打印,主要基于给定的标题"java 实现二维码批量打印"和描述中的技术环境。首先,我们要理解二维码(Quick Response Code)是一种二维条码,能存储大量数据,常...
在支付与交易方面,二维码支付已成为现代支付方式之一,用户通过扫描商家生成的付款二维码完成支付过程;签到和门禁管理中,二维码可实现电子签到和入场管理,减少排队及纸质票据使用;社交媒体推广中,通过扫描个人...
Java二维码生成工具是一种基于Java编程语言的实用程序,它能够帮助开发者创建二维码图像,以便在各种应用场景中使用,如信息传递、网址链接、名片交换等。二维码作为一种高效的数据编码方式,已经广泛应用于现代生活...
在Java编程环境中,生成带有logo的二维码是一种常见的需求,尤其在品牌推广或个性化设计中。本文将详细讲解如何使用Java实现这一功能,并确保logo居中且大小可调,以达到完美的视觉效果。 首先,我们需要引入生成...
### 基于Java的二维码识别系统知识点概述 #### 二维码技术的演进与应用 一维条码自诞生以来,极大地推动了生产和生活方式的变革,然而其信息存储量有限、过度依赖数据库等缺陷,逐渐无法满足现代社会对信息记录与...
Java二维码生成技术是一种在软件开发中常用的功能,它允许我们将数据编码成二维图像,以便于快速扫描和读取。Qrcode(二维码)是日本Denso Wave公司发明的一种矩阵式条形码,相比于传统的条形码,它能存储更多的数据...
这是一个基于java开发的二维码生成与解析 可以根据程序配置的参数设置生成二维码的图片大小 以及密度 这是一个基于java开发的二维码生成与解析 可以根据程序配置的参数设置生成二维码的图片大小 以及密度 这是一个...
在Java编程环境中,生成二维码是一项常见的任务,尤其在移动应用、数据交换和信息展示等领域有着广泛的应用。要实现这个功能,通常需要引入第三方库。在这个压缩包中,包含了一个名为"demo"的示例文件,这很可能是...
利用java自动识别图片中的二维码并解析二维码中的数据利用java自动识别图片中的二维码并解析二维码中的数据利用java自动识别图片中的二维码并解析二维码中的数据利用java自动识别图片中的二维码并解析二维码中的数据...
Java作为一种跨平台的编程语言,提供了多种库来实现二维码的生成,其中ZXing(Zebra Crossing)是一个非常流行的开源项目,专门用于处理一维条形码和二维条形码,包括二维码的生成与解析。 ZXing,即“斑马线”,...
四、Java二维码生成包功能: 1. **生成二维码**:该代码包提供了API接口,允许开发者输入文本、URL或其他数据,自定义生成二维码的大小、颜色、纠错级别等参数。 2. **解码读取**:除了生成,这个包还支持解码功能,...
在Java开发中,生成二维码和将二维码转换为Base64字符串是常见的需求,尤其是在与前端交互时。这个项目提供了一种方便的方式,通过Maven依赖来实现这些功能,并且包括了一个工具类,使得操作更加简单易用。接下来,...
在Java编程环境中,生成二维码是一项常见的任务,尤其在移动应用、数据交换或物联网(IoT)场景中。本文将深入探讨如何使用Java来创建二维码,以及如何利用提供的jar包和源码实现这一功能。 首先,二维码(Quick ...