创建一个简单的javaweb项目。在数据库中创建学生信息表,包含学生ID、学号、姓名、性别、年龄、手机号六个字段。使用Ajax发送查询、新增、修改、删除学生信息的请求并处理请求。
时间: 2023-10-20 08:32:36 浏览: 127
好的,我可以提供一个简单的实现步骤,供您参考:
1. 创建一个JavaWeb项目,可以使用Eclipse或其他IDE来创建。
2. 在项目中创建一个JavaBean类,用于定义学生信息的属性和对应的getter/setter方法。例如:
```java
public class Student {
private int id;
private String sno;
private String name;
private String gender;
private int age;
private String phone;
// getter/setter methods
}
```
3. 在项目中创建一个DAO类,用于连接数据库并实现对学生信息的增删改查操作。可以使用JDBC或其他ORM框架来实现。例如:
```java
public class StudentDAO {
// 数据库连接信息
private String url = "jdbc:mysql://localhost:3306/test";
private String username = "root";
private String password = "123456";
// 查询所有学生信息
public List<Student> findAll() {
// TODO: 查询所有学生信息的SQL语句
String sql = "SELECT * FROM student";
// TODO: 连接数据库并执行SQL语句,返回学生信息列表
// ...
}
// 根据学生ID查询学生信息
public Student findById(int id) {
// TODO: 根据学生ID查询学生信息的SQL语句
String sql = "SELECT * FROM student WHERE id = ?";
// TODO: 连接数据库并执行SQL语句,返回学生信息
// ...
}
// 新增学生信息
public int add(Student student) {
// TODO: 新增学生信息的SQL语句
String sql = "INSERT INTO student (sno, name, gender, age, phone) VALUES (?, ?, ?, ?, ?)";
// TODO: 连接数据库并执行SQL语句,返回新增的学生ID
// ...
}
// 修改学生信息
public int update(Student student) {
// TODO: 修改学生信息的SQL语句
String sql = "UPDATE student SET sno = ?, name = ?, gender = ?, age = ?, phone = ? WHERE id = ?";
// TODO: 连接数据库并执行SQL语句,返回受影响的行数
// ...
}
// 删除学生信息
public int delete(int id) {
// TODO: 删除学生信息的SQL语句
String sql = "DELETE FROM student WHERE id = ?";
// TODO: 连接数据库并执行SQL语句,返回受影响的行数
// ...
}
}
```
4. 在项目中创建一个Servlet类,用于接收并处理Ajax请求。例如:
```java
public class StudentServlet extends HttpServlet {
private StudentDAO studentDAO = new StudentDAO();
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 获取请求参数
String action = request.getParameter("action");
int id = Integer.parseInt(request.getParameter("id"));
// 根据请求参数执行对应的操作
if ("findAll".equals(action)) {
// 查询所有学生信息
List<Student> students = studentDAO.findAll();
// 将学生信息转换为JSON格式,并写入响应
response.setContentType("application/json;charset=utf-8");
PrintWriter out = response.getWriter();
out.write(JSON.toJSONString(students));
out.close();
} else if ("findById".equals(action)) {
// 根据ID查询学生信息
Student student = studentDAO.findById(id);
// 将学生信息转换为JSON格式,并写入响应
response.setContentType("application/json;charset=utf-8");
PrintWriter out = response.getWriter();
out.write(JSON.toJSONString(student));
out.close();
} else if ("add".equals(action)) {
// 新增学生信息
// 获取请求参数
String sno = request.getParameter("sno");
String name = request.getParameter("name");
String gender = request.getParameter("gender");
int age = Integer.parseInt(request.getParameter("age"));
String phone = request.getParameter("phone");
// 将请求参数封装为Student对象
Student student = new Student();
student.setSno(sno);
student.setName(name);
student.setGender(gender);
student.setAge(age);
student.setPhone(phone);
// 执行新增操作
int newId = studentDAO.add(student);
// 将新增的学生ID写入响应
response.setContentType("text/plain;charset=utf-8");
PrintWriter out = response.getWriter();
out.write(String.valueOf(newId));
out.close();
} else if ("update".equals(action)) {
// 修改学生信息
// 获取请求参数
String sno = request.getParameter("sno");
String name = request.getParameter("name");
String gender = request.getParameter("gender");
int age = Integer.parseInt(request.getParameter("age"));
String phone = request.getParameter("phone");
// 将请求参数封装为Student对象
Student student = new Student();
student.setId(id);
student.setSno(sno);
student.setName(name);
student.setGender(gender);
student.setAge(age);
student.setPhone(phone);
// 执行修改操作
int rows = studentDAO.update(student);
// 将受影响的行数写入响应
response.setContentType("text/plain;charset=utf-8");
PrintWriter out = response.getWriter();
out.write(String.valueOf(rows));
out.close();
} else if ("delete".equals(action)) {
// 删除学生信息
// 执行删除操作
int rows = studentDAO.delete(id);
// 将受影响的行数写入响应
response.setContentType("text/plain;charset=utf-8");
PrintWriter out = response.getWriter();
out.write(String.valueOf(rows));
out.close();
}
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
```
5. 在前端页面中使用Ajax发送请求,并使用JavaScript处理返回结果。例如:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>学生信息管理</title>
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script>
$(function() {
// 查询所有学生信息
$.get("StudentServlet?action=findAll", function(data) {
// 处理返回的学生信息
// ...
});
// 根据ID查询学生信息
$.get("StudentServlet?action=findById&id=1", function(data) {
// 处理返回的学生信息
// ...
});
// 新增学生信息
$.post("StudentServlet?action=add", {
sno: "10001",
name: "张三",
gender: "男",
age: 20,
phone: "13800138000"
}, function(data) {
// 处理返回的新增学生ID
// ...
});
// 修改学生信息
$.post("StudentServlet?action=update&id=1", {
sno: "10002",
name: "李四",
gender: "男",
age: 21,
phone: "13800138001"
}, function(data) {
// 处理返回的受影响的行数
// ...
});
// 删除学生信息
$.post("StudentServlet?action=delete&id=1", function(data) {
// 处理返回的受影响的行数
// ...
});
});
</script>
</head>
<body>
<!-- 页面内容 -->
</body>
</html>
```
6. 最后,将项目部署到Tomcat等Web服务器上,就可以在浏览器中访问并操作学生信息了。
这只是一个简单的实现框架,具体的实现细节需要根据您的具体需求来进行设计和实现。如果您有其他问题或需要更详细的帮助,可以随时向我提问。
阅读全文