【微信开发】SpringMVC将url生成二维码图片直接展示在页面上

利用google的开源包zxing生成二维码

第一步:maven项目的zxing依赖

复制代码

 1 <!-- google zxing 生成二维码 -->
 2 <dependency>
 3     <groupId>com.google.zxing</groupId>
 4     <artifactId>core</artifactId>
 5     <version>3.2.1</version>
 6 </dependency>
 7  <dependency>
 8           <groupId>com.google.zxing</groupId>
 9           <artifactId>javase</artifactId>
10           <version>3.2.0</version>
11  </dependency>

复制代码

第二步:jsp页面上写上调用生成二维码的controller图片标签

复制代码

 1 <%@page import="sun.tools.tree.ThisExpression"%>
 2 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
 3 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 4 <html>
 5     <head>
 6         <title></title>
 7     </head>
 8     <body>
 9         <h1>微信扫码支付,请扫下面二维码</h1>
10         <img class="q_code" src="<%=this.getServletContext().getContextPath() %>/services/wapwxdemo/getErWeiCode" />
11     </body>
12 </html>

复制代码

第三步:生成二维码的controller方法

复制代码

 1 /**
 2      * 生成二维码,返回到页面上
 3      * @param response
 4      */
 5     @RequestMapping(value="/getErWeiCode",method={RequestMethod.POST,RequestMethod.GET} )
 6     public void getErWeiCode(HttpServletResponse response){
 7         String url="www.baidu.com";
 8         if(url!=null&&!"".equals(url)){
 9             ServletOutputStream stream=null;
10             try {
11                 int width=200;
12                 int height=200;
13                 stream=response.getOutputStream();
14                 QRCodeWriter writer=new QRCodeWriter();
15                 BitMatrix m=writer.encode(url, BarcodeFormat.QR_CODE, height,width);
16                 MatrixToImageWriter.writeToStream(m, "png", stream);
17             } catch (Exception e) {
18                 // TODO: handle exception
19                 e.printStackTrace();
20             }finally{
21                 if(stream!=null){
22                     try {
23                         stream.flush();
24                         stream.close();
25                     } catch (IOException e) {
26                         // TODO Auto-generated catch block
27                         e.printStackTrace();
28                     }
29                     
30                 }
31             }
32         }
33     }

复制代码

 

第四步:效果展示

 

 

 

如果用HTML  直接将<img>的src属性设置为url

欢迎关注公众号:

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值