附上原始碼:
求大神
<%@page pageEncoding="UTF-8" %>
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>注冊頁面</title>
<style type="text/css">
.form{
text-align: center; /*讓div內部文字居中*/
background-color: rgb(247,255,243,0.6);
border-radius: 20px;
width: 320px;
height: 250px;
margin: auto;
padding: 1px 20px 30px;
top: 0;
left: 0;
right: 0;
bottom: 0;
position: absolute;
}
a{
text-decoration: none;
}
a:hover,a:active{
text-decoration: underline;
}
body{
background: url("https://assets.wallpapersin4k.org/uploads/2017/04/Night-Nature-HD-Wallpapers-17.jpg") no-repeat center center fixed;
background-size: 100%;
}
</style>
</head>
<body>
<div class="form">
<%
Boolean status=(Boolean)request.getAttribute("status");
String msg=(String)request.getAttribute("msg");
if(status!=null && status==Boolean.FALSE){
out.println("<div style='color:red;font-size:0.8em'>"+msg+"</div>");
}
%>
<form action="LogServlet">
<p>輸入賬號: <input type="text" name="account"></p>
<p>輸入密碼: <input type="password" name="pass"></p>
<p>輸入密碼: <input type="password" name="pass2"></p>
<p>輸入用戶名: <input type="text" name="name"></p>
<p>請輸入驗證碼:<input type="text" name="authNum"></p>
<img src="https://bbs.csdn.net/topics/AuthImageServlet">
<a href="https://bbs.csdn.net/topics/index.jsp">已有賬號,點我登錄</a>
<input type="submit" value="https://bbs.csdn.net/topics/注冊">
</form>
</div>
</body>
</html>
以下是servlet:
package com.swu.edu.AuthImage;
import com.mysql.cj.Session;
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.servlet.http.HttpSession;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.io.OutputStream;
import java.util.Random;
@WebServlet("/AuthImageServlet")
public final class AuthImageServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
OutputStream outputStream = resp.getOutputStream();
StringBuilder sb = new StringBuilder(); //記錄輸出的字串
BufferedImage image = new BufferedImage(80, 30, BufferedImage.TYPE_INT_RGB);
Graphics graphic = image.getGraphics();
graphic.setColor(Color.getColor("F8F8F8")); //填充顏色
graphic.fillRect(0, 0, 80, 30); //矩形打底
Color[] colors = new Color[]{
Color.BLACK, Color.BLUE, Color.GREEN, Color.magenta, Color.LIGHT_GRAY
};
Random random = new Random();
for (int i = 0; i < 10; i++) {
graphic.setColor(colors[random.nextInt(colors.length)]); //隨機填充顏色
int x1 = random.nextInt(80);
int y1 = random.nextInt(30);
int x2 = random.nextInt(80);
int y2 = random.nextInt(30);
graphic.drawLine(x1, y1, x2, y2);
}
graphic.setFont(new Font("Comic Sans MS",Font.BOLD,30));
for (int i = 0; i < 4; i++) {
int temp = random.nextInt(26) + 97;
String tem = String.valueOf((char) temp);
sb.append(tem);
graphic.drawString(tem, i*80/4, 25);
}
HttpSession session=req.getSession();
session.setAttribute("authNum",sb.toString());
graphic.dispose();
try {
ImageIO.write(image, "jpeg", outputStream);
} catch (IOException e) {
e.printStackTrace();
}
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/240262.html
標籤:Web 開發
