javaweb生成20位时间字符串
时间: 2023-08-15 13:08:16 浏览: 37
您可以使用Java中的SimpleDateFormat类来生成20位时间字符串,具体实现如下:
```java
import java.text.SimpleDateFormat;
import java.util.Date;
public class TimeStringGenerator {
public static void main(String[] args) {
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
String timeString = sdf.format(date);
System.out.println(timeString);
}
}
```
在上述代码中,我们使用了当前时间对象来创建SimpleDateFormat对象,然后使用指定的格式字符串生成20位时间字符串。其中,格式字符串"yyyyMMddHHmmssSSS"表示:年份(4位)+月份(2位)+日(2位)+小时(24小时制,2位)+分钟(2位)+秒(2位)+毫秒(3位)。
相关问题
javaweb生成验证码图片的代码
以下是一个简单的 JavaWeb 生成验证码图片的代码示例:
```java
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.util.Random;
import javax.imageio.ImageIO;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class VerifyCodeServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
private static final int WIDTH = 80; // 验证码图片的宽度
private static final int HEIGHT = 30; // 验证码图片的高度
private static final int CODE_COUNT = 4; // 验证码字符数
private static final int LINE_COUNT = 20; // 干扰线数
protected void doGet(HttpServletRequest request, HttpServletResponse response) {
// 设置响应头信息,禁止缓存
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "No-cache");
response.setDateHeader("Expires", 0);
response.setContentType("image/jpeg");
// 创建图片缓存区
BufferedImage image = new BufferedImage(WIDTH, HEIGHT, BufferedImage.TYPE_INT_RGB);
Graphics g = image.getGraphics();
// 设置背景色并绘制矩形框
g.setColor(Color.WHITE);
g.fillRect(0, 0, WIDTH, HEIGHT);
g.setColor(Color.GRAY);
g.drawRect(0, 0, WIDTH - 1, HEIGHT - 1);
// 生成随机数并将其转换为字符串
Random random = new Random();
String code = "";
for (int i = 0; i < CODE_COUNT; i++) {
int c = random.nextInt(10);
code += c;
}
// 将生成的验证码存入 session 中
HttpSession session = request.getSession();
session.setAttribute("verifyCode", code);
// 绘制干扰线
for (int i = 0; i < LINE_COUNT; i++) {
int x1 = random.nextInt(WIDTH);
int y1 = random.nextInt(HEIGHT);
int x2 = random.nextInt(WIDTH);
int y2 = random.nextInt(HEIGHT);
g.setColor(new Color(random.nextInt(255), random.nextInt(255), random.nextInt(255)));
g.drawLine(x1, y1, x2, y2);
}
// 绘制验证码
Font font = new Font("Arial", Font.BOLD, 20);
g.setFont(font);
for (int i = 0; i < CODE_COUNT; i++) {
g.setColor(new Color(random.nextInt(255), random.nextInt(255), random.nextInt(255)));
g.drawString(String.valueOf(code.charAt(i)), 20 * i + 6, 25);
}
// 输出图片
try {
ServletOutputStream out = response.getOutputStream();
ImageIO.write(image, "JPEG", out);
out.flush();
out.close();
} catch (Exception e) {
e.printStackTrace();
}
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) {
doGet(request, response);
}
}
```
在 `doGet` 方法中,首先设置响应头信息,禁止缓存,然后创建一个 `BufferedImage` 对象用来存储验证码图片。接着设置背景色并绘制矩形框,生成随机数并将其转换为字符串,将生成的验证码存入 session 中,然后绘制干扰线和验证码。最后将生成的图片通过 `ServletOutputStream` 输出到浏览器中。在 `doPost` 方法中,直接调用 `doGet` 方法。
问你个问题,怎么实现Javaweb登录生成验证码
好的,下面是关于Javaweb登录生成验证码的回答:
在Javaweb中,我们可以利用Java的Graphics2D类来生成验证码。具体实现步骤如下:
1.在登录页面上添加一个img标签,用于显示验证码图片。
2.在后台生成一个随机字符串,并将其存储到session中。
3.创建一个BufferedImage对象,用于生成验证码图片。
4.创建一个Graphics2D对象,用于将随机字符串绘制到验证码图片上。
5.将生成的验证码图片输出到前端页面。
下面是示例代码:
```java
// 生成随机字符串
String code = RandomStringUtils.randomAlphanumeric(4); // 生成4位随机字符串
request.getSession().setAttribute("code", code); // 将随机字符串存储到Session中
// 创建验证码图片
BufferedImage image = new BufferedImage(80, 30, BufferedImage.TYPE_INT_RGB);
Graphics2D g = image.createGraphics();
g.setColor(Color.WHITE);
g.fillRect(0, 0, 80, 30);
g.setColor(Color.BLACK);
Font font = new Font("Arial", Font.BOLD, 20);
g.setFont(font);
g.drawString(code, 10, 20);
// 将验证码图片输出到前端页面
response.setContentType("image/png");
OutputStream out = response.getOutputStream();
ImageIO.write(image, "png", out);
out.flush();
```
在前端页面上,我们可以使用以下代码来显示验证码图片:
```html
<img src="captcha.jpg" alt="验证码">
```
其中,captcha.jpg代表生成验证码图片的Servlet路径。当用户提交登录请求时,我们可以从Session中获取存储的随机字符串,与用户输入的验证码进行比较,从而实现验证码的验证。