首页 > 学院 > 开发设计 > 正文

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

2019-11-14 23:25:52
字体:
来源:转载
供稿:网友
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。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表