案例来自www.51doit.com多易教育–行哥的小案例练习
需求:客户端页面显示用户数据 和 删除 数据
展示用户数据
1. 用户组绑定Servlet文件
//day13是项目名 Users是Servlet文件
<a href="/day13/Users">用户组</a>
2. Users实现
protected void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try {
UserService userService = new UserServiceImpl();
//调用Service层的showAllUsers 得到所有用户信息
List<User> showAllUsers = userService.showAllUsers();
//将list集合添加到request域中
request.setAttribute("list", showAllUsers);
//转发到/page/views/users.jsp
request.getRequestDispatcher("/page/views/users.jsp").forward(request, response);
} catch (Exception e) {
e.printStackTrace();
}
}
2.1 Service层实现
@Override
public int deleteUser(String name, String pwd) throws Exception {
return userDao.deleteUser(name, pwd);
}
2.2 Dao层实现
static QueryRunner runner;
static {
//数据库建立连接
ComboPooledDataSource dataSource = new ComboPooledDataSource();
runner = new QueryRunner(dataSource);
}
@Override
public List<User> getAllUsers() throws Exception {
String sql = "select *,phone_num phoneNum from user";
return runner.query(sql, new BeanListHandler<>(User.class));
}
3. user.jsp
<!--导入jstl 核心标签库 -->
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="x" %>
<!-- jstl结合El表达式获取域中数据-->
<x:forEach items="${list}" var="user">
<tr>
<td>${user.name }</td>
<td>${user.gerder }</td>
<td>${user.address }</td>
<td>${user.phoneNum } <button type="button"><a href="/day13/UserDelete?name=${user.name},pwd=${user.password}">删除</a></button></td>
</tr>
</x:forEach>
删除用户数据
1. 在td标签中添加删除按钮
<td>${user.phoneNum }
<button type="button">
//?后面跟要提交给服务端的数据
<a href="/day13/UserDelete?name=${user.name},pwd=${user.password}">删除
</a>
</button>
</td>
2. UserDelete实现
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
try {
//苍老师andpwd=654321
String queryString = request.getParameter("name");
//切割 之后 [苍老师, pwd=654321]
String[] split = queryString.split(",");
//再切
String name = split[0];
String pwd = split[1].split("=")[1];
UserService userService = new UserServiceImpl();
int deleteUser = userService.deleteUser(name,pwd);
if(deleteUser>0) {
//删除user成功,将所有用户信息添加到request域中
List<User> showAllUsers = userService.showAllUsers();
request.setAttribute("list", showAllUsers);
//转发
request.getRequestDispatcher("/page/views/users.jsp").forward(request, response);
}
} catch (Exception e) {
e.printStackTrace();
}
}