diff --git a/src/main/java/uk/ac/cf/spring/demo/sports/Userdetail/User.java b/src/main/java/uk/ac/cf/spring/demo/sports/Userdetail/User.java
index 340184f88eafafecbec47650f2a45598f2f119fb..9f5bd332dbac8aecd02c0cdd0629dea4d5a58c05 100644
--- a/src/main/java/uk/ac/cf/spring/demo/sports/Userdetail/User.java
+++ b/src/main/java/uk/ac/cf/spring/demo/sports/Userdetail/User.java
@@ -3,9 +3,11 @@ package uk.ac.cf.spring.demo.sports.Userdetail;
 
 import lombok.AllArgsConstructor;
 import lombok.Data;
+import lombok.NoArgsConstructor;
 
 @Data
 @AllArgsConstructor
+@NoArgsConstructor // 自动生成无参构造函数
 public class User {
     private Long id;
     private String email;
diff --git a/src/main/java/uk/ac/cf/spring/demo/sports/Userdetail/UserController.java b/src/main/java/uk/ac/cf/spring/demo/sports/Userdetail/UserController.java
index b908c5565cc3ad3d4cec565f5c03f97949672920..483e3b5a5c1486d4ed0f1cc7808b76df825b80b6 100644
--- a/src/main/java/uk/ac/cf/spring/demo/sports/Userdetail/UserController.java
+++ b/src/main/java/uk/ac/cf/spring/demo/sports/Userdetail/UserController.java
@@ -1,63 +1,50 @@
 package uk.ac.cf.spring.demo.sports.Userdetail;
 
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.*;
 import org.springframework.web.servlet.ModelAndView;
 
 import java.util.List;
-
+@RestController
 @Controller
 public class UserController {
-    // 依赖注入 UserService
     private final UserService userService;
 
+    // 使用 @Autowired 进行依赖注入(构造函数注入)
+    @Autowired
     public UserController(UserService userService) {
         this.userService = userService;
     }
 
-    // 显示所有用户列表
-    @GetMapping("/users")
-    public ModelAndView getUsers() {
-        ModelAndView modelAndView = new ModelAndView("user/allUserList");
-        List<User> users = userService.getAllUsers();
-        modelAndView.addObject("users", users);
-        return modelAndView;
+    // 获取所有用户列表
+    @GetMapping
+    public List<User> getAllUsers() {
+        return userService.getAllUsers();
     }
 
-    // 通过用户 ID 查看用户详情
-    @GetMapping("/users/{id}")
-    public ModelAndView getUserById(@PathVariable Long id) {
-        ModelAndView modelAndView = new ModelAndView("user/userDetails");
-        User user = userService.getUserById(id);
-        modelAndView.addObject("user", user);
-        return modelAndView;
+    // 通过用户 ID 获取用户详情
+    @GetMapping("/api/users/{id}")
+    public User getUserById(@PathVariable Long id) {
+        return userService.getUserById(id);
     }
 
-    // 显示添加用户的表单
-    @GetMapping("/users/add")
-    public ModelAndView addUser() {
-        ModelAndView modelAndView = new ModelAndView("user/userForm");
-        Userform emptyUserform = new Userform();
-        modelAndView.addObject("user", emptyUserform);
-        return modelAndView;
+    // 添加用户
+    @PostMapping
+    public void addUser(@RequestBody User user) {
+        userService.addUser(user);
     }
 
-    // 显示编辑用户信息的表单
-    @GetMapping("/users/edit/{id}")
-    public ModelAndView editUser(@PathVariable("id") Long id) {
-        ModelAndView modelAndView = new ModelAndView("user/userForm");
-        // 获取需要编辑的用户
-        User userToEdit = userService.getUserById(id);
-
-        // 创建表单对象
-        Userform userform = new Userform(
-                userToEdit.getId(),
-                userToEdit.getEmail(),
-                userToEdit.getUsername()
-        );
-
-        modelAndView.addObject("user", userform);
-        return modelAndView;
+    // 更新用户信息
+//    @PutMapping("/{id}")
+//    public void updateUser(@PathVariable Long id, @RequestBody User user) {
+//        user.setId(id); // 确保更新的对象有正确的 ID
+//        userService.updateUser(user);
+//    }
+
+    // 删除用户
+    @DeleteMapping("/{id}")
+    public void deleteUser(@PathVariable Long id) {
+        userService.deleteUser(id);
     }
 }
\ No newline at end of file
diff --git a/src/main/java/uk/ac/cf/spring/demo/sports/Userdetail/UserService.java b/src/main/java/uk/ac/cf/spring/demo/sports/Userdetail/UserService.java
index 640518b30d217eb4fbc329e25af55424e4655cdd..7c3f4f454e7dbf0a21355658ecddff310d4e2c52 100644
--- a/src/main/java/uk/ac/cf/spring/demo/sports/Userdetail/UserService.java
+++ b/src/main/java/uk/ac/cf/spring/demo/sports/Userdetail/UserService.java
@@ -18,4 +18,6 @@ public interface UserService {
 
     // 添加用户
     void addUser(User user);
+
+    void deleteUser(Long id);
 }
\ No newline at end of file
diff --git a/src/main/java/uk/ac/cf/spring/demo/sports/Userdetail/UserServiceImpl.java b/src/main/java/uk/ac/cf/spring/demo/sports/Userdetail/UserServiceImpl.java
index bfdae7761de7d41de3bc97ff6aec73ef5cc30a6e..b180ab3d2454e8c7f0b86fcc3873e5d04205f286 100644
--- a/src/main/java/uk/ac/cf/spring/demo/sports/Userdetail/UserServiceImpl.java
+++ b/src/main/java/uk/ac/cf/spring/demo/sports/Userdetail/UserServiceImpl.java
@@ -6,9 +6,13 @@ import java.util.List;
 
 @Service
 public class UserServiceImpl implements UserService{
+    private final userDao userDao; // 声明依赖
+    public UserServiceImpl(userDao userDao) {
+        this.userDao = userDao;
+    }
     @Override
     public List<User> getAllUsers() {
-        return null;
+        return userDao.getAllUsers();
     }
 
     @Override
@@ -30,4 +34,9 @@ public class UserServiceImpl implements UserService{
     public void addUser(User user) {
 
     }
+
+    @Override
+    public void deleteUser(Long id) {
+
+    }
 }
diff --git a/src/main/java/uk/ac/cf/spring/demo/sports/Userdetail/userDao.java b/src/main/java/uk/ac/cf/spring/demo/sports/Userdetail/userDao.java
new file mode 100644
index 0000000000000000000000000000000000000000..fa67c47b92eab70cca483012261b532e21b0e9ce
--- /dev/null
+++ b/src/main/java/uk/ac/cf/spring/demo/sports/Userdetail/userDao.java
@@ -0,0 +1,70 @@
+package uk.ac.cf.spring.demo.sports.Userdetail;
+
+import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+@Repository  // 标注为 Spring 管理的 Bean
+public class userDao {
+
+    private final JdbcTemplate jdbcTemplate;
+
+    // 构造函数注入 JdbcTemplate
+    public userDao(JdbcTemplate jdbcTemplate) {
+        this.jdbcTemplate = jdbcTemplate;
+    }
+
+    // get all users
+    public List<User> getAllUsers() {
+        // 查询所有用户的 SQL 语句
+        String sql = "SELECT id, email, username FROM information";
+
+        // 执行查询并将结果映射到 User 对象
+        return jdbcTemplate.query(sql, (rs, rowNum) -> new User(
+                rs.getLong("id"),          // 获取 id
+                rs.getString("email"),     // 获取 email
+                rs.getString("username")   // 获取 username
+        ));
+    }
+
+    // 根据 ID 获取单个用户
+    public User getUserById(Long id) {
+        // 查询单个用户的 SQL 语句
+        String sql = "SELECT id, email, username FROM information WHERE id = ?";
+
+        // 执行查询并返回唯一的 User 对象
+        return jdbcTemplate.queryForObject(sql, new Object[]{id}, (rs, rowNum) -> new User(
+                rs.getLong("id"),          // 获取 id
+                rs.getString("email"),     // 获取 email
+                rs.getString("username")   // 获取 username
+        ));
+    }
+
+    // 添加一个新用户
+    public int addUser(User user) {
+        // 插入用户的 SQL 语句
+        String sql = "INSERT INTO information (email, username) VALUES (?, ?)";
+
+        // 执行插入操作并返回受影响的行数
+        return jdbcTemplate.update(sql, user.getEmail(), user.getUsername());
+    }
+
+    // update user message
+    public int updateUser(User user) {
+        // 更新用户的 SQL 语句
+        String sql = "UPDATE information SET email = ?, username = ? WHERE id = ?";
+
+        // 执行更新操作并返回受影响的行数
+        return jdbcTemplate.update(sql, user.getEmail(), user.getUsername(), user.getId());
+    }
+
+    // delete user
+    public int deleteUser(Long id) {
+        // 删除用户的 SQL 语句
+        String sql = "DELETE FROM information WHERE id = ?";
+
+        // 执行删除操作并返回受影响的行数
+        return jdbcTemplate.update(sql, id);
+    }
+}
diff --git a/src/main/resources/static/css/UserCenter.css b/src/main/resources/static/css/UserCenter.css
new file mode 100644
index 0000000000000000000000000000000000000000..effebd9fb9fd169470b2b6209c4aa50bfabf8228
--- /dev/null
+++ b/src/main/resources/static/css/UserCenter.css
@@ -0,0 +1,10 @@
+/* 顶部区域 */
+.header {
+    background-color: gray;    /* 背景颜色为灰色 */
+    color: white;              /* 字体颜色为白色 */
+    text-align: center;        /* 文字居中对齐 */
+    padding: 20px 0;           /* 上下内边距,增大高度 */
+    margin: 0;                 /* 去掉默认的外边距 */
+    font-size: 24px;           /* 字体大小 */
+    font-weight: bold;         /* 字体加粗 */
+}
\ No newline at end of file
diff --git a/src/main/resources/static/html/UserCenter.html b/src/main/resources/static/html/UserCenter.html
new file mode 100644
index 0000000000000000000000000000000000000000..5a8e9f513d26ef1d8ef470608611f04627ab8b69
--- /dev/null
+++ b/src/main/resources/static/html/UserCenter.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <title>UserCenter</title>
+    <link rel="stylesheet" type="text/css" href="/css/navBar.css">
+    <link rel="stylesheet" href="/css/footer.css">
+    <link rel="stylesheet" href="/css/matchSchedule.css">
+</head>
+<body>
+<div id="navbar-container"></div>
+<div class="title-h1">
+    <h1><p>UserCenter</p></h1>
+</div>
+<table>
+    <thead>
+    <tr>
+        <th>ID</th>
+        <th>Username</th>
+        <th>Email</th>
+        <th>Actions</th>
+    </tr>
+    </thead>
+    <tbody>
+    <!-- 动态生成用户数据 -->
+    <tr th:each="user : ${users}">
+        <td th:text="${user.id}"></td>
+        <td th:text="${user.username}"></td>
+        <td th:text="${user.email}"></td>
+        <td>
+            <a th:href="@{/users/edit/{id}(id=${user.id})}">Edit</a>
+            <a th:href="@{/users/delete/{id}(id=${user.id})}">Delete</a>
+        </td>
+    </tr>
+    </tbody>
+</table>
+<div id="footer-container"></div>
+<script src="/js/UserCenter.js"></script>
+<script src="/js/navBar.js"></script>
+<script src="/js/footer.js"></script>
+<script>
+    loadNavbar('navbar-container');
+    loadFooter('footer-container');
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/src/main/resources/static/js/UserCenter.js b/src/main/resources/static/js/UserCenter.js
new file mode 100644
index 0000000000000000000000000000000000000000..5a1bef3a6200a405aa4b62f210ef7da6afedb037
--- /dev/null
+++ b/src/main/resources/static/js/UserCenter.js
@@ -0,0 +1,38 @@
+// userTable.js
+
+// 动态加载用户数据
+async function loadUsers(id) {
+    try {
+        const response = await fetch('/api/users/${id}'); // 确保后端提供了此 API
+        if (!response.ok) {
+            throw new Error(`HTTP error! Status: ${response.status}`);
+        }
+
+        const users = await response.json();
+
+        // 获取表格的 tbody 元素
+        const tbody = document.querySelector('tbody');
+        tbody.innerHTML = ''; // 清空旧的数据
+
+        // 遍历用户数据并生成表格行
+        users.forEach(user => {
+            const row = document.createElement('tr');
+            row.innerHTML = `
+                <td>${user.id}</td>
+                <td>${user.username}</td>
+                <td>${user.email}</td>
+                <td>
+                    <a href="/users/edit/${user.id}">Edit</a>
+                    <a href="/users/delete/${user.id}">Delete</a>
+                </td>
+            `;
+            tbody.appendChild(row);
+        });
+    }
+    catch (error) {
+        console.error('Error loading users:', error);
+    }
+}
+
+// 等页面加载完成后执行加载操作
+document.addEventListener('DOMContentLoaded', loadUsers);
diff --git a/src/main/resources/templates/Usercenter/Usercenter.html b/src/main/resources/templates/Usercenter/Usercenter.html
index 4f1c57ee84ce5cc4ed12c58ffdb3bb8a24636538..170d68f4ff4ddf962309b5160e6605e7cad0e770 100644
--- a/src/main/resources/templates/Usercenter/Usercenter.html
+++ b/src/main/resources/templates/Usercenter/Usercenter.html
@@ -3,8 +3,10 @@
 <head>
     <meta charset="UTF-8">
     <title>Title</title>
+  <link rel="stylesheet" href="../css/UserCenter.css">
 </head>
 <body>
+
 <table>
   <thead>
   <tr>