一、项目运行
环境配置:
Jdk1.8 + Tomcat8.5 + mysql + Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)
项目技术:
Springboot+ SpringMVC + JPA+ Jsp + Html+ JavaScript + JQuery + Ajax + maven等等
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
if (op.equals("layout")) {
layout(req, resp);
}
// 添加书籍前先获取所有分类
if (op.equals("addBookUI")) {
addBookUI(req, resp);
}
// 添加书籍
if (op.equals("addBook")) {
try {
addBook(req, resp);
} catch (FileUploadException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
// 添加书籍分类
if (op.equals("addCategory")) {
addCategory(req, resp);
}
// 文学艺术类书籍列表
if (op.equals("category")) {
getCategoryBook(req, resp);
}
String password = req.getParameter("password");
String name = req.getParameter("name");
String sex = req.getParameter("sex");
String tel = req.getParameter("tel");
String address = req.getParameter("address");
boolean isExist = false;// 判断是否存在该用户
if (!username.equals("") && !password.equals("")) {
isExist = service.register(username, password, name, sex, tel, address);
if (isExist == true) {
resp.getWriter().print("<script>alert('该用户已经注册,请直接登录')</script>");
resp.getWriter().print("<script>location.href='../client/ClientServlet?op=category'</script>");
} else {
resp.getWriter().write("注册成功!");
resp.getWriter().print("<script>location.href='../client/ClientServlet?op=category'</script>");
}
}else {
resp.getWriter().print("<script>alert('请填写账号或密码')</script>");
resp.getWriter().print("<script>location.href='../client/ClientServlet?op=category'</script>");
}
} catch (Exception e) {
e.printStackTrace();
}
}
private void getCategoryBook(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
List<Book> books = service.getCategoryBook(req.getParameter("cid"));// 文学艺术类书籍
if(username==null || username=="") {
req.setAttribute("message", "请填写用户名");
req.getRequestDispatcher("/admin/404.jsp").forward(req, resp);
return;
}
if(password==null || password=="") {
req.setAttribute("message", "请填写密码");
req.getRequestDispatcher("/admin/404.jsp").forward(req, resp);
return;
}
HttpSession session = req.getSession();
Administrator admin = service.login(username, password);
if (admin.getUsername() != null && admin.getUsername() != "") {
req.setAttribute("message", "登陆成功");
session.setAttribute("admin", admin);
req.getRequestDispatcher("/admin/message.jsp").forward(req, resp);
} else {
req.setAttribute("message", "账号或密码错误!");
req.getRequestDispatcher("/admin/404.jsp").forward(req, resp);
}
}
private void managerInformation(HttpServletRequest req, HttpServletResponse resp) throws IOException {
// 获取到选择的分类的id,根据这个id取到分类的信息
String categoryid = item.getString();
System.out.println("categoryid=" + categoryid);
Category category = service.findCategoryById(categoryid);
System.out.println(category);
book.setCategory(category);
} else {
BeanUtils.setProperty(book, inputName, inputValue);
}
} catch (Exception e) {
e.printStackTrace();
}
}
// 添加书籍分类
private void addCategory(HttpServletRequest req, HttpServletResponse resp) {
try {
Category category = new Category();
BeanUtils.populate(category, req.getParameterMap());
String categoryName = category.getCategory_name();
if(StringUtils.isNullOrEmpty(categoryName)) {
resp.getWriter().print("<script>alert('请填写分类名称')</script>");
resp.getWriter().print("<script>location.href='../admin/addCategory.jsp'</script>");
return;
}
service.addCategory(category);// 调用添加方法
resp.getWriter().write("<div style='text-align: center;margin-top: 260px'><img src='" + req.getContextPath()
req.setAttribute("message", "登陆成功");
session.setAttribute("admin", admin);
req.getRequestDispatcher("/admin/message.jsp").forward(req, resp);
} else {
req.setAttribute("message", "账号或密码错误!");
req.getRequestDispatcher("/admin/404.jsp").forward(req, resp);
}
}
private void managerInformation(HttpServletRequest req, HttpServletResponse resp) throws IOException {
String username = req.getParameter("username");
String name = req.getParameter("name");
String sex = req.getParameter("sex");
String tel = req.getParameter("tel");
service.managerInformation(username, name, sex, tel);
HttpSession session = req.getSession();
Administrator admin = (Administrator) session.getAttribute("admin");
admin.setName(name);
admin.setSex(sex);
admin.setTel(tel);
session.setAttribute("admin", admin);
resp.getWriter().write("<div style='text-align: center;margin-top: 260px'><img src='" + req.getContextPath()
+ "/img/duigou.png'/>修改成功!</div>");
}
//修改管理员密码
BeanUtils.setProperty(book, inputName, inputValue);
}
} catch (Exception e) {
e.printStackTrace();
}
}
// 添加书籍分类
private void addCategory(HttpServletRequest req, HttpServletResponse resp) {
try {
Category category = new Category();
BeanUtils.populate(category, req.getParameterMap());
String categoryName = category.getCategory_name();
if(StringUtils.isNullOrEmpty(categoryName)) {
resp.getWriter().print("<script>alert('请填写分类名称')</script>");
resp.getWriter().print("<script>location.href='../admin/addCategory.jsp'</script>");
return;
}
service.addCategory(category);// 调用添加方法
resp.getWriter().write("<div style='text-align: center;margin-top: 260px'><img src='" + req.getContextPath()
+ "/img/duigou.png'/>添加成功!</div>");
} catch (Exception e) {
User user = service.findUserByUserName(username);
if(user==null) {
resp.getWriter().print("<script>alert('会话失效或未登录,请重新登录!')</script>");
return;
}
if(!user.getPassword().equals(oldPassword)) {
resp.getWriter().print("<script>alert('旧密码输入错误!')</script>");
return;
}
service.personPassword(password, username);
resp.getWriter().write("<div style='text-align: center;margin-top: 260px'><img src='" + req.getContextPath()
+ "/img/duigou.png'/>修改成功!</div>");
}
private void search(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String search = req.getParameter("search");
List<Book> searchmessage = service.search(search);
req.setAttribute("books", searchmessage);
req.setAttribute("name", search==null?"":search);
req.getRequestDispatcher("/showBook.jsp").forward(req, resp);
}
private void particulars(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String book_id = req.getParameter("book_id");
Book book = findBookById(book_id);
req.setAttribute("book", book);
req.getRequestDispatcher("/particulars.jsp").forward(req, resp);
}
// 文学艺术类书籍列表
if (op.equals("category")) {
getCategoryBook(req, resp);
}
// 编辑书籍信息前获取书籍的信息回显
if (op.equals("editBookUI")) {
editBookUI(req, resp);
}
// 编辑书籍
if (op.equals("editBook")) {
try {
editBook(req, resp);
} catch (FileUploadException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
// 删除书籍
if (op.equals("delBook")) {
delBook(req, resp);
}
// 获取书籍分类列表
// 生成订单号
private String genOrdernum() {
Date now = new Date();
DateFormat df = new SimpleDateFormat("yyyyMMdd");
String s1 = df.format(now);
return s1 + System.nanoTime();
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req, resp);
}
}
管理员登录服务:
@WebServlet("/admin/ManagerServlet")
public class ManagerServlet extends HttpServlet {
private ManagerService service = new ManagerServiceImpl();
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.setCharacterEncoding("UTF-8");
resp.setContentType("text/html;charset=UTF-8");
String op = req.getParameter("op");// 得到传过来的请求
// 管理员登陆
if (op.equals("login")) {
login(req, resp);