SpringMVC将url生成二维码图片直接展示在页面上

简介: 利用google的开源包zxing生成二维码 第一步:maven项目的zxing依赖 1 2 3 com.google.zxing 4 core 5 3.

利用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>
View Code

第二步: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>
View Code

第三步:生成二维码的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     }
View Code

第四步:效果展示

相关文章
|
2月前
|
Java
Java开发实现图片URL地址检验,如何编码?
【10月更文挑战第14天】Java开发实现图片URL地址检验,如何编码?
91 4
|
1月前
|
存储 缓存 网络协议
计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点,GET、POST的区别,Cookie与Session
计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点、状态码、报文格式,GET、POST的区别,DNS的解析过程、数字证书、Cookie与Session,对称加密和非对称加密
|
1月前
|
域名解析 缓存 网络协议
浏览器中输入URL返回页面过程(超级详细)、DNS域名解析服务,TCP三次握手、四次挥手
浏览器中输入URL返回页面过程(超级详细)、DNS域名解析服务,TCP三次握手、四次挥手
|
3月前
|
数据采集 存储 前端开发
Java爬虫开发:Jsoup库在图片URL提取中的实战应用
Java爬虫开发:Jsoup库在图片URL提取中的实战应用
|
4月前
|
网络协议 前端开发 JavaScript
浏览器加载网页的幕后之旅:从URL到页面展示详解
【8月更文挑战第31天】当在浏览器地址栏输入URL并回车后,一系列复杂过程随即启动,包括DNS解析、TCP连接建立、HTTP请求发送、服务器请求处理及响应返回,最后是浏览器页面渲染。这一流程涉及网络通信、服务器处理和客户端渲染等多个环节。通过示例代码,本文详细解释了每个步骤,帮助读者深入理解Web应用程序的工作机制,从而在开发过程中作出更优决策。
75 5
|
4月前
|
缓存 前端开发 JavaScript
输入URL到页面渲染的全过程
输入URL到页面渲染的全过程
37 1
|
4月前
|
JavaScript Linux 应用服务中间件
【Azure 应用服务】FTP 部署 Vue 生成的静态文件至 Linux App Service 后,访问App Service URL依旧显示Azure默认页面问题
【Azure 应用服务】FTP 部署 Vue 生成的静态文件至 Linux App Service 后,访问App Service URL依旧显示Azure默认页面问题
|
4月前
|
API UED 开发者
Vaadin路由魔法:导航之舟,带你穿越页面迷宫!驾驭神奇URL,解锁无限可能!
【8月更文挑战第31天】Vaadin是一款现代Java Web开发框架,其路由机制结合前后端路由,确保流畅的用户体验和高效服务器资源利用。通过`@Route`注解和`Router`类,开发者可以轻松定义和管理页面路径。例如,`@Route(&quot;home&quot;)`可指定视图路径,而参数化路由如`@Route(&quot;user/:userId&quot;)`则允许URL传参。此外,Vaadin还提供了丰富的导航API和自定义路由事件监听器,助力开发者构建结构清晰且体验优秀的Web应用。
64 0
|
4月前
|
缓存 网络协议 JavaScript
面试常考题:输入url到页面渲染发生了什么?(前半段)
面试常考题:输入url到页面渲染发生了什么?(前半段)
|
4月前
|
JavaScript 前端开发 网络协议
面试常考题: 输入url到页面渲染发生了什么(后半段)
面试常考题: 输入url到页面渲染发生了什么(后半段)