返回
超越分页!SSM打造全能增删查改系统,网页交互应有尽有
前端
2023-06-11 02:32:29
构建一个功能齐全的分页和模糊查询的增删查改系统
引言:
在信息爆炸的时代,有效地管理和处理数据至关重要。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. 发送请求
单击“发送”按钮发送请求。如果系统正常工作,您将在“响应”字段中看到结果。
六、常见问题解答
-
如何实现分页?
- 在控制器中使用
@Pageable
注解,并在视图中使用分页相关标签。
- 在控制器中使用
-
如何实现模糊查询?
- 在数据访问层中使用
findByUsernameLike
方法。
- 在数据访问层中使用
-
如何防止SQL注入攻击?
- 使用PreparedStatement或JPA参数绑定来防止SQL注入攻击。
-
如何处理异常?
- 在控制器中使用
@ExceptionHandler
注解来处理异常。
- 在控制器中使用
-
如何部署系统?
- 将系统部署到Web服务器(例如Tomcat)并配置Web.xml文件。
结论
本文通过使用SSM框架构建了一个功能齐全的增删查改系统,其中包含分页和模糊查询功能。该系统展示了如何有效地管理和处理数据,同时提供了灵活和用户友好的界面。通过遵循本文中的步骤,您可以构建自己的Web应用程序来满足您的特定需求。