创建jsp程序实现用户登录和注册,注册要求有姓名,年龄,邮箱,并保存已经注册过的邮箱,再二次注册时显示“该邮箱已注册”,注册成功后跳转到登陆界面
时间: 2024-01-09 17:05:52 浏览: 45
以下是一个简单的JSP程序实现用户登录和注册。
1. 注册页面(register.jsp)
```
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>用户注册</title>
</head>
<body>
<h1>用户注册</h1>
<form action="register.do" method="post">
<p>姓名:<input type="text" name="name"></p>
<p>年龄:<input type="text" name="age"></p>
<p>邮箱:<input type="text" name="email"></p>
<p><input type="submit" value="注册"></p>
</form>
</body>
</html>
```
2. 注册处理(register.do)
```
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
// 获取注册信息
String name = request.getParameter("name");
String age = request.getParameter("age");
String email = request.getParameter("email");
// 判断邮箱是否已经注册过
List<String> emails = (List<String>) application.getAttribute("emails");
if (emails == null) {
emails = new ArrayList<String>();
application.setAttribute("emails", emails);
}
if (emails.contains(email)) {
out.println("<script>alert('该邮箱已注册');history.back();</script>");
return;
}
// 保存注册信息
User user = new User(name, age, email);
List<User> users = (List<User>) application.getAttribute("users");
if (users == null) {
users = new ArrayList<User>();
application.setAttribute("users", users);
}
users.add(user);
emails.add(email);
// 跳转到登录页面
response.sendRedirect("login.jsp");
%>
```
3. 登录页面(login.jsp)
```
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>用户登录</title>
</head>
<body>
<h1>用户登录</h1>
<form action="login.do" method="post">
<p>邮箱:<input type="text" name="email"></p>
<p><input type="submit" value="登录"></p>
</form>
</body>
</html>
```
4. 登录处理(login.do)
```
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
// 获取登录信息
String email = request.getParameter("email");
// 判断邮箱是否已经注册过
List<String> emails = (List<String>) application.getAttribute("emails");
if (emails == null || !emails.contains(email)) {
out.println("<script>alert('该邮箱未注册');history.back();</script>");
return;
}
// 根据邮箱查找用户信息
List<User> users = (List<User>) application.getAttribute("users");
for (User user : users) {
if (user.getEmail().equals(email)) {
session.setAttribute("user", user);
break;
}
}
// 跳转到用户信息页面
response.sendRedirect("user.jsp");
%>
```
5. 用户信息页面(user.jsp)
```
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>用户信息</title>
</head>
<body>
<h1>用户信息</h1>
<p>姓名:${user.name}</p>
<p>年龄:${user.age}</p>
<p>邮箱:${user.email}</p>
</body>
</html>
```
6. 用户类(User.java)
```
public class User {
private String name;
private String age;
private String email;
public User(String name, String age, String email) {
this.name = name;
this.age = age;
this.email = email;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
```
注意:以上代码仅供参考,实际应用中还需考虑数据验证、安全性等问题。