1、创建一个html页面 页面中包含用户名、手机号、密码 2、点击提交按钮,将form表单中的数据,简单验证,如果不为空,提交到servlet 3、servlet中接收数据,先定义一个集合表示所有相关的用户信息 4、如果用户名在集合中不存在,提示用户添加成功(当前用户添加到集合中) 如果用户名在集合中已存在,提示用户添加失败 5、前端接收响应结果,如果添加成功,跳转到服务端servlet,查询集合中所有用户,在前端页面中展示 如果添加失败,前端清空form中数据,提示用户重新录入。
时间: 2024-03-07 18:46:34 浏览: 152
Ajax注册用户时实现表单验证
好的,我明白了你的问题。这是一个简单的前后端交互的流程,需要使用HTML、Servlet和Java集合来实现。以下是一个简单的实现步骤:
1.创建一个HTML页面,包含用户名、手机号、密码和提交按钮的表单。
```html
<!DOCTYPE html>
<html>
<head>
<title>用户注册</title>
</head>
<body>
<form action="register" method="post">
<label for="username">用户名:</label>
<input type="text" id="username" name="username"><br>
<label for="phone">手机号:</label>
<input type="text" id="phone" name="phone"><br>
<label for="password">密码:</label>
<input type="password" id="password" name="password"><br>
<input type="submit" value="提交">
</form>
</body>
</html>
```
2.在Servlet中接收数据并进行简单的验证。如果数据不为空,则将其存储在一个Java集合中。
```java
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/register")
public class RegisterServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
// 定义一个集合表示所有相关的用户信息
private List<User> users = new ArrayList<>();
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 设置响应内容类型
response.setContentType("text/html;charset=UTF-8");
// 获取表单数据
String username = request.getParameter("username");
String phone = request.getParameter("phone");
String password = request.getParameter("password");
// 简单验证表单数据
if (username != null && !username.equals("") && phone != null && !phone.equals("") && password != null && !password.equals("")) {
// 判断用户名是否存在
boolean userExists = false;
for (User user : users) {
if (user.getUsername().equals(username)) {
userExists = true;
break;
}
}
if (userExists) {
// 用户名已存在,添加失败
response.getWriter().println("<h1>添加失败,用户名已存在。</h1>");
} else {
// 用户名不存在,添加成功
User user = new User(username, phone, password);
users.add(user);
response.getWriter().println("<h1>添加成功。</h1>");
}
} else {
// 表单数据为空,添加失败
response.getWriter().println("<h1>添加失败,表单数据不能为空。</h1>");
}
}
// 定义一个内部类表示用户信息
class User {
private String username;
private String phone;
private String password;
public User(String username, String phone, String password) {
this.username = username;
this.phone = phone;
this.password = password;
}
public String getUsername() {
return username;
}
public String getPhone() {
return phone;
}
public String getPassword() {
return password;
}
}
}
```
3.前端接收响应结果,如果添加成功,跳转到服务端Servlet,查询集合中所有用户,在前端页面中展示。
```html
<!DOCTYPE html>
<html>
<head>
<title>用户管理</title>
</head>
<body>
<h1>用户管理</h1>
<a href="register.html">添加用户</a>
<table border="1">
<thead>
<tr>
<th>用户名</th>
<th>手机号</th>
<th>密码</th>
</tr>
</thead>
<tbody>
<%
// 查询集合中所有用户
for (User user : users) {
out.println("<tr>");
out.println("<td>" + user.getUsername() + "</td>");
out.println("<td>" + user.getPhone() + "</td>");
out.println("<td>" + user.getPassword() + "</td>");
out.println("</tr>");
}
%>
</tbody>
</table>
</body>
</html>
```
4.如果添加失败,前端清空form中数据,提示用户重新录入。
在Servlet中添加以下代码:
```java
// 表单数据为空,添加失败
response.getWriter().println("<h1>添加失败,表单数据不能为空。</h1>");
response.getWriter().println("<script>window.history.back();</script>");
```
这样就可以实现一个简单的用户注册和管理系统了。
阅读全文