1、导入依赖
<!--添加二维码生成相关的jar包-->
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>javase</artifactId>
<version>3.2.1</version>
</dependency>
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>core</artifactId>
<version>3.2.1</version>
</dependency>
2、编写controller
/**
* 生成二维码方法
*
* @param url 访问链接,即扫描二维码,跳转到该连接。
* @param resp response对象
* @throws Exception 抛出异常
*/
public void getQrcode(String url, HttpServletResponse resp) throws Exception {
ServletOutputStream stream = null;
try {
stream = resp.getOutputStream();
QRCodeWriter qrCodeWriter = new QRCodeWriter();
BitMatrix bm = qrCodeWriter.encode(url, BarcodeFormat.QR_CODE, 300, 300);
MatrixToImageWriter.writeToStream(bm, "png", stream);
} catch (WriterException e) {
e.getStackTrace();
} finally {
if (stream != null) {
stream.flush();
stream.close();
}
}
}
/**
* 生成二维码
*
* @param url url
* @param response response对象
*/
@RequestMapping(value = "/getEquipmentQrcode", method = RequestMethod.GET)
public void getEquipmentQrcode(String url, HttpServletResponse response) {
if (StringUtils.isEmpty(url)) {
//生成二维码
url = "https://www.baidu.com/";
}
try {
getQrcode(url, response);
} catch (Exception e) {
e.printStackTrace();
}
}
}