返回

超越分页!SSM打造全能增删查改系统,网页交互应有尽有

前端

构建一个功能齐全的分页和模糊查询的增删查改系统

引言:

在信息爆炸的时代,有效地管理和处理数据至关重要。SSM框架作为一种功能强大的Java Web开发框架,提供了一种简便的方法来构建复杂的Web应用程序。本文将指导您使用SSM框架创建一个完整的增删查改系统,其中包含分页和模糊查询功能。

一、准备工作

在开始构建系统之前,您需要准备以下必备工具和环境:

  • Java开发环境 (JDK)
  • Apache Tomcat服务器
  • MySQL数据库
  • SSM框架
  • HTML、CSS和JavaScript

二、构建控制器

控制器是Web应用程序的核心,负责处理用户的请求并返回响应。SSM框架通过注解简化了控制器的开发。

1. 创建控制器类

首先,创建一个控制器类来处理用户的请求并返回结果:

@Controller
public class UserController {

    // 注入UserService
    @Autowired
    private UserService userService;

    // 处理用户列表请求
    @GetMapping("/users")
    public String listUsers(Model model) {
        List<User> users = userService.findAll();
        model.addAttribute("users", users);
        return "users";
    }

    // 处理添加用户请求
    @PostMapping("/users")
    public String addUser(@RequestParam String username, @RequestParam String password) {
        User user = new User();
        user.setUsername(username);
        user.setPassword(password);
        userService.save(user);
        return "redirect:/users";
    }

    // 处理获取用户详情请求
    @GetMapping("/users/{id}")
    public String getUserById(@PathVariable Long id, Model model) {
        User user = userService.findById(id);
        model.addAttribute("user", user);
        return "user";
    }

    // 处理更新用户请求
    @PostMapping("/users/{id}")
    public String updateUser(@PathVariable Long id, @RequestParam String username, @RequestParam String password) {
        User user = userService.findById(id);
        user.setUsername(username);
        user.setPassword(password);
        userService.save(user);
        return "redirect:/users";
    }

    // 处理删除用户请求
    @GetMapping("/users/{id}/delete")
    public String deleteUserById(@PathVariable Long id) {
        userService.deleteById(id);
        return "redirect:/users";
    }
}

2. 配置路由

在Spring MVC的配置文件中配置路由,将请求映射到控制器方法:

<mvc:annotation-driven />

<mvc:view-controller path="/" view-name="index" />
<mvc:view-controller path="/users" view-name="users" />
<mvc:view-controller path="/users/{id}" view-name="user" />

三、构建模型

模型是应用程序的数据存储层,负责存储和管理数据。

1. 创建实体类

实体类代表数据库中的表:

@Entity
@Table(name = "users")
public class User {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    @Column(name = "username")
    private String username;

    @Column(name = "password")
    private String password;

    // 省略getter和setter方法
}

2. 创建数据访问层

数据访问层负责与数据库进行交互:

public interface UserRepository extends JpaRepository<User, Long> {

    List<User> findByUsernameLike(String username);

}

四、构建视图

视图是应用程序的前端界面,负责向用户展示数据。

1. 创建模板文件

定义页面的基本结构:

<!DOCTYPE html>
<html>
<head>
    
</head>
<body>
    <h1>用户列表</h1>
    <table border="1">
        <thead>
            <tr>
                <th>ID</th>
                <th>用户名</th>
                <th>密码</th>
                <th>操作</th>
            </tr>
        </thead>
        <tbody>
            <#list users as user>
                <tr>
                    <td>${user.id}</td>
                    <td>${user.username}</td>
                    <td>${user.password}</td>
                    <td>
                        <a href="/users/${user.id}">查看</a>
                        <a href="/users/${user.id}/edit">修改</a>
                        <a href="/users/${user.id}/delete">删除</a>
                    </td>
                </tr>
            </#list>
        </tbody>
    </table>

    <br>

    <h1>添加用户</h1>
    <form action="/users" method="post">
        <label for="username">用户名:</label>
        <input type="text" id="username" name="username">
        <br>
        <label for="password">密码:</label>
        <input type="password" id="password" name="password">
        <br>
        <input type="submit" value="添加">
    </form>
</body>
</html>

2. 创建CSS文件

定义页面的样式:

body {
    font-family: Arial, sans-serif;
}

table {
    border-collapse: collapse;
    width: 100%;
}

th, td {
    border: 1px solid black;
    padding: 5px;
}

th {
    text-align: center;
}

input[type=text], input[type=password] {
    width: 100%;
    padding: 12px 20px;
    margin: 8px 0;
    box-sizing: border-box;
}

input[type=submit] {
    background-color: #4CAF50;
    color: white;
    padding: 14px 20px;
    margin: 8px 0;
    border: none;
    cursor: pointer;
    width: 100%;
}

input[type=submit]:hover {
    opacity: 0.8;
}

3. 创建JavaScript文件

负责页面的交互:

function deleteUser(id) {
    if (confirm("确定要删除该用户吗?")) {
        window.location.href = "/users/" + id + "/delete";
    }
}

五、测试系统

使用Postman测试系统:

1. 安装Postman

Postman是一个HTTP客户端,用于发送HTTP请求并查看响应。

2. 创建请求

在Postman中创建请求:

  • 选择“GET”请求方法。
  • 输入系统URL。
  • 添加“Content-Type: application/json”头。
  • 添加请求正文。

3. 发送请求

单击“发送”按钮发送请求。如果系统正常工作,您将在“响应”字段中看到结果。

六、常见问题解答

  1. 如何实现分页?

    • 在控制器中使用@Pageable注解,并在视图中使用分页相关标签。
  2. 如何实现模糊查询?

    • 在数据访问层中使用findByUsernameLike方法。
  3. 如何防止SQL注入攻击?

    • 使用PreparedStatement或JPA参数绑定来防止SQL注入攻击。
  4. 如何处理异常?

    • 在控制器中使用@ExceptionHandler注解来处理异常。
  5. 如何部署系统?

    • 将系统部署到Web服务器(例如Tomcat)并配置Web.xml文件。

结论

本文通过使用SSM框架构建了一个功能齐全的增删查改系统,其中包含分页和模糊查询功能。该系统展示了如何有效地管理和处理数据,同时提供了灵活和用户友好的界面。通过遵循本文中的步骤,您可以构建自己的Web应用程序来满足您的特定需求。