Java网站链接(URL)生成相应二维码。

来源:互联网 发布:python 函数是对象 编辑:程序博客网 时间:2024/06/03 10:04

QR 码最常见的应用便是为网站中一个特定的网页或下载页带来流量。因此,QR码常常会编码URL或网站地址,用户可以通过手机摄像头扫描,并在其浏览器中打开。URL可以直接编码在QR码中。

下面是使用QRGen和ZXing库来创建QR码的一个简单的HTTP Servlet的。QR码的内容可以由用户提供。



maven依赖配置

    <!-- https://mvnrepository.com/artifact/net.glxn.qrgen/javase -->      <dependency>          <groupId>net.glxn.qrgen</groupId>          <artifactId>javase</artifactId>          <version>2.0</version>      </dependency>  

index.jsp   (二维码显示的jsp页面)

<img src="getCloudAutQRCode.action?url=url地址"/>


在这里,我们使用QRGen和ZXing从request.getParameter得到的文本生成QR码。一旦生成QR码流,我们就写入response中并设置适当的content-type

import java.io.ByteArrayOutputStream;  import java.io.IOException;  import java.io.OutputStream;     import javax.servlet.ServletException;  import javax.servlet.http.HttpServlet;  import javax.servlet.http.HttpServletRequest;  import javax.servlet.http.HttpServletResponse;    import net.glxn.qrgen.core.image.ImageType;  import net.glxn.qrgen.javase.QRCode;        /** * 云权限生成二维码 * @author shen.guoliang * @version 1.0, 2017年5月22日 * @param response * @param request * @param session * @return参数说明 * @throws IOException  * @see[类,类#方法,类#成员] * @since[产品/模块版本] 表示从那个版本开始就有这个方法 */@RequestMapping("getCloudAutQRCode.action")public void getCloudAutQRCode(HttpServletResponse response, HttpServletRequest request, HttpSession session) throws IOException{String url = request.getParameter("url");System.out.println(url);ByteArrayOutputStream out = QRCode.from(url).to(ImageType.PNG).stream();             response.setContentType("image/png");          response.setContentLength(out.size());             OutputStream outStream = response.getOutputStream();             outStream.write(out.toByteArray());             outStream.flush();        outStream.close();  }


以上代码的前提是,配置好springmvc请求映射条件。