• java学习笔记—校验码的实现(15)


    校验码的出现主要的任务是解决表单的重复提交问题。

    public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
           // 0. 通知浏览器不能缓存图片数据
           response.setHeader("expires", "-1");
           response.setHeader("cache-control", "no-cache");
           response.setHeader("pragma", "no-cache");
           // 1. 在内存中创建一个图片对象
           BufferedImage img = new BufferedImage(80,20,BufferedImage.TYPE_INT_RGB);    
           ServletOutputStream out = response.getOutputStream();
           // 2. 获取图片
           Graphics pic = img.getGraphics();
           // 3. 设置背景是白色
           pic.setColor(Color.WHITE);
           pic.fillRect(0, 0, 80, 20);
           // 4. 设置图片
           pic.setColor(Color.RED);
           pic.setFont(new Font(null,Font.BOLD,12));
           // 5. 添加数据
           pic.drawString(makeString(4), 5, 15);
           // 6. 输出图片到浏览器
           ImageIO.write(img, "jpeg", out);  
        }

    字符流做响应体的输出

    public class Demo3 extends HttpServlet {
        String str = null;
        public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
            // 设置字符流的编码方式
            response.setCharacterEncoding("utf-8");
            // 通知浏览以指定的编码方式进行解码
            response.setContentType("text/html;charset=utf-8");
            // 获取响应对象的字符流对象
            PrintWriter out = response.getWriter();
            // 定义输出数据
            String data = "hello<br/>";
            // 输出字符串数据
            out.write(data);
            // 输出页面数据
            data = "<h2>this is a h2</h2>";
            out.write(data);
            // 输出中文数据
            data = "中国";
            out.write(data);
            out.write("<br/>");
            // 输出数字
            out.write(65);         // A
            out.write("<br/>");
            // 调用打印方法
            out.println(65);        // 65
            out.println(true);    // true
            out.println(34.567);    // 34.567
            
            out.write(str);       // 空指针异常
            out.println(str);        // 输出null
        }
    }

    write()和prinln()的区别?

    输出数字不同: write()输出数字转换为字符,println原样输出。

    输出null不同: write()输出引用类型的时候调用的toString转换为String数据,因此如果对象为null那么直接抛出空指针异常。Println直接输出null。

  • 相关阅读:
    Tkinter组件之Entry
    Tkinter组件之LabelFrame
    Tkinter组件之Frame
    Tkinter组件之Radiobutton
    Tkinter 组件详解之Checkbutton
    Tkinter组件之Label
    Tkinter组件之Button
    Tkinter:事件绑定
    特征点匹配方式的选择
    跑通SOLOV1-V2实例分割代码,并训练自己的数据集
  • 原文地址:https://www.cnblogs.com/zhenghongxin/p/4360819.html
Copyright © 2020-2023  润新知