首先,我们需要创建一个 HTML 页面来展示登录和注册表单。我们可以使用 JSP 来创建这个页面。假设我们将这个页面命名为 login.jsp。
<!DOCTYPE html>
<html>
<head>
<title>登录注册页面</title>
</head>
<body>
<% if (request.getAttribute("message") != null) { %>
<p style="color: red;"><%= request.getAttribute("message") %></p>
<% } %>
<h2>登录</h2>
<form action="loginServlet" method="post">
用户名:<input type="text" name="username" /><br/>
密码:<input type="password" name="password" /><br/>
<input type="submit" value="登录" />
</form>
<h2>注册</h2>
<form action="registerServlet" method="post">
用户名:<input type="text" name="username" /><br/>
密码:<input type="password" name="password" /><br/>
确认密码:<input type="password" name="confirmPassword" /><br/>
邮箱:<input type="email" name="email" /><br/>
<input type="submit" value="注册" />
</form>
</body>
</html>我们需要创建两个 Servlet 来处理登录和注册请求,假设我们将这两个 Servlet 分别命名为LoginServlet 和RegisterServlet,这两个 Servlet 都将处理 POST 请求,并验证用户输入的数据,如果数据验证成功,它们将用户信息存储在会话中(对于登录),或者将其添加到数据库(对于注册),如果数据验证失败,它们将错误消息设置到请求属性中,并在页面上显示这个错误消息,以下是 Servlet 的示例代码:

LoginServlet.java:
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.IOException;
public class LoginServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String username = request.getParameter("username");
String password = request.getParameter("password");
// 在这里添加你的登录逻辑代码,比如验证用户名和密码是否匹配等,如果验证成功,将用户信息存储到会话中,如果验证失败,设置错误消息到请求属性中。
// ...
}
}RegisterServlet.java:

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.IOException;
public class RegisterServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String username = request.getParameter("username");
String password = request.getParameter("password");
String confirmPassword = request.getParameter("confirmPassword");
String email = request.getParameter("email");
// 在这里添加你的注册逻辑代码,比如验证用户名是否已经存在,密码是否匹配,邮箱是否有效等,如果验证成功,将用户信息添加到数据库中,如果验证失败,设置错误消息到请求属性中。
// ...
}
}上述代码只是一个基本的示例,实际的实现可能需要更多的细节和错误处理,你可能还需要配置服务器(如 Tomcat)来部署这些 Servlet,以及创建数据库来存储用户信息,你也可能需要使用更复杂的表单验证和安全性措施来保护用户的数据和身份。









