⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bookservlet.java

📁 图书馆管理的源代码文件
💻 JAVA
字号:
package com.nitpro.webmvc.servlet;

import java.io.IOException;
import java.util.Date;
import java.util.List;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.nitpro.utils.Utils;
import com.nitpro.webmvc.bean.Book;
import com.nitpro.webmvc.model.BookModel;

public class BookServlet extends HttpServlet {
	protected void service(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		req.setCharacterEncoding("UTF-8");
		String method = req.getParameter("method");
		if ("new".equals(method)) {
			newBook(req, resp);
		} else if ("all".equals(method)) {
			listAllBook(req, resp);
		} else if ("delete".equals(method)) {
			deleteBook(req, resp);
		} else if ("modify".equals(method)) {
			modifyBook(req, resp);
		} else if ("update".equals(method)) {
			updateBook(req, resp);
		}
	}

	private void newBook(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		//如果没有输入book_name或者price
		//则返回bookedit.jsp,要求重新输入。
		//并且把已经输入的内容保留下(技巧,可以通过把bookid设置为0,来形成一个带有内容的增加)
		String book_name = req.getParameter("book_name").trim();
		String author = req.getParameter("author").trim();
		String idbn = req.getParameter("idbn").trim();
		String pub_date_str = req.getParameter("pub_date").trim();
		Date pub_date = Utils.strToDate(pub_date_str, "yyyy-MM-dd");
		String publisher = req.getParameter("publisher").trim();
		String price_str = req.getParameter("price").trim();
		Double price = Utils.strToDouble(price_str);

		Book book = new Book();
		book.setBook_id(0);
		book.setBook_name(book_name);
		book.setAuthor(author);
		book.setIdbn(idbn);
		book.setPub_date(pub_date);
		book.setPublisher(publisher);
		book.setPrice(price);
		
		
		String msg = "";
		if (("".equals(book_name)) || (price == null)) {
			msg = "必须填写图书名称以及价格!";
		}
		if("".equals(msg)){
			BookModel bm = new BookModel();
			bm.addNewBook(book);
			listAllBook(req, resp);
		}else{
			req.setAttribute("book", book);
			req.setAttribute("msg", msg);
			RequestDispatcher rd = req.getRequestDispatcher("/books/bookedit.jsp");
			rd.forward(req, resp);
		}
	}

	private void listAllBook(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		BookModel bm = new BookModel();
		List<Book> list = bm.getAllBook();
		req.setAttribute("booklist", list);
		RequestDispatcher rd = req.getRequestDispatcher("/books/booklist.jsp");
		rd.forward(req, resp);
	}

	private void deleteBook(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		//在页面里面要经过提示之后才能进入本方法

		String bookid_str = req.getParameter("book_id");
		Integer bookid = Utils.strToInteger(bookid_str);
		if (bookid != null) {
			BookModel bm = new BookModel();
			bm.deleteBook(bookid);
		}
		listAllBook(req, resp);
	}

	private void modifyBook(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		String bookid_str = req.getParameter("book_id");
		Integer bookid = Utils.strToInteger(bookid_str);
		if (bookid != null) {
			BookModel bm = new BookModel();
			Book book = bm.getBookById(bookid);
			req.setAttribute("book", book);
			RequestDispatcher rd = req.getRequestDispatcher("/books/bookedit.jsp");
			rd.forward(req, resp);
		} else {
			listAllBook(req, resp);
		}
	}

	private void updateBook(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		//与增加要求一样
		String book_id_str = req.getParameter("book_id").trim();
		Integer book_id = Utils.strToInteger(book_id_str);
		String book_name = req.getParameter("book_name").trim();
		String author = req.getParameter("author").trim();
		String idbn = req.getParameter("idbn").trim();
		String pub_date_str = req.getParameter("pub_date").trim();
		Date pub_date = Utils.strToDate(pub_date_str, "yyyy-MM-dd");
		String publisher = req.getParameter("publisher").trim();
		String price_str = req.getParameter("price").trim();
		Double price = Utils.strToDouble(price_str);
		Book book = new Book();
		book.setBook_id(book_id);
		book.setBook_name(book_name);
		book.setAuthor(author);
		book.setIdbn(idbn);
		book.setPub_date(pub_date);
		book.setPublisher(publisher);
		book.setPrice(price);

		String msg = "";
		if (("".equals(book_name)) || (price == null)) {
			msg = "必须填写图书名称以及价格!";
		}
		if("".equals(msg)){
			BookModel bm = new BookModel();
			bm.updateBook(book);
			listAllBook(req, resp);
		}else{
			req.setAttribute("book", book);
			req.setAttribute("msg", msg);
			RequestDispatcher rd = req.getRequestDispatcher("/books/bookedit.jsp");
			rd.forward(req, resp);
		}
		
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -