JAVA-EE verwendet ZXing, das auf GitHub gepackt ist, um QR-Codes zu generieren ------ Computer Network Classic

package com.powernode.qrcode.servlet;

import com.github.hui.quick.plugin.qrcode.wrapper.QrCodeGenWrapper;
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.MultipartConfig;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;

import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.IOException;

@WebServlet("/generateWithQrCode")
//fileSizeThreshold文件大小达到后自动上传
//maxFileSize最大文件大小
//maxRequestSize最大请求大小
@MultipartConfig(fileSizeThreshold = 1024 * 1024 * 10,maxFileSize = 1024 * 1024 * 10,maxRequestSize = 1024 * 1024 * 10)
public class generateWithQrCode extends HttpServlet
{
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        try{
//        获取文本内容
            String url = request.getParameter("url");
//        生成二维码
            BufferedImage image = QrCodeGenWrapper.of(url).asBufferedImage();
//        响应内容到浏览器
            ImageIO.write(image,"PNG",response.getOutputStream());
        }
        catch(Exception e){
            e.printStackTrace();
        }
    }
}
Paket com.powernode.qrcode.servlet;

import com.github.hui.quick.plugin.qrcode.wrapper.QrCodeGenWrapper;
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.MultipartConfig;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;

import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.IOException;

@WebServlet("/generateWithQrCode")
//fileSizeThreshold lädt die Datei automatisch hoch, wenn die Größe erreicht ist
//maxFileSize maximale Dateigröße
//maxRequestSize maximale Anfragegröße
@MultipartConfig(fileSizeThreshold = 1024 * 1024 * 10,maxFileSize = 1024 * 1024 * 10,maxRequestSize = 1024 * 1024 * 10)
Die öffentliche Klasse „generateWithQrCode“ erweitert HttpServlet
{
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse Response) löst ServletException, IOException {
        versuchen{
// Textinhalt abrufen
            String url = request.getParameter("url");
// QR-Code generieren
            BufferedImage image = QrCodeGenWrapper.of(url).asBufferedImage();
//Antwortinhalt an den Browser
            ImageIO.write(image,"PNG",response.getOutputStream());
        }
        Catch(Ausnahme e){
            e.printStackTrace();
        }
    }
}
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.powernode</groupId>
    <artifactId>MyQrCode</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>war</packaging>

    <dependencies>
<!--        Servlet依赖-->
        <dependency>
            <groupId>jakarta.servlet</groupId>
            <artifactId>jakarta.servlet-api</artifactId>
            <version>6.0.0</version>
            <scope>provided</scope>
        </dependency>
<!--        GITHUB项目-->
        <dependency>
            <groupId>com.github.liuyueyi.media</groupId>
            <artifactId>qrcode-plugin</artifactId>
            <version>2.5.2</version>
        </dependency>
<!--        zxing依赖-->
        <dependency>
            <groupId>com.google.zxing</groupId>
            <artifactId>javase</artifactId>
            <version>3.1.0</version>
        </dependency>
<!--        core依赖-->
        <dependency>
            <groupId>com.google.zxing</groupId>
            <artifactId>core</artifactId>
            <version>3.1.0</version>
        </dependency>
<!--        commons-lang的依赖-->
        <dependency>
            <groupId>commons-lang</groupId>
            <artifactId>commons-lang</artifactId>
            <version>2.6</version>
        </dependency>
<!--        JSP依赖-->
        <dependency>
            <groupId>jakarta.servlet.jsp</groupId>
            <artifactId>jakarta.servlet.jsp-api</artifactId>
            <version>4.0.0-M1</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>

    <properties>
        <maven.compiler.source>17</maven.compiler.source>
        <maven.compiler.target>17</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

</project>
<?xml version="1.0"kodierung="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.powernode</groupId>
    <artifactId>MyQrCode</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>war</packaging>

    <Abhängigkeiten>
<!-- Servlet-Abhängigkeiten-->
        <Abhängigkeit>
            <groupId>jakarta.servlet</groupId>
            <artifactId>jakarta.servlet-api</artifactId>
            <version>6.0.0</version>
            <scope>bereitgestellt</scope>
        </Abhängigkeit>
<!-- GITHUB-Projekt-->
        <Abhängigkeit>
            <groupId>com.github.liuyueyi.media</groupId>
            <artifactId>qrcode-plugin</artifactId>
            <version>2.5.2</version>
        </Abhängigkeit>
<!-- zxing dependency-->
        <Abhängigkeit>
            <groupId>com.google.zxing</groupId>
            <artifactId>javase</artifactId>
            <version>3.1.0</version>
        </Abhängigkeit>
<!-- Kernabhängigkeit -->
        <Abhängigkeit>
            <groupId>com.google.zxing</groupId>
            <artifactId>Kern</artifactId>
            <version>3.1.0</version>
        </Abhängigkeit>
<!-- dependencies of commons-lang -->
        <Abhängigkeit>
            <groupId>commons-lang</groupId>
            <artifactId>commons-lang</artifactId>
            <version>2.6</version>
        </Abhängigkeit>
<!-- JSP-Abhängigkeit -->
        <Abhängigkeit>
            <groupId>jakarta.servlet.jsp</groupId>
            <artifactId>jakarta.servlet.jsp-api</artifactId>
            <version>4.0.0-M1</version>
            <scope>bereitgestellt</scope>
        </Abhängigkeit>
    </Abhängigkeiten>

    <Eigenschaften>
        <maven.compiler.source>17</maven.compiler.source>
        <maven.compiler.target>17</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

</Projekt>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<form action="/generateWithQrCode" method="post" enctype="multipart/form-data">
    请输入文本内容:<input type="text" name="url"/><br>
    请选择图片:<input type="file" name="logo"/><br>
    <hr>
    <input type="submit" value="生成二维码"/>
</form>
</body>
</html>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<Kopf>
    <title>Titel</title>
</head>
<Körper>
<form action="/generateWithQrCode" method="post" enctype="multipart/form-data">
    Bitte geben Sie den Textinhalt ein:<input type="text" name="url"/><br>
    Bitte wählen Sie ein Bild aus:<input type="file" name="logo"/><br>
    <hr>
    <input type="submit" value="QR-Code generieren"/>
</form>
</body>
</html>

Guess you like

Origin blog.csdn.net/2201_75960169/article/details/135342776