源码获取:俺的博客首页 "资源" 里下载!
项目介绍
本项目分为前后台,分为管理员与普通用户两种角色,管理员登录后台,普通用户登录前台;
管理员角色包含以下功能:
管理员角色,管理员登录,订单管理,增删改查用户,图书管理,图书类别管理等功能。
用户角色包含以下功能:
用户首页,查看分类,用户详情,用户注册,查看购物车,提交订单,查看订单,修改个人信息等功能。
环境需要
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");
}
}
}
源码获取:俺的博客首页 "资源" 里下载!