基于javaweb+mysql的jsp+servlet在线书店购书(java+jsp+servlet+mysql+tomcat)
运行环境
Java≥8、MySQL≥5.7、Tomcat≥8
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
Jdk1.8 + Tomcat8.5 + mysql + Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)
基于javaweb+mysql的JSP+Servlet在线书店购书(java+jsp+servlet+mysql+tomcat)
request.getRequestDispatcher(USERLIST_PATH).forward(request, response);
}
}
package com.shine.bookshop.servlet.admin;
/**
* Servlet implementation class OrderManageServlet
*/
@WebServlet("/jsp/admin/OrderManageServlet")
public class OrderManageServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
private static final String ORDERLIST_PATH="orderManage/orderlist.jsp";
private static final String ORDERDETAIL_PATH="orderManage/orderDetail.jsp";
private static final String ORDEROP_PATH="orderManage/orderOp.jsp";
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
if(ud.batDelUser(ids)) {
request.setAttribute("userMessage", "用户已批量删除");
}else {
request.setAttribute("userMessage", "用户批量删除失败");
}
//用户删除成功失败都跳转到用户列表页面
userList(request, response);//通过servlet中listUser跳到用户列表
}
private void userDel(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
int id=Integer.parseInt(request.getParameter("id"));
UserDao ud=new UserDaoImpl();
if(ud.delUser(id)) {
request.setAttribute("userMessage", "用户已删除");
}else {
request.setAttribute("userMessage", "用户删除失败");
}
//用户删除成功失败都跳转到用户列表页面
userList(request, response);//通过servlet中listUser跳到用户列表
}
private void userUpdate(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
User user=new User(
Integer.parseInt(request.getParameter("userId")),
request.getParameter("passWord"),
request.getParameter("name"),
request.getParameter("sex"),
Integer.parseInt(request.getParameter("age")),
request.getParameter("tell"),
request.getParameter("address"),
request.getParameter("enabled"));
UserDao ud=new UserDaoImpl();
if(ud.userUpdate(user)) {
request.setAttribute("userMessage", "用户更新成功");
userList(request, response);//通过servlet中listUser跳到用户列表
}else {
//更新失败跳转到修改页面
request.setAttribute("userMessage", "用户更新失败");
request.setAttribute("userInfo", ud.findUser(Integer.valueOf(user.getUserId())));//这里回去是Admin对象
request.getRequestDispatcher(USEREDIT_PATH).forward(request, response);
}
}
private void userEdit(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String id=request.getParameter("id");
UserDao ud=new UserDaoImpl();
package com.shine.bookshop.filter;
/**
* Servlet Filter implementation class FilterLogin
*/
@WebFilter(filterName="FilterLogin",urlPatterns="/jsp/admin/*",
initParams={@WebInitParam(name="allowPath",value="login.jsp;LoginServlet;images;css")})
public class FilterLogin implements Filter {
private String allowPath;
/**
* @see Filter#destroy()
*/
public void destroy() {
// TODO Auto-generated method stub
}
/**
* @see Filter#doFilter(ServletRequest, ServletResponse, FilterChain)
*/
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
HttpServletRequest httpRequest=(HttpServletRequest) request;
HttpServletResponse httpResponse=(HttpServletResponse) response;
String urlPath=httpRequest.getServletPath();
if(httpRequest.getSession().getAttribute("adminUser")!=null){
chain.doFilter(request, response);
return;
}
String[] urls=this.allowPath.split(";");
/**
* Servlet implementation class BookList
*/
@WebServlet("/BookList2")
public class BookList2 extends HttpServlet {
private static final long serialVersionUID = 1L;
private static final int MAX_LIST_SIZE = 12;
private static final String BOOKLIST_PATH="jsp/book/booklist.jsp";
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String seachname = new String(request.getParameter("seachname").getBytes("iso-8859-1"),"utf-8");
String seachname1 = request.getParameter("seachname");
bookList(request,response,seachname1);
}
private void bookList(HttpServletRequest request, HttpServletResponse response, String seachname) throws ServletException, IOException {
BookDao bd = new BookDaoImpl();
int curPage = 1;
String page = request.getParameter("page");
if (page != null) {
curPage = Integer.parseInt(page);
}
}
}
}
// 如果上传的内容小于3个必填项或者图片没有或类型不正确返回
if (map.size() < 3 || !flag) {
request.setAttribute("bookMessage", "图书添加失败");
bookAddReq(request, response);
} else {
// 验证通过才可以保存图片流到本地
IOUtils.copy(inputStream, outputStream);
outputStream.close();
inputStream.close();
// 把map集合中存储的表单数据提取出来转换为book对象
// 这里要求图书增加的字段要和数据库字段一致,不然map集合转对象会出错
Book book = new Book();
book.setBookName(map.get("bookName"));
book.setPrice(Double.parseDouble(map.get("price")));
book.setDescription(map.get("desc"));
book.setAuthor(map.get("author"));
book.setPress(map.get("press"));
// 图书分类信息
Catalog catalog = book.getCatalog();
catalog.setCatalogId(Integer.parseInt(map.get("catalog")));
// 图片信息
UpLoadImg upLoadImg = book.getUpLoadImg();
upLoadImg.setImgName(map.get("imgName"));
upLoadImg.setImgSrc(map.get("imgSrc"));
upLoadImg.setImgType(map.get("imgType"));
// 增加图书先增加图书图片,图书图片增加成功了在添加图书信息
UpLoadImgDao uid = new UpLoadImgDaoImpl();
if (uid.imgAdd(book.getUpLoadImg())) {
// 获取图书图片添加后的id
Integer imgId = uid.findIdByImgName(upLoadImg.getImgName());
upLoadImg.setImgId(imgId);
BookDao bd = new BookDaoImpl();
if (bd.bookAdd(book)) {
request.setAttribute("bookMessage", "图书添加成功");
bookList(request, response);
}else {
request.setAttribute("orderMessage", "一个订单操作失败");
}
orderProcessing(request,response);
}
private void orderProcessing(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
int curPage = 1;
String page = request.getParameter("page");
if (page != null) {
curPage = Integer.parseInt(page);
}
int maxSize = Integer.parseInt(request.getServletContext().getInitParameter("maxPageSize"));
OrderDao orderDao = new OrderDaoImpl();
PageBean pb = new PageBean(curPage, maxSize, orderDao.orderReadCountByStatus(1));
request.setAttribute("pageBean", pb);
request.setAttribute("orderList", orderDao.orderListByStatus(pb,1));
request.getRequestDispatcher(ORDEROP_PATH).forward(request, response);
}
private void orderDetail(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
int orderId=Integer.parseInt(request.getParameter("id"));
OrderDao orderDao=new OrderDaoImpl();
OrderItemDao oItemDao=new OrderItemDaoImpl();
UserDao userDao=new UserDaoImpl();
BookDao bookDao=new BookDaoImpl();
Order order = orderDao.findOrderByOrderId(orderId);
order.setUser(userDao.findUser(order.getUserId()));
order.setoItem(oItemDao.findItemByOrderId(order.getOrderId()));
for ( OrderItem oItem : order.getoItem()) {
//通过图书id获取图书对象
oItem.setBook(bookDao.findBookById(oItem.getBookId()));
}
request.setAttribute("order", order);
request.getRequestDispatcher(ORDERDETAIL_PATH).forward(request, response);
}
private void orderList(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
int curPage = 1;
String page = request.getParameter("page");
if (page != null) {
curPage = Integer.parseInt(page);
}
int maxSize = Integer.parseInt(request.getServletContext().getInitParameter("maxPageSize"));
OrderDao orderDao = new OrderDaoImpl();
bookAddReq(request, response);
break;
case "add":
bookAdd(request, response);
break;
case "edit":
bookEdit(request, response);
break;
case "update":
bookUpdate(request,response);
break;
case "find":
bookFind(request, response);
break;
case "updateImg":
updateImg(request,response);
break;
case "del":
bookDel(request,response);
break;
case "batDel":
bookBatDel(request,response);
break;
case "seach":
seachBook(request,response);
}
}
private void seachBook(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
int curPage = 1;
String page = request.getParameter("page");
if (page != null) {
curPage = Integer.parseInt(page);
}
int maxSize = Integer.parseInt(request.getServletContext().getInitParameter("maxPageSize"));
String bookname = request.getParameter("bookname");
BookDao bd = new BookDaoImpl();
PageBean pb = null;
if(bookname != null && bookname != "") {
pb = new PageBean(curPage, maxSize, bd.bookReadCount(bookname));
initParams={@WebInitParam(name="allowPath",value="login.jsp;LoginServlet;images;css")})
public class FilterLogin implements Filter {
private String allowPath;
/**
* @see Filter#destroy()
*/
public void destroy() {
// TODO Auto-generated method stub
}
/**
* @see Filter#doFilter(ServletRequest, ServletResponse, FilterChain)
*/
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
HttpServletRequest httpRequest=(HttpServletRequest) request;
HttpServletResponse httpResponse=(HttpServletResponse) response;
String urlPath=httpRequest.getServletPath();
if(httpRequest.getSession().getAttribute("adminUser")!=null){
chain.doFilter(request, response);
return;
}
String[] urls=this.allowPath.split(";");
for(String url:urls){
if(urlPath.indexOf(url)>0){
chain.doFilter(request, response);
return;
}
}
String noPath=httpRequest.getScheme()+"://"+httpRequest.getServerName()+":"+httpRequest.getServerPort()+httpRequest.getContextPath()+"/jsp/admin/login.jsp";
//httpResponse.sendRedirect("login.jsp");
//'http://localhost:8080/bookshop/login.jsp'
PrintWriter pw=httpResponse.getWriter();
//解决iframe框架未登录顶层窗口跳转地址问题
// pw.flush();
}
/**
* @see Filter#init(FilterConfig)
*/
request.setAttribute("money", order.getMoney());
request.getRequestDispatcher(ORDER_PAY_PATH).forward(request, response);
}else {
request.setAttribute("suberr", "订单提交失败,请重新提交");
request.getRequestDispatcher(CART_PATH).forward(request, response);
}
}
}
package com.shine.bookshop.servlet.book;
/**
* Servlet implementation class UserManage
*/
@WebServlet("/UserServlet")
public class UserServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
private static final String LOGIN_PATH="jsp/book/reg.jsp?type=login";
private static final String REG_PATH="jsp/book/reg.jsp?type=reg";
private static final String INDEX_PATH="jsp/book/index.jsp";
private static final String LANDING="landing"; //前台用户session标识
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String action=request.getParameter("action");
break;
case "batDel":
adminBatDel(request,response);
break;
case "find":
adminFind(request,response);
break;
}
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
//查询用户列表
private void adminList(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
AdminDao ad=new AdminDaoImpl();
int curPage=1;
String page=request.getParameter("page");
if(page!=null){
curPage=Integer.parseInt(page);
}
//获取xml中设置的每页显示大小参数
int maxSize=Integer.parseInt(request.getServletContext().getInitParameter("maxPageSize"));
PageBean pageBean=new PageBean(curPage,maxSize,ad.bookReadCount());
request.setAttribute("adminList", ad.userList(pageBean));
request.setAttribute("pageBean", pageBean);
request.getRequestDispatcher(AdminManageServlet.ADMINLIST_PATH).forward(request, response);
}
//增加用户
private void adminAdd(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
AdminDao ad=new AdminDaoImpl();
Admin admin=new Admin(request.getParameter("userName"),request.getParameter("passWord"),
request.getParameter("name"));
//添加之前判断用户名是否在库中存在
if(new AdminDaoImpl().findUser(admin.getUserName())){
request.setAttribute("adminMessage", "用户添加失败!用户名已存在");
request.getRequestDispatcher(AdminManageServlet.ADMINADD_PATH).forward(request, response);
}else{
//执行dao层添加操作
if(ad.userAdd(admin)){
request.setAttribute("userMessage", "用户添加成功!");
userList(request, response);//通过servlet中listUser跳到用户列表
}else{
request.setAttribute("userMessage", "用户添加失败!");
request.getRequestDispatcher(USERADD_PATH).forward(request, response);
}
}
}
private void userList(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
UserDao ud=new UserDaoImpl();
int curPage=1;
String page=request.getParameter("page");
if(page!=null){
curPage=Integer.parseInt(page);
}
//获取xml中设置的每页显示大小参数
int maxSize=Integer.parseInt(request.getServletContext().getInitParameter("maxPageSize"));
PageBean pageBean=new PageBean(curPage,maxSize,ud.bookReadCount());
request.setAttribute("userList", ud.userList(pageBean));
request.setAttribute("pageBean", pageBean);
request.getRequestDispatcher(USERLIST_PATH).forward(request, response);
}
}
package com.shine.bookshop.servlet.admin;
for(UpLoadImg uli:list) {
//批量删除本地文件
File f=new File(contextPath,uli.getImgSrc());
if(f.exists()) {
//f.delete();
}
}
}
}else {
request.setAttribute("bookMessage", "图书批量删除失败");
}
//用户删除成功失败都跳转到用户列表页面
bookList(request, response);//通过servlet中listUser跳到用户列表
}
//图书删除
private void bookDel(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
int id=Integer.parseInt(request.getParameter("id"));
File contextPath=new File(request.getServletContext().getRealPath("/"));
BookDao bd=new BookDaoImpl();
UpLoadImgDao uid=new UpLoadImgDaoImpl();
Book book=bd.findBookById(id);
//这里先删除数据库图书信息,再删除图书图片及本地硬盘图片信息
if(bd.bookDelById(id)) {
request.setAttribute("bookMessage", "图书已删除");
if(uid.imgDelById(book.getImgId())) {
//删除本地文件
File f=new File(contextPath,book.getUpLoadImg().getImgSrc());
if(f.exists()) {
//f.delete();
}
}
}else {
request.setAttribute("bookMessage", "图书删除失败");
}
//用户删除成功失败都跳转到用户列表页面
bookList(request, response);//通过servlet中listUser跳到用户列表
}
//图书更新
private void bookUpdate(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
BookDao bookDao=new BookDaoImpl();
Book book=new Book();
book.setBookId(Integer.parseInt(request.getParameter("bookId")));
book.setCatalogId(Integer.parseInt(request.getParameter("catalog")));
book.setAuthor(request.getParameter("author"));
book.setPress(request.getParameter("press"));
book.setPrice(Double.parseDouble(request.getParameter("price")));
book.setDescription(request.getParameter("description"));
if(bookDao.bookUpdate(book)) {
request.setAttribute("bookMessage", "修改成功");
private static final int MAX_LIST_SIZE = 12;
private static final String BOOKLIST_PATH="jsp/book/booklist.jsp";
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String seachname = new String(request.getParameter("seachname").getBytes("iso-8859-1"),"utf-8");
String seachname1 = request.getParameter("seachname");
bookList(request,response,seachname1);
}
private void bookList(HttpServletRequest request, HttpServletResponse response, String seachname) throws ServletException, IOException {
BookDao bd = new BookDaoImpl();
int curPage = 1;
String page = request.getParameter("page");
if (page != null) {
curPage = Integer.parseInt(page);
}
PageBean pb=null;
List<Book> bookList=new ArrayList<Book>();
if(seachname == null || seachname == "") {
pb = new PageBean(curPage, MAX_LIST_SIZE, bd.bookReadCount());
bookList = bd.bookList(pb);
}else {
pb = new PageBean(curPage, MAX_LIST_SIZE, bd.bookReadCount(seachname));
bookList = bd.bookList(pb,seachname);
}
request.setAttribute("title", "所有图书");
request.setAttribute("pageBean", pb);
request.setAttribute("bookList",bookList);
request.getRequestDispatcher(BOOKLIST_PATH).forward(request, response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
package com.shine.bookshop.filter;
}
Iterator<FileItem> iterator = parseRequest.iterator();
while (iterator.hasNext()) {
FileItem fileItem = iterator.next();
// 判断是否是表单的普通字段true为普通表单字段,false为上传文件内容
if (fileItem.isFormField()) {
String name = new String(fileItem.getFieldName().getBytes("ISO8859_1"), "utf-8");
String value = new String(fileItem.getString().getBytes("ISO8859_1"), "utf-8");
map.put(name, value);
} else {
String imgName = null;
String contentType = fileItem.getContentType();
if ("image/jpeg".equals(contentType)) {
imgName = RanUtil.getUUID() + ".jpg";
flag = true;
}
if ("image/png".equals(contentType)) {
imgName = RanUtil.getUUID() + ".png";
flag = true;
}
if (flag) {
inputStream = fileItem.getInputStream();
File file = new File(dirPath, imgName);
outputStream = new FileOutputStream(file);
// 保存img信息到map集合中,后面传入对象使用
map.put("imgName", imgName);
map.put("imgSrc", BOOKIMGDIR_PATH + imgName);
map.put("imgType", contentType);
}
}
}
// 如果上传的内容小于3个必填项或者图片没有或类型不正确返回
if (map.size() < 3 || !flag) {
request.setAttribute("bookMessage", "图书添加失败");
bookAddReq(request, response);
} else {
// 验证通过才可以保存图片流到本地
IOUtils.copy(inputStream, outputStream);
outputStream.close();
inputStream.close();
// 把map集合中存储的表单数据提取出来转换为book对象
// 这里要求图书增加的字段要和数据库字段一致,不然map集合转对象会出错
Book book = new Book();
book.setBookName(map.get("bookName"));
book.setPrice(Double.parseDouble(map.get("price")));
book.setDescription(map.get("desc"));
book.setAuthor(map.get("author"));
book.setPress(map.get("press"));
CatalogDao cd = new CatalogDaoImpl();
// 这里实例化json对象需要导入6个jar包(
// commons-lang-2.4.jar
// ,commons-collections-3.2.1.jar,commons-beanutils-1.8.3.jar
// json-lib-2.4-jdk15.jar ,ezmorph-1.0.6.jar ,commons-logging-1.1.3.jar)
JSONObject json = new JSONObject();
if (cd.findCatalogByCatalogName(catalogName)) {
json.put("info", "该分类已存在");
json.put("status", "n");
} else {
json.put("info", "输入正确");
json.put("status", "y");
}
response.getWriter().write(json.toString());
}
}
package com.shine.bookshop.servlet.book;
/**
* Servlet implementation class CartServlet
*/
@WebServlet("/CartServlet")
public class CartServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
}
upImg.setImgName(imgName);
upImg.setImgSrc(imgSrc);
upImg.setImgType(contentType);
if (upImgDao.imgUpdate(upImg)) {
request.setAttribute("bookMessage", "图片修改成功");
} else {
request.setAttribute("bookMessage", "图片修改失败");
}
} else {
request.setAttribute("bookMessage", "图片修改失败");
}
bookEdit(request,response);
}
// 获取图书分类信息
private void bookAddReq(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
CatalogDao cd = new CatalogDaoImpl();
request.setAttribute("catalog", cd.getCatalog());
request.getRequestDispatcher(BOOKADD_PATH).forward(request, response);
}
// 图书增加
private void bookAdd(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
boolean flag = false;
Map<String, String> map = new HashMap<>();
InputStream inputStream = null;
OutputStream outputStream = null;
File dirPath = new File(request.getServletContext().getRealPath("/") + BOOKIMGDIR_PATH);
if (!dirPath.exists()) {
dirPath.mkdirs();
}
DiskFileItemFactory dfif = new DiskFileItemFactory();
ServletFileUpload servletFileUpload = new ServletFileUpload(dfif);
// 解决乱码
servletFileUpload.setHeaderEncoding("ISO8859_1");
List<FileItem> parseRequest = null;
try {
parseRequest = servletFileUpload.parseRequest(request);
} catch (FileUploadException e) {
e.printStackTrace();
}
BookDao bookDao = new BookDaoImpl();
UpLoadImgDao upImgDao = new UpLoadImgDaoImpl();
File contextPath=new File(request.getServletContext().getRealPath("/"));
File dirPath = new File( contextPath,BOOKIMGDIR_PATH);
if (!dirPath.exists()) {
dirPath.mkdirs();
}
DiskFileItemFactory dfif = new DiskFileItemFactory();
ServletFileUpload servletFileUpload = new ServletFileUpload(dfif);
List<FileItem> parseRequest = null;
try {
parseRequest = servletFileUpload.parseRequest(request);
} catch (FileUploadException e) {
e.printStackTrace();
}
Iterator<FileItem> iterator = parseRequest.iterator();
while (iterator.hasNext()) {
FileItem fileItem = iterator.next();
if (!fileItem.isFormField()) {
inputStream = fileItem.getInputStream();
contentType = fileItem.getContentType();
if ("image/jpeg".equals(contentType)) {
imgName = RanUtil.getUUID() + ".jpg";
flag = true;
}
if ("image/png".equals(contentType)) {
imgName = RanUtil.getUUID() + ".png";
flag = true;
}
}
}
if (flag) {
imgSrc = BOOKIMGDIR_PATH + imgName;
outputStream = new FileOutputStream(new File(contextPath,imgSrc));
IOUtils.copy(inputStream, outputStream);
outputStream.close();
inputStream.close();
//根据图书id去查询图片信息
Book book = bookDao.findBookById(bookId);
UpLoadImg upImg = book.getUpLoadImg();
// 删除旧图片文件如果存在
File oldImg = new File(contextPath,book.getUpLoadImg().getImgSrc());
if (oldImg.exists()) {
//oldImg.delete();
}
upImg.setImgName(imgName);
}else{
//执行dao层添加操作
if(ad.userAdd(admin)){
request.setAttribute("adminMessage", "用户添加成功!");
adminList(request, response);//通过servlet中listUser跳到用户列表
}else{
request.setAttribute("adminMessage", "用户添加失败!");
request.getRequestDispatcher(AdminManageServlet.ADMINADD_PATH).forward(request, response);
}
}
}
//更新用户信息
private void adminUpdate(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Admin admin=new Admin(Integer.parseInt(request.getParameter("id")),
request.getParameter("passWord"),
request.getParameter("name")
);
AdminDao ad=new AdminDaoImpl();
if(ad.userUpdate(admin)) {
request.setAttribute("adminMessage", "用户更新成功");
adminList(request, response);//通过servlet中listUser跳到用户列表
}else {
//更新失败跳转到修改页面
request.setAttribute("adminMessage", "用户更新失败");
request.setAttribute("adminInfo", ad.findUser(Integer.valueOf(admin.getId())));//这里回去是Admin对象
request.getRequestDispatcher(AdminManageServlet.ADMINEDIT_PATH).forward(request, response);
}
}
//修改用户
private void adminEdit(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String id=request.getParameter("id");
AdminDao ad=new AdminDaoImpl();
request.setAttribute("adminInfo",ad.findUser(Integer.valueOf(id)));//这里回去是Admin对象
request.getRequestDispatcher(AdminManageServlet.ADMINEDIT_PATH).forward(request, response);
}
//删除用户
private void adminDel(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
int id=Integer.parseInt(request.getParameter("id"));
AdminDao ad=new AdminDaoImpl();
if(ad.delUser(id)) {
request.setAttribute("adminMessage", "用户已删除");
}else {
request.setAttribute("adminMessage", "用户删除失败");
}
//用户删除成功失败都跳转到用户列表页面
adminList(request, response);//通过servlet中listUser跳到用户列表
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
package com.shine.bookshop.servlet.book;
/**
* Servlet implementation class CodeServlet
*/
@WebServlet("/CodeServlet")
public class CodeServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String action=request.getParameter("action");
if("code".equals(action)) {
getCode(request,response);
}
if("ckCode".equals(action)) {
ckCode(request,response);
}
}
private void ckCode(HttpServletRequest request, HttpServletResponse response) throws IOException {
userList(request, response);//通过servlet中listUser跳到用户列表
}
private void userDel(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
int id=Integer.parseInt(request.getParameter("id"));
UserDao ud=new UserDaoImpl();
if(ud.delUser(id)) {
request.setAttribute("userMessage", "用户已删除");
}else {
request.setAttribute("userMessage", "用户删除失败");
}
//用户删除成功失败都跳转到用户列表页面
userList(request, response);//通过servlet中listUser跳到用户列表
}
private void userUpdate(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
User user=new User(
Integer.parseInt(request.getParameter("userId")),
request.getParameter("passWord"),
request.getParameter("name"),
request.getParameter("sex"),
Integer.parseInt(request.getParameter("age")),
request.getParameter("tell"),
request.getParameter("address"),
request.getParameter("enabled"));
UserDao ud=new UserDaoImpl();
if(ud.userUpdate(user)) {
request.setAttribute("userMessage", "用户更新成功");
userList(request, response);//通过servlet中listUser跳到用户列表
}else {
//更新失败跳转到修改页面
request.setAttribute("userMessage", "用户更新失败");
request.setAttribute("userInfo", ud.findUser(Integer.valueOf(user.getUserId())));//这里回去是Admin对象
request.getRequestDispatcher(USEREDIT_PATH).forward(request, response);
}
}
private void userEdit(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String id=request.getParameter("id");
UserDao ud=new UserDaoImpl();
request.setAttribute("userInfo",ud.findUser(Integer.valueOf(id)));//这里回去是User对象
request.getRequestDispatcher(USEREDIT_PATH).forward(request, response);
}
private void adminFind(HttpServletRequest request, HttpServletResponse response) throws IOException {
String userName=request.getParameter("param");
UserDao ud=new UserDaoImpl();
/**
* Servlet implementation class BookList
*/
@WebServlet("/BookList2")
public class BookList2 extends HttpServlet {
private static final long serialVersionUID = 1L;
private static final int MAX_LIST_SIZE = 12;
private static final String BOOKLIST_PATH="jsp/book/booklist.jsp";
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String seachname = new String(request.getParameter("seachname").getBytes("iso-8859-1"),"utf-8");
String seachname1 = request.getParameter("seachname");
bookList(request,response,seachname1);
}
private void bookList(HttpServletRequest request, HttpServletResponse response, String seachname) throws ServletException, IOException {
BookDao bd = new BookDaoImpl();
int curPage = 1;
String page = request.getParameter("page");
if (page != null) {
curPage = Integer.parseInt(page);
}
PageBean pb=null;
List<Book> bookList=new ArrayList<Book>();
if(seachname == null || seachname == "") {
pb = new PageBean(curPage, MAX_LIST_SIZE, bd.bookReadCount());
bookList = bd.bookList(pb);
}else {
pb = new PageBean(curPage, MAX_LIST_SIZE, bd.bookReadCount(seachname));
userAdd(request,response);
break;
case "update":
userUpdate(request,response);
break;
case "edit":
userEdit(request,response);
break;
case "del":
userDel(request,response);
break;
case "batDel":
userBatDel(request,response);
break;
case "find":
adminFind(request,response);
break;
case "detail":
datail(request,response);
break;
case "seach":
seachUser(request,response);
}
}
private void seachUser(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
UserDao ud=new UserDaoImpl();
int curPage=1;
String page=request.getParameter("page");
if(page!=null){
curPage=Integer.parseInt(page);
}
//获取xml中设置的每页显示大小参数
int maxSize=Integer.parseInt(request.getServletContext().getInitParameter("maxPageSize"));
String username = request.getParameter("username");
PageBean pageBean=null;
if(username != null && username != "") {
pageBean=new PageBean(curPage,maxSize,ud.bookReadCount(username));
request.setAttribute("userList", ud.userList(pageBean,username));
}else {
pageBean=new PageBean(curPage,maxSize,ud.bookReadCount());
request.setAttribute("userList", ud.userList(pageBean));
break;
case "updateImg":
updateImg(request,response);
break;
case "del":
bookDel(request,response);
break;
case "batDel":
bookBatDel(request,response);
break;
case "seach":
seachBook(request,response);
}
}
private void seachBook(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
int curPage = 1;
String page = request.getParameter("page");
if (page != null) {
curPage = Integer.parseInt(page);
}
int maxSize = Integer.parseInt(request.getServletContext().getInitParameter("maxPageSize"));
String bookname = request.getParameter("bookname");
BookDao bd = new BookDaoImpl();
PageBean pb = null;
if(bookname != null && bookname != "") {
pb = new PageBean(curPage, maxSize, bd.bookReadCount(bookname));
request.setAttribute("bookList", bd.bookList(pb,bookname));
}else {
pb = new PageBean(curPage, maxSize, bd.bookReadCount());
request.setAttribute("bookList", bd.bookList(pb));
}
request.setAttribute("pageBean", pb);
request.getRequestDispatcher(BOOKLIST_PATH).forward(request, response);
}
//图书批量删除
private void bookBatDel(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String ids=request.getParameter("ids");
BookDao bd=new BookDaoImpl();
UpLoadImgDao uid=new UpLoadImgDaoImpl();
File contextPath=new File(request.getServletContext().getRealPath("/"));
String imgIds=bd.findimgIdByIds(ids);//批量查询图片的id并组成一组字符串
List<UpLoadImg> list = uid.findImgByIds(imgIds);
if(bd.bookBatDelById(ids)) {
request.setAttribute("bookMessage", "图书已批量删除");
if(uid.imgBatDelById(imgIds)) {
for(UpLoadImg uli:list) {
//批量删除本地文件
File f=new File(contextPath,uli.getImgSrc());
if(f.exists()) {
switch(action) {
case "list":
catalogList(request,response);
break;
case "add":
catalogAdd(request,response);
break;
case "del":
catalogDel(request,response);
break;
case "batDel":
catalogBatDel(request,response);
break;
case "find":
catalogFind(request,response);
break;
}
}
private void catalogBatDel(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String ids=request.getParameter("ids");
CatalogDao cd=new CatalogDaoImpl();
if(cd.catalogBatDelById(ids)) {
request.setAttribute("bookMessage", "分类已批量删除");
}else {
request.setAttribute("bookMessage", "分类删除失败");
}
//用户删除成功失败都跳转到用户列表页面
catalogList(request, response);//通过servlet中listUser跳到用户列表
}
private void catalogDel(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
int catalogId=Integer.parseInt(request.getParameter("id"));
CatalogDao cd=new CatalogDaoImpl();
if(cd.catalogDel(catalogId)) {
request.setAttribute("catalogMessage", "该分类已删除");
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String action=request.getParameter("action");
switch(action) {
case "list":
orderList(request,response);
break;
case "detail":
orderDetail(request,response);
break;
case "processing":
orderProcessing(request,response);
case "ship":
orderShip(request,response);
case "seach":
seachOrder(request,response);
case "seach1":
seachOrder1(request,response);
case "delete":
deleteOrder(request,response);
}
}
private void deleteOrder(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String orderid=request.getParameter("id");
OrderDao orderDao = new OrderDaoImpl();
if(orderid != null && orderid != "") {
orderDao.deleteOrderItem(Integer.valueOf(orderid));
orderDao.deleteOrder(Integer.valueOf(orderid));
}
orderList(request, response);
}
private void seachOrder(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
int curPage = 1;
String page = request.getParameter("page");
if (page != null) {
curPage = Integer.parseInt(page);
}
int maxSize = Integer.parseInt(request.getServletContext().getInitParameter("maxPageSize"));
String ordername = request.getParameter("ordername");
OrderDao orderDao = new OrderDaoImpl();
/**
* Servlet implementation class LoginServlet
*/
@WebServlet("/jsp/admin/LoginServlet")
public class LoginServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String mainPath="index.jsp";
String loginPath="login.jsp";
String userName=request.getParameter("userName");
String passWord=request.getParameter("passWord");
Admin admin=new Admin(userName, passWord);
AdminDao ud=new AdminDaoImpl();
List<String> list=new ArrayList<String>();
if(userName==null) {
list.add("用户名不能为空");
}
if(passWord==null) {
list.add("密码不能为空");
}
if(list.size()==0) {
if(ud.userLogin(admin)) {
request.getSession().setAttribute("adminUser",admin );
response.sendRedirect(mainPath);
return;
}else {
list.add("用户名或密码错误!请重新输入");
}
}
request.setAttribute("infoList", list);
request.getRequestDispatcher(loginPath).forward(request, response);