编写一个登录页面,输入学号和姓名,在数据库中进行验证,如果验证通过,则在另外一个页面上显示顾客的姓名,要求使用javabean封装顾客的信息,使用dao查询数据库
时间: 2024-02-20 16:00:26 浏览: 27
好的,这是一个比较典型的Web应用程序开发问题,需要使用Java Web技术实现。下面是大致的实现步骤:
1. 创建一个JavaBean,用于封装顾客的信息,包括学号、姓名等属性。
2. 创建一个DAO类,用于操作数据库,实现验证学号和姓名的方法。
3. 创建一个Servlet类,用于接收用户提交的表单数据,调用DAO类进行验证,并将验证结果存储在Session中。
4. 创建一个JSP页面,用于显示顾客的姓名等信息,读取Session中存储的验证结果,并根据结果显示不同的内容。
下面是实现的详细步骤:
1. 创建JavaBean
```java
public class Customer {
private String id; // 学号
private String name; // 姓名
// 构造函数、getter和setter方法省略
}
```
2. 创建DAO类
```java
public class CustomerDAO {
// 数据库连接池
private DataSource dataSource;
public void setDataSource(DataSource dataSource) {
this.dataSource = dataSource;
}
// 验证学号和姓名
public boolean validate(String id, String name) throws SQLException {
Connection conn = null;
PreparedStatement stmt = null;
ResultSet rs = null;
try {
conn = dataSource.getConnection();
stmt = conn.prepareStatement("SELECT * FROM customer WHERE id = ? AND name = ?");
stmt.setString(1, id);
stmt.setString(2, name);
rs = stmt.executeQuery();
return rs.next();
} finally {
if (rs != null) rs.close();
if (stmt != null) stmt.close();
if (conn != null) conn.close();
}
}
}
```
3. 创建Servlet类
```java
public class LoginServlet extends HttpServlet {
private CustomerDAO customerDAO;
public void setCustomerDAO(CustomerDAO customerDAO) {
this.customerDAO = customerDAO;
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 获取表单数据
String id = request.getParameter("id");
String name = request.getParameter("name");
// 验证学号和姓名
boolean valid = false;
try {
valid = customerDAO.validate(id, name);
} catch (SQLException e) {
throw new ServletException("数据库错误", e);
}
// 存储验证结果
HttpSession session = request.getSession();
session.setAttribute("id", id);
session.setAttribute("name", name);
session.setAttribute("valid", valid);
// 跳转到结果页面
response.sendRedirect("result.jsp");
}
}
```
4. 创建JSP页面
```jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>登录结果</title>
</head>
<body>
<c:choose>
<c:when test="${not empty sessionScope.valid and sessionScope.valid}">
<p>欢迎,${sessionScope.name}!</p>
</c:when>
<c:otherwise>
<p>登录失败,请检查学号和姓名是否正确。</p>
</c:otherwise>
</c:choose>
</body>
</html>
```
其中,使用了JSTL标签库来进行条件判断和输出结果。
最后,在Web应用程序中配置相关的Servlet和数据源,启动Web容器即可运行。