日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

servlet+ajax在线生成二维码

發布時間:2024/1/1 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 servlet+ajax在线生成二维码 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前幾天博主寫了一篇在線生成二維碼的文章,因為是在文件上傳案例中的基礎上寫的Demo,所以使用的是Spring+springMVC框架寫的。有小朋友說搭建框架太麻煩,所以博主特意把代碼摘出來,使用最原始的servlet+ajax實現二維碼在線生成不使用任何框架。

很久沒寫原生的servlet代碼感覺有點難受...廢話不多說,直接上代碼。提醒一下博主用的是idea開發工具

因為是調用第三方在線生成二維碼首先我們找到一個在線生成二維碼的api接口,因為這樣的api接口有許多,這里我提供一個參考鏈接接口:

http://www.liantu.com/pingtai/

第一步:創建一個web工程項目,項目名字自取也可以和我一樣,我的是createQrCode倒入的jar包也是結構圖中所示。

?第二步:這里我直接將index.jsp頁面改了,項目啟動直接跳轉到index頁面,也就是二維碼生成頁面。

<%--Created by IntelliJ IDEA.User: YYBJDate: 2018/7/26Time: 17:22To change this template use File | Settings | File Templates. --%><%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <html> <head><script src="http://libs.baidu.com/jquery/1.11.3/jquery.min.js"></script><title>Title</title><script type="text/javascript">function getQrCode() {var shortUrl = document.getElementById("shortUrl").value;console.log(shortUrl)$.ajax({url:"/DemoQrCode",type:"GET",cache:false,data:{shortUrl:shortUrl},success:function (data) {alert(data);var ev = eval('(' + data + ')');document.getElementById("imgSrc").src=ev.imgSrc;}})}</script> </head> <body> <h2>生成二維碼</h2> <form ><table><tr><td>請輸入鏈接:</td><td><input type="text" name="shortUrl" id="shortUrl" value="${QrCode.shortUrl}"></td></tr><tr><img id="imgSrc" src="${QrCode.imgSrc}" /></tr><tr><td><input type="button" value="生成二維碼" onclick="getQrCode()"></td></tr></table> </form> </body> </html>

注意:ajax的寫法:后臺返回的是json數據我們需要將json數據賦值到<img>標簽中,這里怎么取值怎么賦值的建議你了解一下。這里博主自己寫的時候也有點懵。因為沒使用框架,數據的取出還是有點麻煩。

第三步:修改web.xml文件

<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"version="3.1"><servlet><servlet-name>DemoQrCode</servlet-name><servlet-class>cn.yybj.action.DemoQrCode</servlet-class></servlet><servlet-mapping><servlet-name>DemoQrCode</servlet-name><url-pattern>/DemoQrCode</url-pattern></servlet-mapping> </web-app>

?第四步:創建實體類和controller類

實體類:

package cn.yybj.action;/*** Created by YYBJ on 2018/8/1.* ZCL*/ public class QrCode {private String shorUrl;private String imgSrc;public String getShorUrl() {return shorUrl;}public void setShorUrl(String shorUrl) {this.shorUrl = shorUrl;}public String getImgSrc() {return imgSrc;}public void setImgSrc(String imgSrc) {this.imgSrc = imgSrc;}@Overridepublic String toString() {return "QrCode{" +"shorUrl='" + shorUrl + '\'' +", imgSrc='" + imgSrc + '\'' +'}';} }

?為了方便實體類和controller類就放到一起了。

package cn.yybj.action;import com.google.gson.Gson;import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException;/*** Created by YYBJ on 2018/8/1.* ZCL*/ public class DemoQrCode extends HttpServlet {@Overridepublic void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {req.setCharacterEncoding("UTF-8");System.out.println("================");//獲取請求參數String shortUrl = req.getParameter("shortUrl");System.out.println(shortUrl);String imgSrc = req.getParameter("imgSrc");//這里就是第三方api的調用和拼接了imgSrc="http://qr.liantu.com/api.php?text="+shortUrl;QrCode qrCode = new QrCode();//qrCode.setShorUrl(shortUrl);qrCode.setImgSrc(imgSrc);System.out.println(imgSrc);Gson gson = new Gson();String json = gson.toJson(qrCode);resp.getWriter().print(json);}@Overridepublic void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {super.doPost(req, resp);} }

第五步:配置Tomcat,這個沒什么 沒什么可說的,主要是將項目放入Tomcat啟動就行了。

第六步:啟動測試:直接跳轉到index頁面也就是如下頁面。若跳轉不到看看Tomcat路徑和action的請求及servlet路徑是否正確

到此測試完成希望能幫助到你;

版權聲明:本文為博主原創文章,轉載請說明轉載來源。https://blog.csdn.net/weixin_41092717/article/details/81333211

總結

以上是生活随笔為你收集整理的servlet+ajax在线生成二维码的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。