<%@ page contentType="text/html;charset=UTF-8" language="java"
pageEncoding="UTF-8" %>
生成二维码生成二维码
输入文本:
这是jsp
这是servlet
package a02a;
import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import javax.imageio.ImageIO;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.swetake.util.Qrcode;
/**
- Servlet implementation class a02a_zhao
- /
@WebServlet("/qrcode")
public class a02a_zhao extends HttpServlet {
private static final long serialVersionUID = 1L;
/**- @see HttpServlet#HttpServlet
- /
public a02a_zhao() {
super();
}
/** - @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
- /
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
//指定信息生成二维码,获取code
String code = request.getParameter("code");
Qrcode testQrcode = new Qrcode();
//设置二维码的排错率,可选L(7%),M(15%),Q(25%),H(30%)
//排错率越高能存储的信息越少,但对二维码的清晰度要求越高
testQrcode.setQrcodeErrorCorrect('M');
//设置编码模式,N为数字,A为英文字母,B为二进制,K为汉字
testQrcode.setQrcodeEncodeMode('B');
//设置二维码尺寸,范围为1到40,值越大,尺寸越大,信息越多
testQrcode.setQrcodeVersion(7);
byte[] d= code.getBytes(StandardCharsets.UTF_8);
BufferedImage image = new BufferedImage(100,100,BufferedImage.TYPE_BYTE_BINARY);
Graphics2D g = image.createGraphics();
g.setBackground(Color.white);
g.clearRect(0,0,100,100);
g.setColor(Color.BLACK);
if (d.length > 0 && d.length < 120)
{ boolean[][] s = testQrcode.calQrcode(d);
for (int i = 0; i < s.length; i++){
for (int j = 0; j < s.length; j++){
if(s[j][i])
{
g.fillRect(j*2+3,i*2+3,2,2);
}
}
}
g.dispose();
image.flush();
ImageIO.write(image,"jpg",response.getOutputStream());
}
}
}
总是报404
404是什么你知道吗,你知道就能解决问题了