编写HTML和Servlet,设计实现账号登录页面,包括用户名和密码,登录成功后的页面显示当前用户名的欢迎信息。要求使用post提交;处理密码正确和错误两种情况
时间: 2024-02-24 21:54:29 浏览: 138
好的,我可以为您提供一份简单的示例代码,帮助您实现该功能。
首先,我们需要设计一个HTML页面,用于用户输入账号和密码。假设该页面名为login.html,代码如下:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>账号登录</title>
</head>
<body>
<form action="login" method="post">
<label>用户名:</label><input type="text" name="username"><br>
<label>密码:</label><input type="password" name="password"><br>
<input type="submit" value="登录">
</form>
</body>
</html>
```
在该页面中,我们使用了一个表单,将用户输入的信息通过post方式提交到名为“login”的Servlet中。
接下来,我们需要编写Servlet来处理登录请求。假设该Servlet名为LoginServlet,代码如下:
```java
import java.io.IOException;
import java.io.PrintWriter;
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("/login")
public class LoginServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
// 获取用户输入的账号和密码
String username = request.getParameter("username");
String password = request.getParameter("password");
// 假设正确的账号和密码为admin和123456
if ("admin".equals(username) && "123456".equals(password)) {
// 登录成功,显示欢迎信息
out.print("<html><head><meta charset='UTF-8'><title>登录成功</title></head><body>");
out.print("<p>欢迎," + username + "!</p>");
out.print("</body></html>");
} else {
// 登录失败,提示错误信息
out.print("<html><head><meta charset='UTF-8'><title>登录失败</title></head><body>");
out.print("<p>账号或密码错误,请重新输入!</p>");
out.print("</body></html>");
}
}
}
```
在该Servlet中,我们首先获取用户输入的账号和密码,然后判断是否与正确的账号和密码匹配。如果匹配成功,就显示欢迎信息;否则,提示错误信息。
最后,将这两个文件放置在Web应用的相应位置,启动Web服务器,访问login.html页面,即可进行账号登录操作。
希望这份示例代码对您有所帮助!