继续填坑,把剩余部分写完
图书的增删改查
直接上代码
//BookServlet
package com.oracle.controller;
public class BookServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
//action
String action = request.getParameter("action");
//先得到分类表
if("addUI".equals(action)) {
//得到所有的分类,返回一个list
List<Fenlei> list = FenleiServiceFactory.getFenleiService().showAll();
request.getSession().setAttribute("flist", list);
response.sendRedirect("addbook.jsp");
}
//然后添加图书
if("addBook".equals(action)) {
Integer fid = Integer.parseInt( request.getParameter("fid") );//分类id
String name = request.getParameter("bname");//书名
String money = request.getParameter("money");//价格
double money_d = Double.parseDouble(money);
String press = request.getParameter("press");//出版社
String ly_author = request.getParameter("ly_author");//借书人
String status = request.getParameter("status");//状态
Book book = new Book(null,fid,name,money_d,press,ly_author,status);
//添加图书
int i = BookServiceFactory.getBookService().addBook(book);
if(i == 0) {
//失败
System.out.println("添加失败");
//注意这里的重定向路径,要定向到Servlet,要不然没有分类列表的数据
response.sendRedirect("BookServlet?action=addUI");
}else {
System.out.println("添加成功");
//这里也同样是
response.sendRedirect("BookServlet?action=showBook");
}
}
//显示图书
if("showBook".equals(action)) {
//封装一个PgaeBean对象
int pageSize = 3; //一页有多少条数据
PageBean<Book> pb = BookServiceFactory.getBookService().showFenlei(this.getPageNow(request),pageSize);
//把数据发送到页面
request.getSession().setAttribute("pb", pb);
response.sendRedirect("showBook.jsp");
return;
}
//修改图书第一步,选中提交到服务器
if("select".equals(action)) {
String idid = request.getParameter("id");
int id = Integer.parseInt(idid);
//得到分类list表
List<Fenlei> list = FenleiServiceFactory.getFenleiService().showAll();
request.getSession().setAttribute("flist", list);
//得到用户要修改的book
Book book = BookServiceFactory.getBookService().select(id);
request.getSession().setAttribute("b", book);
response.sendRedirect("changeBook.jsp");
}
//第二步,用户修改完后,更新数据
if("update".equals(action)) {
String id = request.getParameter("id");
int bid = Integer.parseInt(id);
Integer fid = Integer.parseInt( request.getParameter("fid") );//分类id
String name = request.getParameter("bname");//书名
String money = request.getParameter("money");//价格
double money_d = Double.parseDouble(money);
String press = request.getParameter("press");//出版社
String ly_author = request.getParameter("ly_author");//借书人
String status = request.getParameter("status");//状态
Book book = new Book(bid,fid,name,money_d,press,ly_author,status);
//更新数据库
int i = BookServiceFactory.getBookService().update(book);
if(i==0) {
//失败
response.sendRedirect("BookServlet?action=select");
}else {
//成功
response.sendRedirect("BookServlet?action=showBook");
}
}
//删除
if("delete".equals(action)) {
//注意,这里不能转换为int,因为可能是(1,2,3 这种,需要处理),我们放到dao层处理
String ids = request.getParameter("id");
int i = BookServiceFactory.getBookService().delete(ids);
if(i == 0) {
//失败
request.getSession().setAttribute("mag", "删除失败");
response.sendRedirect("BookServlet?action=showBook");
}else {
request.getSession().setAttribute("mag", "删除" + i + "本图书成功");
response.sendRedirect("BookServlet?action=showBook");
}
}
}
//得到当前页数,和FenleiServlet里的写法一致
private int getPageNow(HttpServletRequest request) {
String pageNow = request.getParameter("pageNow");
if(pageNow==null || pageNow.trim().isEmpty()) {
return 1;
}
return Integer.parseInt(pageNow);
}
}
- 添