2、题目:书籍入库:要求在前端页面书写书籍的名字,作者,价格等,创建实体类。然后用servlet 将其发送到session中。然后持久化,设置cookie 的时间也是半个小时,然后显示输出发上去的书籍,然后加一个移除书本,移除
时间: 2024-10-16 22:20:20 浏览: 27
在Web开发中,创建一个书籍入库功能通常涉及到以下几个步骤:
1. **前端界面**:
- 使用HTML表单在前端页面上展示输入框,用户可以填写书籍信息,包括名称(bookName)、作者(author)和价格(price)。例如,可以有 `<input type="text" id="bookName">`、`<input type="text" id="author">` 和 `<input type="number" id="price">`。
2. **实体类(Model)**:
- 创建一个名为`Book`的Java实体类,包含属性如`private String bookName;`, `private String author;` 和 `private double price;`。同时提供相应的getter和setter方法。
```java
public class Book {
private String bookName;
private String author;
private double price;
// getters and setters
}
```
3. **Servlet(Server-Side)**:
- 写一个Servlet来接收前端提交的数据。比如,通过POST请求处理书籍入库,先将数据保存到HttpServletRequest对象中,然后设置到session中,便于后续访问。
```java
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.IOException;
@WebServlet("/addBook")
public class AddBookServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Book book = new Book();
book.setBookName(request.getParameter("bookName"));
book.setAuthor(request.getParameter("author"));
book.setPrice(Double.parseDouble(request.getParameter("price")));
HttpSession session = request.getSession();
session.setAttribute("book", book);
// 设置cookie
Cookie cookie = new Cookie("lastBook", book.toString());
cookie.setMaxAge(1800); // 半小时过期(单位:秒)
response.addCookie(cookie);
}
}
```
4. **页面跳转与显示**:
- 添加成功后,前端页面可以重定向到另一个页面显示已添加的书籍,从session中取出书籍对象并显示出来。
5. **删除操作**:
- 用户可以选择删除书籍,可以在前端提供一个按钮链接到一个删除Servlet。删除Servlet会从session或数据库中移除指定的书籍,并更新相关的cookie。
```java
@WebServlet("/deleteBook")
protected void deleteBook(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 从session或数据库获取待删除的书籍
Book bookToRemove = (Book) request.getSession().getAttribute("book");
// 删除逻辑...
if (bookToRemove != null) {
request.getSession().removeAttribute("book"); // 移除session中的书籍
// 更新cookie或数据库
// ...
}
}
```
阅读全文