实战练习之Java实现二维码(Zxing.jar)

使用开发工具SpringToolSuite.exe ,自带SpringBoot框架,开发过程中管理Jar包更方便简洁。
实现思路:引入Jar包—>配置文件—>实现后台方法—>编写前台获取信息页面
1、配置了Maven环境,所以只需要在pom.xml配置上所需的相应Jar包的信息即可(引入Jar包—>配置文件在这一步实现)。此次使用的是Google的zxing包,将<dependency>放在<dependencies>中

<dependency>  
            <groupId>com.google.zxing</groupId>  
            <artifactId>javase</artifactId>  
            <version>3.0.0</version>  
        </dependency>

2、实现二维码,此方法可以根据输入的二维码内容、宽、发哦、存放位置、生成图片名称来生成二维码 。文件名:PageController.java

/**
     * 二维码
     * 
     * @throws IOException
     */
    @RequestMapping("/code")  
        //与请求名称匹配
    public ModelAndView qrCode(String content, String width, String height, String name) throws IOException { //获取前台传参
        // 定义跳转的页面
        ModelAndView mav = new ModelAndView("/qrCode");
        //验证信息
        if(null == content) {
            mav.addObject("message", "请输入要生成二维码的内容。");
            return mav;
        }
        if(null == width||null == height) {
            mav.addObject("message", "请输入二维码的宽和高。");
            return mav;
        }
        if(null == name) {
            mav.addObject("message", "请输入生成图片的名字。");
            return mav;
        } 
        try {
            //生成并输出二维码
            QRCodeWriter writer = new QRCodeWriter();
            BitMatrix martix = writer.encode(content, BarcodeFormat.QR_CODE, Integer.valueOf(width), Integer.valueOf(height)); // 二维码内容,宽,高
            Path path = FileSystems.getDefault().getPath("E:\\qrCode", name); // 输出路径,生成图片名称
            MatrixToImageWriter.writeToPath(martix, "png", path);// 输出图像,定义输出格式 
            mav.addObject("message", "二维码生成成功,存放在:E:\\qrCode\\"+name+".png");
        } catch (WriterException e) {

        }
        return mav;
    }

3、前台页面用于获取信息,文件名:qrCode.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>二维码</title>
</head>
<body>
    <form method='post' action='/code'>
    <table>
        <tr>
            <td>内容</td>
            <td><input type="text" name="content"></td>
        </tr>
        <tr>
            <td>宽</td>
            <td><input type="text" name="width"></td>
        </tr>
        <tr>
            <td>高 </td>
            <td><input type="text" name="height"></td>
        </tr>
        <tr>
            <td>图片名称</td>
            <td><input type="text" name="name"></td>
        </tr>
        <tr><td><input type="submit" value="生成二维码"
            class="btn" /></td></tr>
    </table>
    </form>
    ${message} 
    </body>
</html>

《实战练习之Java实现二维码(Zxing.jar)》
《实战练习之Java实现二维码(Zxing.jar)》
《实战练习之Java实现二维码(Zxing.jar)》
《实战练习之Java实现二维码(Zxing.jar)》

点赞