制作一个表单,用户输入用户名、密码,提交给LoginServlet处理,如果用户名密码相等,则跳转到SuccessServlet,并显示“欢迎您,XX”(XX为用户名),否则跳转到FailServlet,显示“登录失败”。
时间: 2023-12-05 09:03:50 浏览: 49
好的,这是一个基于Java Web的表单处理问题,我可以给出一个简单的实现思路:
1. 创建一个html页面,包含一个form表单,其中包含用户名和密码的输入框,还有一个提交按钮。例如:
```html
<form action="LoginServlet" method="post">
用户名:<input type="text" name="username"><br>
密码:<input type="password" name="password"><br>
<input type="submit" value="登录">
</form>
```
2. 创建一个LoginServlet类,继承HttpServlet类,处理表单的提交请求,并进行用户名和密码的验证。例如:
```java
public class LoginServlet extends HttpServlet {
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String username = request.getParameter("username");
String password = request.getParameter("password");
if("admin".equals(username) && "password".equals(password)) {
// 验证通过,跳转到SuccessServlet,并带上用户名参数
request.setAttribute("username", username);
request.getRequestDispatcher("/SuccessServlet").forward(request, response);
} else {
// 验证失败,跳转到FailServlet
response.sendRedirect("/FailServlet");
}
}
}
```
3. 创建一个SuccessServlet类和一个FailServlet类,分别用于展示登录成功和失败的界面,并显示相应的信息。例如:
```java
public class SuccessServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String username = (String) request.getAttribute("username");
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
out.println("欢迎您," + username);
}
}
public class FailServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
out.println("登录失败");
}
}
```
4. 在web.xml文件中配置相应的servlet和url映射关系。例如:
```xml
<servlet>
<servlet-name>LoginServlet</servlet-name>
<servlet-class>com.example.LoginServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>SuccessServlet</servlet-name>
<servlet-class>com.example.SuccessServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>FailServlet</servlet-name>
<servlet-class>com.example.FailServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>LoginServlet</servlet-name>
<url-pattern>/LoginServlet</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>SuccessServlet</servlet-name>
<url-pattern>/SuccessServlet</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>FailServlet</servlet-name>
<url-pattern>/FailServlet</url-pattern>
</servlet-mapping>
```
以上就是一个简单的基于Java Web的表单处理实现,可以根据实际情况进行相应的修改和扩展。