本节的内容在没有数据的情况下实现后台和界面的联调
使用的是下面的三个包
Books.java文件
package com.huxt.model;
/**
* @author weijiangquan
* @date 2022/4/15 -19:38
*/
public class Books {
private double id;
private String name;
private int bookCount;
private String author;
@Override
public String toString() {
return "BooksDao{" +
"id=" + id +
", name='" + name + '\'' +
", bookCount=" + bookCount +
", author='" + author + '\'' +
'}';
}
public double getId() {
return id;
}
public void setId(double id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getBookCount() {
return bookCount;
}
public void setBookCount(int bookCount) {
this.bookCount = bookCount;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
}
BooksDao.java
package com.huxt.Dao;
import com.huxt.model.Books;
import java.util.ArrayList;
/**
* @author weijiangquan
* @date 2022/4/15 -19:38
*/
public class BooksDao {
public ArrayList<Books> getAllBook(){
ArrayList<Books> booksList = new ArrayList<>();
String bookName[] = new String[]{"大学英语","高等数学","java高级程序设计","c++程序设计"};
String bookAthor[] = new String[]{"张三","李四","王五","王二"};
for (int i = 0;i<bookName.length;i++){
Books books = new Books();
books.setId(Math.floor(Math.random()*12314));
books.setName(bookName[i]);
books.setAuthor(bookAthor[i]);
books.setBookCount(55);
booksList.add(books);
}
// 将装有书数据的集合返回给调用者
return booksList;
}
}
BookServlet.java
package com.huxt.servlet;
import com.huxt.Dao.BooksDao;
import com.huxt.model.Books;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.ArrayList;
/**
* @author weijiangquan
* @date 2022/4/15 -19:39
*/
@WebServlet("/booksListServlet")
public class BooksListServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
BooksDao booksDao = new BooksDao();
ArrayList<Books> allBook = booksDao.getAllBook();
req.setAttribute("allBook",allBook);
RequestDispatcher dispatcher = req.getRequestDispatcher("showBook.jsp");
dispatcher.forward(req,resp);
}
}
为了方便将jsp文件写在了web目录下
<%--
Created by IntelliJ IDEA.
User: win
Date: 2022/4/15
Time: 19:39
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<html>
<head>
<title>展示图书的界面</title>
</head>
<body>
<%--在给界面对数据进行展示--%>
<table align="center" border="1">
<caption>图书信息表</caption>
<tr>
<th>图书条目</th>
<th>图书id</th>
<th>书名</th>
<th>作者</th>
<th>图书数量</th>
</tr>
<c:forEach items="${requestScope.allBook}" var="item" varStatus="status">
<tr>
<td>${status.count}</td>
<td>${item.id}</td>
<td>${item.name}</td>
<td>${item.author} </td>
<td>${item.bookCount}</td>
</tr>
</c:forEach>
</table>
</body>
</html>
运行效果如图所示