Code

1、生成條碼的servlet代碼:
import java.io.IOException;
 
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
import com.google.zxing.BarcodeFormat;
import com.google.zxing.WriterException;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.oned.Code128Writer;
 
/** 
 * @Description: 生成條碼(CODE128格式)  */
public class BarCode1DServlet extends HttpServlet {
 
         /**   
          * @Fields serialVersionUID : defaultserialVersionUID 
          */ 
         privatestatic final long serialVersionUID = 1L;
         
         privatestatic final String KEY = "keycode";
         privatestatic final String WIDTH = "mwidth";
         privatestatic final String HEIGHT = "mheight";
         privatestatic final String IMAGETYPE = "JPEG";
 
         @Override
         protectedvoid doGet(HttpServletRequest req, HttpServletResponse resp)
                          throwsServletException, IOException {
                 Stringkeycode = req.getParameter(KEY);
                 if(keycode != null && !"".equals(keycode)) {
                          ServletOutputStreamstream = null;
                          try{
                                   Code128Writerwriter = new Code128Writer();
                                   intwidth=180;
                                   intheight=60;
                                   Stringmwidth = req.getParameter(WIDTH);
                                   if(mwidth != null && !"".equals(mwidth.trim())) {
                                            try{
                                                    width=Integer.valueOf(mwidth);
                                            }catch (NumberFormatException e) {
                                        //TODOoutput to log 
                                            }
                                   }
                                   Stringmheight = req.getParameter(HEIGHT);
                                   if(mheight != null && !"".equals(mheight.trim())) {
                                            try{
                                                    height= Integer.valueOf(mheight);
                                            }catch (NumberFormatException e) {
                                                    //TODOoutput to log 
                                            }
                                   }
                                   stream= resp.getOutputStream();
                                   BitMatrixm = writer.encode(keycode, BarcodeFormat.CODE_128, width, height);
                                   MatrixToImageWriter.writeToStream(m,IMAGETYPE, stream);
                          }catch (WriterException e) {
                                   e.printStackTrace();
                          }finally {
                                   if(stream != null) {
                                            stream.flush();
                                            stream.close();
                                   }
                          }
                 }
         }
 
         @Override
         protectedvoid doPost(HttpServletRequest req, HttpServletResponse resp)
                          throwsServletException, IOException {
                 this.doGet(req,resp);
         }
         
         
 
}
生成qrcode二維碼的servlet示例
import java.io.IOException;
 
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
import com.google.zxing.BarcodeFormat;
import com.google.zxing.WriterException;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.qrcode.QRCodeWriter;
 
/** 
 * @Description: 生成二維碼(QR格式)
 * @author lwei
 */
public class BarCode2DServlet extends HttpServlet {
 
         /**   
          * @Fields serialVersionUID : serialVersionUID 
          */ 
         
         privatestatic final long serialVersionUID = 1L;
         
         privatestatic final String KEY = "keycode";
         privatestatic final String SIZE = "msize";
         privatestatic final String IMAGETYPE = "JPEG";
 
         @Override
         protectedvoid doGet(HttpServletRequest req, HttpServletResponse resp)
                          throwsServletException, IOException {
                 Stringkeycode = req.getParameter(KEY);
                 
                 if(keycode != null && !"".equals(keycode)) {
                          ServletOutputStreamstream = null;
                          try{
                                   intsize=129;
                                   Stringmsize = req.getParameter(SIZE);
                                   if(msize != null && !"".equals(msize.trim())) {
                                            try{
                                                    size=Integer.valueOf(msize);
                                            }catch (NumberFormatException e) {
                                                    //TODOoutput to log
                                            }
                                   }
                                   stream= resp.getOutputStream();
                                   QRCodeWriterwriter = new QRCodeWriter();
                                   BitMatrixm = writer.encode(keycode, BarcodeFormat.QR_CODE, size, size);
                                   MatrixToImageWriter.writeToStream(m,IMAGETYPE, stream);
                          }catch (WriterException e) {
                                   e.printStackTrace();
                          }finally {
                                   if(stream != null) {
                                            stream.flush();
                                            stream.close();
                                   }
                          }
                 }
         }
 
         @Override
         protectedvoid doPost(HttpServletRequest req, HttpServletResponse resp)
                          throwsServletException, IOException {
                 this.doGet(req,resp);
         }
         
}
3、web.xml中的配置
        <servlet>
                  <servlet-name>barCode</servlet-name>
                  <servlet-class>com.XXX.XXX.common.servlet.BarCode1DServlet</servlet-class>
         </servlet>
         <servlet-mapping>
                  <servlet-name>barCode</servlet-name>
                  <url-pattern>/barCode</url-pattern>
         </servlet-mapping>
         <servlet>
                  <servlet-name>qrCode</servlet-name>
                  <servlet-class>com.XXX.XXX.common.servlet.BarCode2DServlet</servlet-class>
         </servlet>
         <servlet-mapping>
                  <servlet-name>qrCode</servlet-name>
                  <url-pattern>/qrCode</url-pattern>
         </servlet-mapping>
4、頁面引用
 
<img alt="條碼"src="${pageContext.request.contextPath}/barCode?keycode=RT100200300400"></img>
    <imgalt="二維碼"src="${pageContext.request.contextPath}/qrCode?keycode=RT100200300400500"></img>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章