基于javaweb的SSM+Maven网上书店图书商城(java+ssm+jsp+javascript+mysql)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

241023580509

251023580509

261023580509

271023580509

281023580509

291023580509

301023580509

311023580509

331023580509

基于javaweb的SSM+Maven网上书店图书商城(java+ssm+jsp+javascript+mysql)

技术总结:
前端:html css js jQuery bootstrap

后台:
控制器:springMVC
Dependence Injection:spring
ORM:mybatis

数据库:mysql

前台用户地址 http://localhost:8080/index.do
user1 123456

后台管理地址 http://localhost:8080/backLoginPage.do
admin 123456

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39


}




/**
*/
public class LoginFilter implements Filter {

@Override
public void init(FilterConfig filterConfig) throws ServletException {
// TODO Auto-generated method stub
}

public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
// 获得在下面代码中要用的request,response,session对象
HttpServletRequest servletRequest = (HttpServletRequest) request;
HttpServletResponse servletResponse = (HttpServletResponse) response;
HttpSession session = servletRequest.getSession();
// 获得用户请求的URI
String path = servletRequest.getRequestURI();
// System.out.println(path);
// 从session里取员信息
String admin = (String) session.getAttribute("admin");
//创建类Constants.java,里面写的是无需过滤的页面
for (int i = 0; i < Constant.NoFilter_Pages.length; i++) {
if (path.indexOf(Constant.NoFilter_Pages[i]) > -1) {
chain.doFilter(servletRequest, servletResponse);
return;
}
}
// 登陆页面无需过滤
if (path.indexOf("/backLoginPage.do") > -1) {
chain.doFilter(servletRequest, servletResponse);
return;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44

Book book = new Book();
book.setBname(bname);
book.setDetail(detail);
book.setPirce(pirce);
book.setType(type);
book.setWriter(writer);
book.setPrinter(printer);
book.setDate(date);
book.setImage(img);
book.setStore(store);
bookService.addBook(book);

return new ModelAndView("redirect:/manaBook.do");
}

@RequestMapping("/manaBook")
public String manaBook(Integer pageNum, Model model) {
if (pageNum != null) {
PageHelper.startPage(pageNum, com.laver.bookstore.util.Constant.MB_PAGE_SIZE);
} else {
PageHelper.startPage(1, com.laver.bookstore.util.Constant.MB_PAGE_SIZE);
}
List<Book> books = bookService.findAllBook();
PageInfo<Book> pageInfo = new PageInfo<Book>(books);
model.addAttribute("pageInfo", pageInfo);
model.addAttribute("books", books);
return "manage/product";
}

@RequestMapping("/delBook")
public ModelAndView deleteUser(Integer bid) {
bookService.delById(bid);
return new ModelAndView("redirect:/manaBook.do");
}

@RequestMapping("/modifyBookPage")
public String modifyUserPage(Model model, Integer bid) {
Book book = bookService.findById(bid);
Set<String> bts = bookService.bookType();
model.addAttribute("bts", bts);
model.addAttribute("book", book);
return "manage/product-modify";
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
	bookOrderService.deleteByPrimaryKey(oid);
orderDetailService.deleteByOid(oid);
return new ModelAndView("redirect:/BookOrder.do");
}
@RequestMapping("/orderModify")
public ModelAndView orderModify(Integer oid,String oname,String address,String status){
BookOrder bookOrder = new BookOrder();
bookOrder.setOid(oid);
bookOrder.setOname(oname);
bookOrder.setAdress(address);
bookOrder.setStatus(status);
bookOrderService.update(bookOrder);
return new ModelAndView("redirect:/BookOrder.do");
}
@RequestMapping("/orderModifyPage")
public String orderModifyPage(Integer oid,Model model){
BookOrder bookOrder = bookOrderService.selectByPrimaryKey(oid);
model.addAttribute("bookOrder", bookOrder);
return "manage/order-modify";
}

@RequestMapping("/BookOrder")
public ModelAndView bookOrder(Model model, @RequestParam(value = "pageNum",defaultValue = "1") Integer pageNum, String oname, Integer oid, HttpSession session) {
Set<Book> books = new HashSet<>();
BookOrderExample bookOrderExample = new BookOrderExample();
Criteria cri = bookOrderExample.createCriteria();

if(oid!=null){
cri.andOidEqualTo(oid);
}
session.setAttribute("oid",oid);

if(StringUtils.isNotEmpty(oname)){
cri.andOnameLike("%"+oname+"%");
}
session.setAttribute("oname",oname);
PageHelper.startPage(pageNum, com.laver.bookstore.util.Constant.UO_PAGE_SIZE,"date desc");
List<BookOrder> bookOrders = bookOrderService.selectByExample(bookOrderExample);
for (BookOrder bookOrder : bookOrders) {
OrderDetailExample orderDetailExample = new OrderDetailExample();
OrderDetailExample.Criteria detailExampleCriteria = orderDetailExample.createCriteria();
detailExampleCriteria.andOrderIdEqualTo(bookOrder.getOid());
List<OrderDetail> orderDetails = orderDetailService.selectByExample(orderDetailExample);
for (OrderDetail orderDetail : orderDetails) {
books.add(bookService.findById(orderDetail.getBookId()));
}
bookOrder.setOrderDetails(orderDetails);
}
PageInfo<BookOrder> pageInfo = new PageInfo<>(bookOrders);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
			books.add(book);
}
if(pageNum!=null){
PageHelper.startPage(pageNum,com.laver.bookstore.util.Constant.UO_PAGE_SIZE,"date desc");
}else{
PageHelper.startPage(1, com.laver.bookstore.util.Constant.UO_PAGE_SIZE,"date desc");
}
List<BookOrder> bookOrders = bookOrderService.selectByExample(example);
PageInfo<BookOrder> pageInfo = new PageInfo<BookOrder>(bookOrders);
model.addAttribute("pageInfo", pageInfo);
model.addAttribute("bookOrders", bookOrders);
model.addAttribute("books", books);
model.addAttribute("orderDetails", orderDetails);
return "front/user-order";
}
@ResponseBody
@RequestMapping("/updatePwd")
public String updatePwd(Integer uid,String password,String newPassword){
if(password==null||password.equals("")){
return "pwdEmpty";
}
password = MD5Utils.encode(password);
if(newPassword==null||newPassword.equals("")){
return "newEmpty";
}
newPassword = MD5Utils.encode(newPassword);
boolean flag = userService.updatePwd(uid, password, newPassword);
if(flag){
return "success";
}
return "false";
}
}




1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
    Book book=bookService.findById(bid);
Cart cart=null;
if(session.getAttribute("cart")!=null){
cart=(Cart) session.getAttribute("cart");
}else{
cart=new Cart();
}
cart=cartService.addGoodsInCart(book, number,cart);
session.setAttribute("cart",cart);
return new ModelAndView("redirect:/cartPage.do");
}
@RequestMapping("/removeGoodsFromCart")
public ModelAndView removeGoodsFromCart(Integer bid,HttpSession session){
Book book=bookService.findById(bid);
Cart cart=(Cart) session.getAttribute("cart");
cart=cartService.removeGoodsFromCart(book, cart);
session.setAttribute("cart",cart);
return new ModelAndView("redirect:/cartPage.do");
}

@RequestMapping("/cleanCart")
public ModelAndView cleanCart(HttpSession session){
Cart cart=null;
session.setAttribute("cart",cart);
return new ModelAndView("redirect:/cartPage.do");
}
@ResponseBody
@RequestMapping(value = "/checkStore",produces={"text/html;charset=UTF-8;","application/json;"})
public String checkStore(HttpSession session){
Cart cart =(Cart)session.getAttribute("cart");
Map<Book, Integer> map=cart.getGoods();
Iterator<Map.Entry<Book, Integer>> iter = map.entrySet().iterator();
while (iter.hasNext()) {
Map.Entry<Book, Integer> entry = iter.next();
Book book = entry.getKey();
Integer number = entry.getValue();
if (!bookService.checkStore(book.getBid(),number)){
return "《"+book.getBname()+"》库存不足,库存剩余:"+book.getStore();
}
}
return "success";
}





1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
@RequestMapping("/modifyUser")
public ModelAndView manaUser(Integer uid,String userName,String password,String gender,String email,String phone,String address){
User user=new User();
user.setUid(uid);
user.setUname(userName);
user.setPassword(password);
user.setGender(gender);
user.setEmail(email);
user.setPhone(phone);
user.setAdress(address);
userService.userModify(user);
return new ModelAndView("redirect:/manaUser.do");
}
@RequestMapping("/delUser")
public ModelAndView deleteUser(Integer uid){
userService.deleteById(uid);
return new ModelAndView("redirect:/manaUser.do");
}
@RequestMapping("/addUser")
public ModelAndView addUser(String userName,String passWord,String gender,String email,String phone,String address){
User user = new User();
user.setUname(userName);
user.setPassword(passWord);
user.setGender(gender);
user.setEmail(email);
user.setPhone(phone);
user.setAdress(address);
userService.addUser(user);
return new ModelAndView("redirect:/manaUser.do");
}

@RequestMapping("/updateUserPage")
public String updateUserPage(Model model,HttpSession session){
User sessionUser= (User) session.getAttribute("user");
User user=userService.findUserById(sessionUser.getUid());
model.addAttribute("user",user);
return "front/update";
}

@RequestMapping("/updateUser")
public ModelAndView updateUser(Integer uid,String uname,String gender,String email,String phone,String address){
User user=new User();
user.setUid(uid);
user.setUname(uname);
user.setGender(gender);
user.setEmail(email);
user.setPhone(phone);
user.setAdress(address);
userService.userModify(user);
return new ModelAndView("redirect:/index.do");
}


项目链接:
https://javayms.github.io?id=231023580509201ee
https://javayms.pages.dev?id=231023580509201ee