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

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);         // Aout.write("<br/>");// 调用打印方法out.println(65);        // 65out.println(true);    // trueout.println(34.567);    // 34.567out.write(str);       // 空指针异常out.println(str);        // 输出null
    }
}

write()和prinln()的区别?

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

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

转载于:https://www.cnblogs.com/zhenghongxin/p/4360819.html

java学习笔记—校验码的实现(15)相关推荐

  1. Java学习笔记 (码龄七年第一次写笔记)

    本文将以c++.PHP类比Java来整理笔记.新进来的秃头小宝贝们可以先看看我的码龄,也算是有一些经验了.我很不赞成以强制写笔记这种方式,来证明有没有学习Java,笔记是用来记录重难点与思路的,一些基 ...

  2. 计算机组成原理学习笔记——校验码

    校验码 〇.何为校验码 一.奇偶校验码 1.定义 2.特点 3.例子 4.缺点 5.使用范围 6.8421 码的奇偶校验码 二.海明校验码 1.概念 2.步骤 1)确定海明码的位数 2)确定校验位的分 ...

  3. Java学习笔记 (码龄七年第一次写笔记 续2)

    输入与输出 1.输入 调用Scanner类的一系列方法(基础方法不再介绍) 2.输出 (1)格式化输出如果我们要输出小数,并且希望限制它小数点后的个数以及,所占的代码单元数. 可以使用如下几种方法(和 ...

  4. Java学习笔记(十)--控制台输入输出

    输入输出 一.控制台输入 在程序运行中要获取用户的输入数据来控制程序,我们要使用到 java.util 包中的 Scanner 类.当然 Java 中还可以使用其他的输入方式,但这里主要讲解 Scan ...

  5. Java学习笔记 2021-7-1 2021-7-8

    Java学习笔记 Stream流 1 Stream流的体验 stream流的生成操作 stream中间流操作 filter limit和skip concat和distinct sorted map和 ...

  6. 《Java学习笔记(第8版)》学习指导

    <Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...

  7. java学习笔记:全部,txt版本

    java学习笔记:全部,txt版本 笔者注: 1.不知道怎么上传附件,所以就把txt文本内容全部贴在这里吧. 2.已经把txt版本的笔记上传到CSDN了,我没有设置索要积分才能下载,但是不知道为什么C ...

  8. java学习笔记---5

    IO流 I〇流概述: lO:输入/输出(Input/Output) 流:是一种抽象概念,是对数据传输的总称.也就是说数据在设备间的传输称为流,流的本质是数据传输IO流就是用来处理设备间数据传输问题的: ...

  9. Java学习笔记:2022年1月7日

    Java学习笔记:2022年1月7日 摘要:今天的这篇笔记主要是通过讲解基本的JVM结构来理解Java中一些行为的运行机制,进而更加的深入理解Java的运行原理. 文章目录 Java学习笔记:2022 ...

最新文章

  1. Flutter使用CupertinoAlertDialog 报 'alertDialogLabel' was called on null.
  2. 基于SignalR的消息推送与二维码描登录实现
  3. Docker aufs存储驱动layer、diff、mnt目录的区别
  4. 《公安机关互联网安全监督检查规定》今日起实施,要检查你家的数据中心了...
  5. Python title() 方法
  6. stl源码剖析_STL源码剖析 阅读笔记(二)allocator
  7. 懒与馋的平衡:餐饮O2O市场广阔,发展不易
  8. sql语句的执行过程和优化
  9. 多线程场景下使用 ArrayList,这几点一定要注意!
  10. React学习整理(一):React 安装
  11. crontab下执行设置壁纸出错问题
  12. 脸部识别算法_面部识别技术是种族主义者吗? 先进算法的解释
  13. 现代处理器设计——超标量处理器基础1-4
  14. Win10连接上了wifi但是打开浏览器显示网络异常,诊断网络发现错误“远程计算机或者设备将不接受连接
  15. OppoR17被查找手机锁死问题解锁
  16. Python图片转base64
  17. HTML图片映射矩形坐标,HTML图片热区map area的用法(转载)
  18. OpenGL - PBR
  19. 个人博客网站升级http为https
  20. excel表的下载模板

热门文章

  1. Spring Boot 集成 Swagger 生成 RESTful API 文档
  2. 数据结构(java版)学习笔记(序章)
  3. LUOGU P4195 Spoj3105 Mod
  4. 欢迎来怼第二周Scrum会议六(总第十三次)
  5. 【例题 6-6 UVA - 679】Dropping Balls
  6. substring,substr,和slice的区别详解。
  7. selenium找不到元素
  8. 互联网周刊:谁是下一个IE?
  9. python 数字格式化
  10. loadrunner socket协议问题归纳(5)