1.servlet代码 二维码生成详见我的博客https://blog.csdn.net/u014161595/article/details/109764995
package qrcode.test; import com.google.zxing.WriterException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.BufferedOutputStream; import java.io.IOException; public class PrintImageServlet extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String path = request.getServletContext().getRealPath("/images"); response.setContentType("image/jpeg"); byte[] content= new byte[0]; try { content = TestQrcode.getQRCodeImage("http://www.baidu.com", 200, 200); } catch (WriterException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } BufferedOutputStream out = new BufferedOutputStream( response.getOutputStream()); out.write(content); out.close(); } }
2.web.xml配置servlet <servlet> <servlet-name>printImageServlet</servlet-name> <servlet-class>qrcode.test.PrintImageServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>printImageServlet</servlet-name> <url-pattern>/printImageServlet</url-pattern> </servlet-mapping>
3.页面引用
<%@ taglib prefix="s" uri="/struts-tags" %> <%-- Created by IntelliJ IDEA. User: xgjj6 Date: 2020/11/18 Time: 16:29 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" pageEncoding="utf-8" %> <html> <head> <title>测试二维码</title> </head> <body> <div> 二维码显示 </div> <div> <img src="<%=request.getContextPath() %>/printImageServlet"> <%--<s:action name="qrcode!getQrcode.action" namespace="/"></s:action>--%> </div> </body> </html>