一、 图书列表功能
** 1、 从数据库取出数据展示图书信息**
** BooksDao--->BooksDaoImpl**
public class BooksDaoImpl extends BaseDao implements BooksDao {
@Override
public List<Books> queryBooks() throws Exception {
String sql = "select id,title,author,isbn,stock,publish_date publishDate,category from books";
return getBeanList(Books.class,sql);
}
}
** BooksServlet**
package com.hnjt.servlet;
import com.hnjt.dao.BooksDao;
import com.hnjt.dao.impl.BooksDaoImpl;
import com.hnjt.entity.Books;
import com.hnjt.thymeleaf.CustomTemplateEngine;
import com.hnjt.thymeleaf.ModelServlet;
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import lombok.extern.slf4j.Slf4j;
import java.io.IOException;
import java.util.List;
@Slf4j
@WebServlet("/booksServlet")
public class BooksServlet extends ModelServlet {
private BooksDao booksService = new BooksDaoImpl();
/**
* 1、查询书籍信息B
* @param req
* @param resp
* @throws ServletException
* @throws IOException
*/
public void list(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
CustomTemplateEngine engine = CustomTemplateEngine.getInstance(req);
try {
System.out.println("执行list方法...");
// 查询书籍信息
List<Books> books = booksService.queryBooks();
// 将书籍信息保存到request域中
req.setAttribute("books", books);
} catch (Exception e) {
throw new RuntimeException(e);
}
// 转发到list.html页面
engine.processTemplate("list", req, resp);
}
}
** 2、美化列表页面**
使用Bootstrap3框架引入,使得页面更加漂亮直观
拷贝最新版本的Link链接
<!-- 最新版本的 Bootstrap 核心 CSS 文件 --> <link rel="stylesheet" href="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/3.4.1/css/bootstrap.min.css">
** 4、启动服务,运行如下:**


二、删除图书功能
1、 BooksServlet
/**
* 2、删除书籍信息
* @param req
* @param resp
* @throws ServletException
* @throws IOException
*/
public void remove(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
CustomTemplateEngine engine = CustomTemplateEngine.getInstance(req);
try {
System.out.println("执行remove方法...");
int id = Integer.parseInt(req.getParameter("id"));
System.out.println("id=>>>" + id);
// 删除书籍信息
booksService.deleteBook(id);
// 重定向到list.html页面
resp.sendRedirect( req.getContextPath()+"/booksServlet?method=list");
} catch (Exception e) {
e.printStackTrace();
}
2、BooksDaoImpl.java
@Override
public boolean deleteBook(int id) throws Exception {
String sql = "delete from books where id = ?";
if (update(sql, id) > 0) return true;
else return false;
}
3、列表页面list.html 添加Jquery3来提示删除对话框
<!-- jquery库文件-->
<script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
<script>
// 删除按钮的点击事件
$(".delBtn").click(function (e) {
var flag= confirm("确定要删除吗?");
// 如果用户点击取消,阻止表单提交
if(!flag){
e.preventDefault();
}
});
</script>
</body>
3、启动服务,运行如下:
** 1)单击删除-》提示对话框**

2)单击删除》删除数据
