servlet实现增删改查
时间: 2023-08-29 15:08:12 浏览: 71
好的,这里是一个简单的示例代码,展示了如何使用Servlet实现增删改查操作:
```java
@WebServlet("/user")
public class UserServlet extends HttpServlet {
private UserDao userDao = new UserDaoImpl();
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String action = request.getParameter("action");
if ("list".equals(action)) {
List<User> userList = userDao.getAllUsers();
request.setAttribute("userList", userList);
request.getRequestDispatcher("/user/list.jsp").forward(request, response);
} else if ("delete".equals(action)) {
int userId = Integer.parseInt(request.getParameter("userId"));
userDao.deleteUserById(userId);
response.sendRedirect(request.getContextPath() + "/user?action=list");
} else if ("edit".equals(action)) {
int userId = Integer.parseInt(request.getParameter("userId"));
User user = userDao.getUserById(userId);
request.setAttribute("user", user);
request.getRequestDispatcher("/user/edit.jsp").forward(request, response);
} else if ("add".equals(action)) {
request.getRequestDispatcher("/user/add.jsp").forward(request, response);
}
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String action = request.getParameter("action");
if ("save".equals(action)) {
User user = new User();
user.setName(request.getParameter("name"));
user.setAge(Integer.parseInt(request.getParameter("age")));
user.setAddress(request.getParameter("address"));
userDao.addUser(user);
response.sendRedirect(request.getContextPath() + "/user?action=list");
} else if ("update".equals(action)) {
int userId = Integer.parseInt(request.getParameter("userId"));
User user = userDao.getUserById(userId);
user.setName(request.getParameter("name"));
user.setAge(Integer.parseInt(request.getParameter("age")));
user.setAddress(request.getParameter("address"));
userDao.updateUser(user);
response.sendRedirect(request.getContextPath() + "/user?action=list");
}
}
}
```
在这个示例中,我们定义了一个名为`UserServlet`的Servlet类,实现了`doGet()`和`doPost()`方法。`doGet()`方法根据请求中的`action`参数,来决定执行增删改查操作的哪一个,然后使用`requestDispatcher`对象将请求转发到相应的JSP页面。
`doPost()`方法同样根据请求中的`action`参数,来决定执行增删改的哪一个操作,然后根据请求中的参数创建一个`User`对象,使用`userDao`对象来执行相应的数据库操作,最后重定向到用户列表页面。
在这个示例中,我们使用了一个`UserDao`接口来定义了增删改查的操作,并实现了一个`UserDaoImpl`类来实现这个接口,这部分代码可以自己实现,这里不再赘述。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)