Java项目:图书商城项目管理系统(java+JSP+bootstrap+servlet+Mysql)

源码获取:俺的博客首页 "资源" 里下载!

项目介绍


本项目分为前后台,分为管理员与普通用户两种角色,管理员登录后台,普通用户登录前台;

管理员角色包含以下功能:

管理员角色,管理员登录,订单管理,增删改查用户,图书管理,图书类别管理等功能。

用户角色包含以下功能:
用户首页,查看分类,用户详情,用户注册,查看购物车,提交订单,查看订单,修改个人信息等功能。

环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 
5.数据库:MySql 5.7版本;
6.是否Maven项目:否;


技术栈

JSP+CSS+jQuery+bootstrap+mysql+servlet

使用说明

1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;
若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行;
3. 将项目中src/utils/DBUtil.java配置文件中的数据库配置改为自己的配置;
4. 运行项目,输入localhost:8080/jsp_book_shop/ 登录 注:tomcat中配置项目路径必须为jsp_book_shop,否则会有异常;
用户账号/密码:user/123456
管理员账号/密码:admin/admin

 

 

 

 

用户管理控制层:

@WebServlet("/UserServlet")
public class UserServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    public UserServlet() {
        super();
    }

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doPost(request, response);
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		String opt = request.getParameter("opt");
		String role = request.getParameter("role");
		//判断是否为管理员操作
		if(role!=null && role.equals("3")){
			optByAdmin(request, response);
			return;
		}
		//登录
		if(opt.equals("login")){
			login(request, response);
			return;
		}
		//注册
		else if(opt.equals("register")){
			register(request, response);
			return;
		}
		//是否登录验证
		if(request.getSession().getAttribute("user")==null){
			response.sendRedirect("login.jsp");
			return;
		}
		//注销
		if(opt.equals("logout")){
			logout(request, response);
		}
		//修改信息
		else if(opt.equals("updateUser")){
			updateUser(request, response);
		}
		//进入个人中心
		else if(opt.equals("show")){
			show(request, response);
		}
	}
	
	/**
	 * 管理员操作
	 * @param request
	 * @param response
	 * @throws ServletException
	 * @throws IOException
	 */
	protected void optByAdmin(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		String opt = request.getParameter("opt");
		//登录
		if(opt.equals("login")){
			loginByAdmin(request, response);
			return;
		}
		//判断是否登录
		Users user = (Users) request.getSession().getAttribute("user");
		if(user==null || user.getUserRoleId()!=3){
			response.sendRedirect("admin/login.jsp");
			return;
		}
		//获取用户列表
		if(opt.equals("userlist")){
			userListByAdmin(request, response);
		}
		//退出
		else if(opt.equals("logout")){
			logoutByAdmin(request, response);
		}
		//删除用户
		else if(opt.equals("del")){
			delUserByAdmin(request, response);
		}
		//锁定用户
		else if(opt.equals("lock")){
			lockUserByAdmin(request, response);
		}
		//解锁用户
		else if(opt.equals("unlock")){
			unLockUserByAdmin(request, response);
		}
		//获取用户信息
		else if(opt.equals("show")){
			showUserByAdmin(request, response);
		}
		//编辑用户
		else if(opt.equals("edit")){
			editUserByAdmin(request, response);
		}
		//注册
		else if(opt.equals("add")){
			addUserByAdmin(request, response);
			return;
		}
	}
	/**
	 * 用户登录
	 * @param request
	 * @param response
	 * @throws ServletException
	 * @throws IOException
	 */
	protected void login(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		ShoppingCart cart = (ShoppingCart) request.getSession().getAttribute("cart");
		if(cart==null){
			cart = new ShoppingCart();
		}
		//获取参数
		String name = request.getParameter("loginId");
		String pwd = request.getParameter("loginPwd");
		//调用登录验证
		UserDaoImpl dao = new UserDaoImpl();
		Users user = dao.doLogin(name, pwd);
		 if(user!=null){
			 //将user对象存入session中,便于前台使用
			 request.getSession().setAttribute("user", user);
			 response.sendRedirect("index.jsp");
			 return;
		 }else{
			 response.sendRedirect("login.jsp");
			 return;
		 }	
		
	}
	/**
	 * 管理员登录
	 * @param request
	 * @param response
	 * @throws ServletException
	 * @throws IOException
	 */
	protected void loginByAdmin(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		ShoppingCart cart = (ShoppingCart) request.getSession().getAttribute("cart");
		if(cart==null){
			cart = new ShoppingCart();
		}
		//获取参数
		String name = request.getParameter("loginId");
		String pwd = request.getParameter("loginPwd");
		//调用登录验证
		UserDaoImpl dao = new UserDaoImpl();
		Users user = dao.doLoginByAdmin(name, pwd);
		 if(user!=null){
			 //将user对象存入session中,便于前台使用
			 request.getSession().setAttribute("user", user);
			 response.sendRedirect("admin/index.jsp");
			 return;
		 }else{
			 response.sendRedirect("admin/login.jsp");
			 return;
		 }	
		
	}
	/**
	 * 用户注销退出
	 * @param request
	 * @param response
	 * @throws ServletException
	 * @throws IOException
	 */
	protected void logout(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		//从session中获取用户信息
		Users user = (Users) request.getSession().getAttribute("user");
		if(user!=null){
			request.getSession().removeAttribute("user");
		}
		response.sendRedirect("login.jsp");
	}
	
	protected void show(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		response.sendRedirect("user/user.jsp");
	}

	/**
	 * 管理员注销退出
	 * @param request
	 * @param response
	 * @throws ServletException
	 * @throws IOException
	 */
	protected void logoutByAdmin(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		//从session中获取用户信息
		Users user = (Users) request.getSession().getAttribute("user");
		if(user!=null){
			request.getSession().removeAttribute("user");
		}
		response.sendRedirect("admin/login.jsp");
	}
	/**
	 * 修改用户信息
	 * @param request
	 * @param response
	 * @throws ServletException
	 * @throws IOException
	 */
	protected void updateUser(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		//获取提交的参数
		String id = (String) request.getParameter("id");
		if(id==null || "".equals(id)){
			response.sendRedirect("login.jsp");
			return;
		}
		String name = (String) request.getParameter("name");
		String mail = (String) request.getParameter("mail");
		String phone = (String) request.getParameter("phone");
		String address = (String) request.getParameter("address");
		//封装成Users对象
		Users user = new Users();
		user.setId(Integer.parseInt(id));
		user.setName(name);
		user.setMail(mail);
		user.setPhone(phone);
		user.setAddress(address);
		//调用dao层方法
		UserDaoImpl dao = new UserDaoImpl();
		Boolean b = dao.updateUser(user);
		//重置session的user信息
		initUser(request, response, Integer.parseInt(id));
		
		//设置修改信息结果字符串
		if(b)
			request.getSession().setAttribute("MSG_USER_UPDATE_RESULT", "个人资料修改成功");
		else
			request.getSession().setAttribute("MSG_USER_UPDATE_RESULT", "个人资料修改失败");
			
		response.sendRedirect("user/userinfo.jsp");	
	}

	/**
	 * 注册用户
	 * @param request
	 * @param response
	 * @throws ServletException
	 * @throws IOException
	 */
	protected void register(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		//获取提交的参数
		String loginId = request.getParameter("loginId");
		String loginPwd = request.getParameter("loginPwd");
		String name = request.getParameter("name");
		String mail = request.getParameter("mail");
		String phone = request.getParameter("phone");
		String address = request.getParameter("address");
		//信息完整性校验
		if(loginId==null 
				|| loginId.equals("") 
				|| loginPwd==null 
				|| loginPwd.equals("") 
				|| mail==null 
				|| mail.equals("")
				|| address==null
				|| address.equals("")){
			request.getSession().setAttribute("MSG_USER_REGISTER_RESULT", "注册失败:请检查注册信息是否正确");
			response.sendRedirect("register.jsp");
			return;
		}
		
		//封装用户信息成Users对象
		Users user = new Users(loginId,loginPwd,name,address,phone,mail,1,1);
		//调用dao层方法
		UserDaoImpl dao = new UserDaoImpl();
		//页面跳转
		if(dao.addUser(user)){
			response.sendRedirect("registerok.jsp");
		}else{
			request.getSession().setAttribute("MSG_USER_REGISTER_RESULT", "注册失败!");
			response.sendRedirect("register.jsp");
		}
		
	}
	
	/**
	 * 初始化用户信息
	 * @param request
	 * @param response
	 * @throws ServletException
	 * @throws IOException
	 */
	private void initUser(HttpServletRequest request, HttpServletResponse response,int userId) throws ServletException, IOException {
		UserDaoImpl dao = new UserDaoImpl();
		Users user = dao.getUserById(userId);
		//将user设置到session中
		request.getSession().setAttribute("user", user);
	}

	/**
	 * 获取用户列表
	 * @param request
	 * @param response
	 * @throws ServletException
	 * @throws IOException
	 */
	private void userListByAdmin(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		UserDaoImpl dao = new UserDaoImpl();
		List<Users> ulist = dao.getUserList();
		//获取分页
		Integer page=1;
		String strPage = request.getParameter("page");
		if(StringUtil.isNumber(strPage)==false){
		}else{
			page =Integer.parseInt(strPage);
		}
		//封装成分页对象
		PageBean<Users> Pager = new PageBean<Users>(page,10,ulist);
		request.getSession().setAttribute("ulist", Pager);
		response.sendRedirect("admin/userlist.jsp");
	}
	/**
	 * 删除用户
	 * @param request
	 * @param response
	 * @throws ServletException
	 * @throws IOException
	 */
	private void delUserByAdmin(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		if(StringUtil.isNumber(request.getParameter("uid"))==false){
			response.sendRedirect("admin/userlist.jsp");
			return;
		}
		int userId = Integer.parseInt(request.getParameter("uid"));
		UserDaoImpl dao = new UserDaoImpl();
		boolean b = dao.delUserByUserId(userId);
		//存入操作信息
		if(b==true){
			request.getSession().setAttribute("ADMIN_MSG_USER","删除成功");
		}else{
			request.getSession().setAttribute("ADMIN_MSG_USER","删除失败");
		}
		userListByAdmin(request, response);
	}
	/**
	 * 锁定用户
	 * @param request
	 * @param response
	 * @throws ServletException
	 * @throws IOException
	 */
	private void lockUserByAdmin(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		if(StringUtil.isNumber(request.getParameter("uid"))==false){
			response.sendRedirect("admin/userlist.jsp");
			return;
		}
		int userId = Integer.parseInt(request.getParameter("uid"));
		UserDaoImpl dao = new UserDaoImpl();
		dao.upUserSate(userId, 2);
		userListByAdmin(request, response);
	}
	/**
	 * 解锁用户
	 * @param request
	 * @param response
	 * @throws ServletException
	 * @throws IOException
	 */
	private void unLockUserByAdmin(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		if(StringUtil.isNumber(request.getParameter("uid"))==false){
			response.sendRedirect("admin/userlist.jsp");
			return;
		}
		int userId = Integer.parseInt(request.getParameter("uid"));
		UserDaoImpl dao = new UserDaoImpl();
		dao.upUserSate(userId, 1);
		userListByAdmin(request, response);
	}
	
	/**
	 * 进入编辑用户页面
	 * @param request
	 * @param response
	 * @throws ServletException
	 * @throws IOException
	 */
	private void showUserByAdmin(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		if(StringUtil.isNumber(request.getParameter("uid"))==false){
			response.sendRedirect("admin/userlist.jsp");
			return;
		}
		int userId = Integer.parseInt(request.getParameter("uid"));
		UserDaoImpl dao = new UserDaoImpl();
		Users u = dao.getUserById(userId);
		if(u!=null){
			//存入需要编辑用户
			request.getSession().setAttribute("editUser",u);
			response.sendRedirect("admin/useredit.jsp");
		}else{
			response.sendRedirect("admin/userlist.jsp");
		}
		
	}
	/**
	 * 编辑用户
	 * @param request
	 * @param response
	 * @throws ServletException
	 * @throws IOException
	 */
	private void editUserByAdmin(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		if(StringUtil.isNumber(request.getParameter("uid"))==false){
			response.sendRedirect("admin/userlist.jsp");
			return;
		}
		int userId = Integer.parseInt(request.getParameter("uid"));
		//提取参数
		String loginId = (String) request.getParameter("loginId");
		String name = (String) request.getParameter("name");
		String mail = (String) request.getParameter("mail");
		String phone = (String) request.getParameter("phone");
		String address = (String) request.getParameter("address");
		int userRoleId =  Integer.parseInt(request.getParameter("userRoleId"));
		int userStateId =  Integer.parseInt(request.getParameter("userStateId"));
		//封装成Users对象
		Users user = new Users();
		user.setId(userId);
		user.setLoginId(loginId);
		user.setName(name);
		user.setMail(mail);
		user.setPhone(phone);
		user.setAddress(address);
		user.setUserRoleId(userRoleId);
		user.setUserStateId(userStateId);
		//调用dao层方法
		UserDaoImpl dao = new UserDaoImpl();
		Boolean b = dao.updateUser(user);
		//设置修改信息结果字符串
		if(b)
			request.getSession().setAttribute("ADMIN_MSG_USER", "信息编辑成功,UID:"+userId);
		else
			request.getSession().setAttribute("ADMIN_MSG_USER", "信息编辑失败,UID:"+userId);
			
		userListByAdmin(request, response);
	}
	/**
	 * 添加用户
	 * @param request
	 * @param response
	 * @throws ServletException
	 * @throws IOException
	 */
	protected void addUserByAdmin(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		//获取提交的参数
		String loginId = request.getParameter("loginId");
		String loginPwd = request.getParameter("loginPwd");
		String name = request.getParameter("name");
		String mail = request.getParameter("mail");
		String phone = request.getParameter("phone");
		int userRoleId = Integer.parseInt(request.getParameter("userRoleId"));
		int userStateId = Integer.parseInt(request.getParameter("userStateId"));
		
		//信息完整性校验
		if(loginId==null 
				|| loginId.equals("") 
				|| loginPwd==null 
				|| loginPwd.equals("") 
				|| mail==null 
				|| mail.equals("")){
			request.getSession().setAttribute("ADMIN_MSG_USER", "添加失败,请检查注册信息是否正确");
			response.sendRedirect("admin/useradd.jsp");
			return;
		}
		
		//封装用户信息成Users对象
		Users user = new Users(loginId,loginPwd,name,null,phone,mail,userRoleId,userStateId);
		//调用dao层方法
		UserDaoImpl dao = new UserDaoImpl();
		//页面跳转
		if(dao.addUser(user)){
			request.getSession().setAttribute("ADMIN_MSG_USER", "添加成功,用户名:"+loginId);
			userListByAdmin(request, response);
		}else{
			request.getSession().setAttribute("ADMIN_MSG_USER", "添加失败!");
			response.sendRedirect("admin/useradd.jsp");
		}
		
	}
}

订单管理控制层:

@WebServlet("/OrderServlet")
public class OrderServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
    public OrderServlet() {
        super();
    }

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doPost(request, response);
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		//判断是否登录
		if(request.getSession().getAttribute("user")==null){
			//跳转页面
			response.sendRedirect("login.jsp");
			return;
		}
		//判断操作
		String opt = request.getParameter("opt");
		if(opt.equals("add")){
			addOrder(request, response);
		}
		if(opt.equals("show")){
			showOrder(request, response);
		}
		
	}
	
	/**
	 * 添加订单
	 * @param request
	 * @param response
	 * @throws ServletException
	 * @throws IOException
	 */
	protected void addOrder(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		//从session中的cart(购物车)对象
		ShoppingCart cart = (ShoppingCart) request.getSession().getAttribute("cart");
		//获取从jsp页面传过来的userId
		Users user = (Users) request.getSession().getAttribute("user");
		//将获取的数据封装成Orders对象
		Orders order = new Orders();
		order.setUserId(user.getId());
		order.setTotalPrice(cart.getTotal());
		//调用dao的添加订单方法
		OrderDaoImpl dao = new OrderDaoImpl();
		int orderId = dao.addOrder(order);
		//如果返回的订单Id不为-1,则表示添加订单成功
		if(orderId!=-1){
			//获取购物车中的所有图书种类
			Collection<ShoppingItem> silist = cart.getItems();
			//遍历每一项图书
			for(ShoppingItem item:silist){
				//封装成OrderBook对象
				OrderBook ob = new OrderBook();
				ob.setOrderId(orderId);
				ob.setBookId(item.getItem().getId());
				ob.setQuantity(item.getAmount());
				ob.setUnitPrice(item.getItem().getUnitPrice());
				//添加到明细表
				dao.addOrderBook(ob);
			}
			//清空购物车
			 request.getSession().removeAttribute("cart");
			
			//页面跳转
			response.sendRedirect("payok.jsp");
		}else{
			//页面跳转
			response.sendRedirect("user/usercart.jsp");
		}
		
	}
	
	/**
	 * 查看订单
	 * @param request
	 * @param response
	 * @throws ServletException
	 * @throws IOException
	 */
	protected void showOrder(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		//获取session中的user对象
		Users user = (Users) request.getSession().getAttribute("user");
		//调用dao层的获取订单方法
		OrderDaoImpl dao = new OrderDaoImpl();
		List<OrderBookCustom> olist = dao.getOrder(user.getId());
		//添加到session中
		request.getSession().setAttribute("olist",olist);
		//页面跳转
		response.sendRedirect("user/userorder.jsp");
	}
	

}

图书管理控制层:

@WebServlet("/BookServlet")
public class BookServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    public BookServlet() {
        super();
    }

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doPost(request, response);
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {	
		String opt = request.getParameter("opt");
		String role = request.getParameter("role");
		//判断是否为管理员操作
		if(role!=null && role.equals("3")){
			optByAdmin(request, response);
			return;
		}
		//操作判断
		if(opt.equals("byTitle")){
			queryByTitle(request, response);
		}else if(opt.equals("byIsbn")){
			queryByIsbn(request, response);
		}else if(opt.equals("byCategory")){
			queryByCategory(request, response);
		}else if(opt.equals("buyBook")){
			buyBook(request, response);
		}else if(opt.equals("search")){
			search(request, response);
		}else if(opt.equals("byPublish")){
			queryByPublish(request, response);
		}else if(opt.equals("byCategoryName")){
			queryByCategoryName(request, response);
		}
		
		else{
			response.sendRedirect("index.jsp");
		}

	}
	/**
	 * 管理员操作
	 * @param request
	 * @param response
	 * @throws ServletException
	 * @throws IOException
	 */
	protected void optByAdmin(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		String opt = request.getParameter("opt");
		//判断是否登录
		Users user = (Users) request.getSession().getAttribute("user");
		if(user==null || user.getUserRoleId()!=3){
			response.sendRedirect("admin/login.jsp");
			return;
		}
		if(opt.equals("booklist")){
			bookListByAdmin(request, response);
		}
		else if(opt.equals("del")){
			delBookByAdmin(request, response);
		}
		else if(opt.equals("show")){
			showBookByAdmin(request, response);
		}
		else if(opt.equals("edit")){
			editBookByAdmin(request, response);
		}
		else if(opt.equals("add")){
			addBookByAdmin(request, response);
		}

	}
	/**
	 * 根据书名获取图书,并且跳转到图书显示页面
	 * @param request
	 * @param response
	 * @throws ServletException
	 * @throws IOException
	 */
	protected void queryByTitle(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		String bname = request.getParameter("value");
		BookDaoImpl dao = new BookDaoImpl();
		List<Books> searchBList = new ArrayList<Books>();
		searchBList = dao.getBooksByTitle(bname);
		//封装成分页对象
		PageBean<Books> Pager = new PageBean<Books>(1,5,searchBList);
		request.getSession().setAttribute("searchBooks", Pager);
		response.sendRedirect("search.jsp");
	}
	/**
	 * 根据出版社名称获取图书,并且跳转到图书显示页面
	 * @param request
	 * @param response
	 * @throws ServletException
	 * @throws IOException
	 */
	protected void queryByPublish(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		String bname = request.getParameter("value");
		BookDaoImpl dao = new BookDaoImpl();
		List<Books> searchBList = new ArrayList<Books>();
		searchBList = dao.getBooksByPublishName(bname);
		//封装成分页对象
		PageBean<Books> Pager = new PageBean<Books>(1,5,searchBList);
		request.getSession().setAttribute("searchBooks", Pager);
		response.sendRedirect("search.jsp");
	}
	/**
	 * 根据分类名称获取图书,并且跳转到图书显示页面
	 * @param request
	 * @param response
	 * @throws ServletException
	 * @throws IOException
	 */
	protected void queryByCategoryName(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		String bname = request.getParameter("value");
		BookDaoImpl dao = new BookDaoImpl();
		List<Books> searchBList = new ArrayList<Books>();
		searchBList = dao.getBooksByCategoryName(bname);
		//封装成分页对象
		PageBean<Books> Pager = new PageBean<Books>(1,5,searchBList);
		request.getSession().setAttribute("searchBooks", Pager);
		response.sendRedirect("search.jsp");
	}
	/**
	 * 根据图书Isbn获取图书,并且跳转到图书显示页面
	 * @param request
	 * @param response
	 * @throws ServletException
	 * @throws IOException
	 */
	protected void queryByIsbn(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		String bname = request.getParameter("value");
		BookDaoImpl dao = new BookDaoImpl();
		List<Books> searchBList = new ArrayList<>();
		Books book = dao.getBooksByIsbn(bname);
		searchBList.add(book);
		//封装成分页对象
		PageBean<Books> Pager = new PageBean<Books>(1,5,searchBList);
		request.getSession().setAttribute("searchBooks", Pager);
		response.sendRedirect("search.jsp");
	}
	
	/**
	 * 根据图书Id获取图书,并且跳转到购买页面
	 * @param request
	 * @param response
	 * @throws ServletException
	 * @throws IOException
	 */
	protected void buyBook(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		///获取图书Id
		int id =Integer.parseInt(request.getParameter("bid"));
		BookDaoImpl dao = new BookDaoImpl();
		Books book = dao.getBooksById(id);
		
		request.getSession().setAttribute("buyBook", book);
		response.sendRedirect("buy.jsp");
	}

	/**
	 * 根据分类Id获取图书
	 * @param request
	 * @param response
	 * @throws ServletException
	 * @throws IOException
	 */
	protected void queryByCategory(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		///获取分类Id
		int cId =Integer.parseInt(request.getParameter("cid"));
		BookDaoImpl dao = new BookDaoImpl();
		List<Books> searchBList = dao.getBooksByCategoryId(cId);
		Integer page=1;
		//获取分页
		String strPage = request.getParameter("page");
		if(strPage==null || "".equals(strPage)){
		}else{
			page =Integer.parseInt(strPage);
		}
		//封装成分页对象
		PageBean<Books> Pager = new PageBean<Books>(page,5,searchBList);
		
		request.getSession().setAttribute("searchBooks", Pager);
		response.sendRedirect("search.jsp");
	}
	
	/**
	 * 查询
	 * @param request
	 * @param response
	 * @throws ServletException
	 * @throws IOException
	 */
	protected void search(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		//
		@SuppressWarnings("unchecked")
		PageBean<Books> pageBean = (PageBean<Books>) request.getSession().getAttribute("searchBooks");
		if(pageBean!=null){
			List<Books> searchBList = pageBean.getSourceList();
			if(searchBList!=null){
				//获取分页
				Integer page =Integer.parseInt(request.getParameter("page"));
				if(page==null || page<1) page=1;
				//封装成分页对象
				PageBean<Books> Pager = new PageBean<Books>(page,5,searchBList);
				
				request.getSession().setAttribute("searchBooks", Pager);
				response.sendRedirect("search.jsp");
				return;
			}
		}
		response.sendRedirect("index.jsp");
	}
	
	/**
	 * 获取图书列表
	 * @param request
	 * @param response
	 * @throws ServletException
	 * @throws IOException
	 */
	private void bookListByAdmin(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		BookDaoImpl dao = new BookDaoImpl();
		List<Books> blist = dao.getBookList();
		//获取分页
		Integer page=1;
		String strPage = request.getParameter("page");
		if(StringUtil.isNumber(strPage)==false){
		}else{
			page =Integer.parseInt(strPage);
		}
		//封装成分页对象
		PageBean<Books> Pager = new PageBean<Books>(page,20,blist);
		request.getSession().setAttribute("blist", Pager);
		response.sendRedirect("admin/booklist.jsp");
	}
	/**
	 * 删除图书
	 * @param request
	 * @param response
	 * @throws ServletException
	 * @throws IOException
	 */
	private void delBookByAdmin(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		if(StringUtil.isNumber(request.getParameter("bid"))==false){
			response.sendRedirect("admin/booklist.jsp");
			return;
		}
		int bookId = Integer.parseInt(request.getParameter("bid"));
		BookDaoImpl dao = new BookDaoImpl();
		boolean b = dao.delBookBookId(bookId);
		//存入操作信息
		if(b==true){
			request.getSession().setAttribute("ADMIN_MSG_BOOK","删除成功");
		}else{
			request.getSession().setAttribute("ADMIN_MSG_BOOK","删除失败");
		}
		bookListByAdmin(request, response);
	}
	/**
	 * 进入编辑图书页面
	 * @param request
	 * @param response
	 * @throws ServletException
	 * @throws IOException
	 */
	private void showBookByAdmin(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		if(StringUtil.isNumber(request.getParameter("bid"))==false){
			response.sendRedirect("admin/booklist.jsp");
			return;
		}
		int bookId = Integer.parseInt(request.getParameter("bid"));
		BookDaoImpl dao = new BookDaoImpl();
		Books b = dao.getBooksById(bookId);
		if(b!=null){
			//存入需要编辑用户
			request.getSession().setAttribute("editBook",b);
			response.sendRedirect("admin/bookedit.jsp");
		}else{
			response.sendRedirect("admin/booklist.jsp");
		}
		
	}
	/**
	 * 编辑图书
	 * @param request
	 * @param response
	 * @throws ServletException
	 * @throws IOException
	 */
	private void editBookByAdmin(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		if(StringUtil.isNumber(request.getParameter("bid"))==false){
			response.sendRedirect("admin/booklist.jsp");
			return;
		}
		int bookId = Integer.parseInt(request.getParameter("bid"));
		//提取参数
		String title = request.getParameter("title");
		Double unitPrice =  Double.parseDouble(request.getParameter("unitPrice"));
		String author =  request.getParameter("author");
		int categoryId =  Integer.parseInt(request.getParameter("categoryId"));
		int publisherId =  Integer.parseInt(request.getParameter("publisherId"));
		String publishDate = request.getParameter("publishDate");
		String isbn =  request.getParameter("ISBN");
		int wordsCount =Integer.parseInt( request.getParameter("wordsCount"));
		String contentDescription =  request.getParameter("contentDescription");
		String authorDescription =  request.getParameter("authorDescription");
		//封装对象
		Books book = new Books();
		book.setId(bookId);
		book.setTitle(title);
		book.setUnitPrice(unitPrice);
		book.setAuthor(author);
		book.setCategoryId(categoryId);
		book.setPublisherId(publisherId);
		book.setPublishDate(publishDate);
		book.setIsbn(isbn);
		book.setWordsCount(wordsCount);
		book.setContentDescription(contentDescription);
		book.setAuthorDescription(authorDescription);
		//调用dao层方法
		BookDaoImpl dao = new BookDaoImpl();
		Boolean b = dao.upBook(book);
		//设置修改信息结果字符串
		if(b)
			request.getSession().setAttribute("ADMIN_MSG_BOOK", "信息编辑成功,BID:"+bookId);
		else
			request.getSession().setAttribute("ADMIN_MSG_BOOK", "信息编辑失败,BID:"+bookId);
			
		showBookByAdmin(request, response);
	}
	/**
	 * 添加图书
	 * @param request
	 * @param response
	 * @throws ServletException
	 * @throws IOException
	 */
	protected void addBookByAdmin(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		//获取提交的参数
		String title = request.getParameter("title");
		Double unitPrice =  Double.parseDouble(request.getParameter("unitPrice"));
		String author =  request.getParameter("author");
		int categoryId =  Integer.parseInt(request.getParameter("categoryId"));
		int publisherId =  Integer.parseInt(request.getParameter("publisherId"));
		String publishDate = request.getParameter("publishDate");
		String isbn =  request.getParameter("ISBN");
		int wordsCount =Integer.parseInt( request.getParameter("wordsCount"));
		String contentDescription =  request.getParameter("contentDescription");
		String authorDescription =  request.getParameter("authorDescription");
		
		//信息完整性校验
		if(title==null 
				|| title.equals("") 
				|| unitPrice==null 
				|| unitPrice<0){
			request.getSession().setAttribute("ADMIN_MSG_BOOK", "添加失败,请检查图书信息是否正确");
			response.sendRedirect("admin/useradd.jsp");
			return;
		}
		//封装对象
		Books book = new Books();
		book.setTitle(title);
		book.setUnitPrice(unitPrice);
		book.setAuthor(author);
		book.setCategoryId(categoryId);
		book.setPublisherId(publisherId);
		book.setPublishDate(publishDate);
		book.setIsbn(isbn);
		book.setWordsCount(wordsCount);
		book.setContentDescription(contentDescription);
		book.setAuthorDescription(authorDescription);
		//调用dao层方法
		BookDaoImpl dao = new BookDaoImpl();
		//页面跳转
		if(dao.addBook(book)){
			request.getSession().setAttribute("ADMIN_MSG_BOOK", "添加成功,图书:"+title);
			bookListByAdmin(request, response);
		}else{
			request.getSession().setAttribute("ADMIN_MSG_BOOK", "添加失败!");
			response.sendRedirect("admin/bookadd.jsp");
		}
		
	}
}

源码获取:俺的博客首页 "资源" 里下载!

猜你喜欢

转载自blog.csdn.net/pastclouds/article/details/125296016