dvppoalsdgss 2015-03-24 06:48 采纳率: 0%
浏览 859
已采纳

麻烦各位帮忙看看这个java代码,急急急急啊,有一部分不会

 public class CheckCoderTool extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
        response.setContentType("image/jpeg");
        //客户端那边处理好的4位验证码字符串
        String c = (String) request.getSession().getAttribute("c");   
        int width = c.length() * 8 + 10;
        int height = 16;                           
        int startX = 5;                          
        int startY = 12;
        BufferedImage bi = new BufferedImage(width, height,BufferedImage.TYPE_INT_RGB);
        Graphics2D g = bi.createGraphics(); 
        g.setColor(Color.GREEN);  
        g.setBackground(Color.black);
        g.clearRect(0, 0, width, height);
        g.drawString(c, startX, startY);              
        JPEGImageEncoder encoder = null; 
        JPEGEncodeParam param = null;     
    try {
        encoder = JPEGCodec.createJPEGEncoder(response.getOutputStream());
        param = encoder.getDefaultJPEGEncodeParam(bi);
        param.setQuality(1f,false);           
        encoder.encode(bi); 
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        bi = null;
        g = null;
        c = null;
        encoder = null;
        param = null;
    }
        System.out.println("试一试");
    }
}

以上是一段验证码的代码,我想问有几个问题

1、response.getOutputStream()不是指这个bi吗里面的东西吗

2、param.setQuality(1f,false); 我知道这里是设置了图片的压缩的格式,1f就是无损了,但是false是什么参数,为什么是false不是true,我查看过api只找到这个接口方法,还没有实现的,看到参数的解释是力基准量化表,简直汗颜了。不明白啊

3、一般servlet返回到客户端如果是转发到另外的页面最后会写类似

RequestDispatcher rd=request.getRequestDispatcher("/index.jsp");

rd.forward(request, response);

这个代码最后会转发带index.jsp的,而我写的这个servlet代码,虽然最后用作验证码的图片输出,代码最上面也写了返回的类型

response.setContentType("image/jpeg");

最后输出到图片的引用地址,是不是这样就可以了,不用写其他了吗?

4、而且当所有对象设置为空时,程序是没有结束的,最后还能运行下面的“试一试”的字眼,当程序结束时应该报空才对啊,为什么还在客户端看到图片的,还有这个类什么时候会结束返回到客户端

  • 写回答

1条回答 默认 最新

  • dvppoalsdgss 2019-03-29 12:02
    关注

    结贴吧............................

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 教务系统账号被盗号如何追溯设备
  • ¥20 delta降尺度方法,未来数据怎么降尺度
  • ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效
  • ¥15 再不同版本的系统上,TCP传输速度不一致
  • ¥15 高德地图点聚合中Marker的位置无法实时更新
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式