首先,需要在javaweb的项目当中新建一个Servlet文件,然后再web.xml中配置一下:

这样运行的时候就可以通过“http://localhost:8080/Response/Response02”的地址访问到我们的Servlet。

开始代码的编写吧:

首先,我们需要写一个生成随即数字的方法,我们这次实现随即生成七位数的数字:

   private String makeNum() {
Random random = new Random();
String num = random.nextInt(9999999) + "";
StringBuffer sb = new StringBuffer();
for (int i = 0; i < 7 - num.length(); i++) {
sb.append("0");
}
num = sb.toString() + num;
return num;
}

  这个方法有点繁琐,而且效率低下,还有个简单的写法:

  private String getNum() {
Random ran = new Random();
String num = (ran.nextInt(8999999) + 1000000) + "";
return num;
}

  这个方法非常的简单,但是BUG是无法生成9999999;我用的是第二种;

接下来是在页面当中写画图的代码,使随即数字以图片的形式展现在页面当中:

 response.setHeader("refresh", "3"); //设置响应头控制浏览器每隔3S刷新页面
//1.在内存中创建一张图片
BufferedImage image = new BufferedImage(80, 20, BufferedImage.TYPE_3BYTE_BGR); //2.得到图片
Graphics2D g = (Graphics2D) image.getGraphics();
g.setColor(Color.WHITE); //设置图片的背景色
g.fillRect(0, 0, 80, 20);//填充背景色
//3.向图片上写数据
g.setColor(Color.BLUE);//设置图片上字体的颜色
g.setFont(new Font(null, Font.BOLD, 20));
g.drawString(getNum(), 0, 20);
//4.设置响应头控制浏览器以图片的方式打开
response.setContentType("image/jpeg");
//5.设置响应头控制浏览器不缓存图片的数据
response.setDateHeader("expires", -1);
response.setHeader("Cache-Control", "no-cache");//Http1.1中控制浏览器缓存
response.setHeader("Pragma", "no-cache");//Http1.0中控制浏览器缓存 //6.将图片写进浏览器
ImageIO.write(image, "jpg", response.getOutputStream());

  点击运行:

每过3S,页面刷新一次。完整代码如下:

package Response;

import javax.imageio.ImageIO;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.swing.*;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.util.Random; @WebServlet(name = "Response02", urlPatterns = {"/Response/Response02"})
public class Response02 extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
} protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setHeader("refresh", "3"); //设置响应头控制浏览器每隔3S刷新页面
//1.在内存中创建一张图片
BufferedImage image = new BufferedImage(80, 20, BufferedImage.TYPE_3BYTE_BGR); //2.得到图片
Graphics2D g = (Graphics2D) image.getGraphics();
g.setColor(Color.WHITE); //设置图片的背景色
g.fillRect(0, 0, 80, 20);//填充背景色
//3.向图片上写数据
g.setColor(Color.BLUE);//设置图片上字体的颜色
g.setFont(new Font(null, Font.BOLD, 20));
g.drawString(getNum(), 0, 20);
//4.设置响应头控制浏览器以图片的方式打开
response.setContentType("image/jpeg");
//5.设置响应头控制浏览器不缓存图片的数据
response.setDateHeader("expires", -1);
response.setHeader("Cache-Control", "no-cache");//Http1.1中控制浏览器缓存
response.setHeader("Pragma", "no-cache");//Http1.0中控制浏览器缓存 //6.将图片写进浏览器
ImageIO.write(image, "jpg", response.getOutputStream());
} /***
* 生成随即数字
* **/
private String makeNum() {
Random random = new Random();
String num = random.nextInt(9999999) + "";
StringBuffer sb = new StringBuffer();
for (int i = 0; i < 7 - num.length(); i++) {
sb.append("0");
}
num = sb.toString() + num;
return num;
} //简单,但是无法获取9999999
private String getNum() {
Random ran = new Random();
String num = (ran.nextInt(8999999) + 1000000) + "";
return num;
}
}

  

在javaweb的项目当中实现随机数字的生成的更多相关文章

  1. [实例]JAVA生成字母+随机数字并生成文件

    package com.ishow.control.code; import java.io.*; import java.text.SimpleDateFormat; import java.uti ...

  2. 利用JavaScript生成随机数字!

    <!DOCTYPE html> <html> <head> <title>1-99的随机数字</title> <script type ...

  3. 关于随机数字K线极值的统计结果

    如果有组随机数字,如数字彩票.我们对号码进行平均二分后,统计期出现的结果分布,对结果分布进行K线累加,得到一条折线. 这条折线的顶点和底点的统计上服从以下规则: 令总期数为N,统计区间为M,则在N期内 ...

  4. 将外部准备好的sqlite导入到项目当中

    首先,将sqlite数据库文件放在Resource文件夹下,并且允许其编译到项目当中. 之后在AppDelegate当中执行一些代码,这里将代码封装了一个Helper: #import "R ...

  5. 算法战斗:给定一个号码与通配符问号W,问号代表一个随机数字。 给定的整数,得到X,和W它具有相同的长度。 问:多少整数协议W的形式和的比率X大?

    如果说: 给定一个号码与通配符问号W,问号代表一个随机数字. 给定的整数,得到X,和W它具有相同的长度. 问:多少整数协议W的形式和的比率X大? 进格公式 数据的多组,两排各数据的,W,第二行是X.它 ...

  6. 利用maven install jar到项目当中

    接着上面利用maven打好的jar包.把刚刚打好的包放入其他项目当中怎么办? 只需要在相同的目录下执行mvn install,maven会自动把jar放到本地仓库中. 这样,原先maven项目中缺少依 ...

  7. 【精编重制版】JavaWeb 入门级项目实战 -- 文章发布系统 (第二节)

    说明 本教程是,原文章发布系统教程的精编重制版,会包含每一节的源码,以及修正之前的一些错误.因为之前的教程只做到了评论模块,很多地方还不完美,因此重制版会修复之前的一些谬误和阐述不清的地方,而且,后期 ...

  8. 随机总数字里面选取随机数字进行随机排序案例(JAVA实现)

    随机总数字里面选取随机数字进行随机排序案例,案例如下: 代码code: package com.sec; import java.util.Arrays; import java.util.Scann ...

  9. Java随机字符串:随机数字字符串,工具类

    Java中生成随机数,字符串的工具类 1. 调用方法需要传入生成字符串的长度和需要的类型 生成随机数字 生成随机字母字符串 生成随机字符串+数字等 ......... 2. 总共8种类型,具体看工具类 ...

随机推荐

  1. 第三百七十九节,Django+Xadmin打造上线标准的在线教育平台—xadmin的安装

    第三百七十九节,Django+Xadmin打造上线标准的在线教育平台—xadmin的安装 xadmin介绍 xadmin是基于Django的admin开发的更完善的后台管理系统,页面基于Bootstr ...

  2. Solr系列二:solr-部署详解(solr两种部署模式介绍、独立服务器模式详解、SolrCloud分布式集群模式详解)

    一.solr两种部署模式介绍 Standalone Server 独立服务器模式:适用于数据规模不大的场景 SolrCloud  分布式集群模式:适用于数据规模大,高可靠.高可用.高并发的场景 二.独 ...

  3. e867. 获取和设置外观

    To change the look and feel, you need to know the class name of the new look and feel. This example ...

  4. 错误 未能找到类型或命名空间名称"xxxxxx"的真正原因

    今天又被这问题撞上了,结果神奇般的解决了 谷歌了很久都没有找到真正有用的解决方案,所以在这儿写下,让更多的人看到 最根本的原因其实就是引用的问题,引用错了,然后VS在这上面提示又不够智能,所以大家被坑 ...

  5. Mac homebrew类似apt-get命令安装包

    INSTALL brew ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/in ...

  6. Libertarian

    Libertarians as the real god-son has the consistent faith of humanity freedom. The super libertarian ...

  7. 安卓开发笔记——TabHost组件(一)(实现底部菜单导航)

    什么是TabHost? TabHost组件的主要功能是可以进行应用程序分类管理,例如:在用户使用windows操作系统的时候,经常见到如图所示的图形界面.     TabHost选项卡,说到这个组件, ...

  8. mysql备份小记

    常用备份工具是mysql自带的mysqldump,mysqldump -u root -p密码 dbname >d:\test.sql      ------------备份某个库mysqldu ...

  9. JAXB基本使用

    JAXB主要用来实现对象和XML之间的序列化和反序列化,关于JAXB的介绍就不多说了,网上一搜一大把,这里主要总结下基本使用方法和一些注意事项 首先定义两个示例类ClassA,ClassB,用于后续的 ...

  10. multiselect2side:jQuery多选列表框插件

    http://blog.csdn.net/rosanu_blog/article/details/8550723 http://www.bkjia.com/jQuery/449193.html < ...