基于javaweb的SSM在线商城购物商城美妆商城(前台、后台)(java+jsp+ssm+javabean+mysql+tomcat)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

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

适用

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

功能说明

前台:
首页展示商品信息,注册,登录,查询商品,看商品详情,添加商品至购物车,更新、删除购物车中商品信息,下订单、订单查看等操作

后台:登录,商品上架下架、商品信息修改、添加,订单查看,类型管理:商品类型新增删除以及修改查询等

170123152502

前台:

120123152502

040123152502

050123152502

060123152502

070123152502

080123152502

100123152502

110123152502

后台:

130123152502

140123152502

150123152502

160123152502

技术框架

JavaBean MVC JSP SSM(Spring SpringMVC MyBatis) MySQL Bootstrap JavaScript

基于javaweb的SSM在线商城购物商城美妆商城(前台、后台)(java+jsp+ssm+javabean+mysql+tomcat)

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
	@Override
public void updateOrderPayOrderNo(String orderNo) {
// TODO Auto-generated method stub
orderMapper.updateOrderPayOrderNo(orderNo);
}




}
/**
*
*/
package com.demo.shop.controller;




@Controller
@RequestMapping("/order")
public class OrderController {

@Autowired
private OrderServiceI orderServiceI;

//跳转至确认订单信息页面
@RequestMapping(value = "/checkOrder.do")
public String checkOrder(String orderInfo, HttpSession session) {

try {
//将订单相关信息保存至session中
session.setAttribute("orderInfo", orderInfo);

} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
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
	
//订单分页查询
@RequestMapping("/getAll.action")
public String getAll(PageModel pageModel,Model model) {

List<Order> orders = orderService.getAll(pageModel);
model.addAttribute("orders", orders);
return "order/list";

}



//确认发送订单
@RequestMapping("/checkOrder.action")
public String checkOrder(Order order) {
orderService.checkOrder(order);

return "redirect:/order_manager/getAll.action";

}

}
/**
*
*/
package com.demo.shop.filter;




/**
* 定义拦截器,用于判断用户是否登录,如果用户已经登录则放行,否则用户未登录则跳转至登录页面
*/
public class LoginFilter extends HandlerInterceptorAdapter {


@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
throws Exception {

//从session中获取用户信息
User user = (User)request.getSession().getAttribute("session_user");

if(user == null) {
request.setAttribute("error_message", "您尚未登录,请登录后再进行相关操作!");
//跳转至登录页面
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
	/* (non-Javadoc)
* 根据账号获取用户信息
*/
@Override
public String getUserByLoginName(String loginName) {
// TODO Auto-generated method stub
User user = userMapper.getUserByLoginName(loginName);
return user == null ? "not" : "exist";
}



}
/**
*
*/
package com.demo.manage.action;





@Controller
@RequestMapping("/articleType_manager")
public class ManagerArticleTypeController {


@Autowired
private ManagerArticleTypeServiceI articleTypeService;


//获取所有的商品类型信息
@RequestMapping("/getAll.action")
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
     */
@Override
public void saveUser(User user, HttpServletRequest request) {
// TODO Auto-generated method stub
try {
user.setCreateDate(new Date());
user.setDisabled("1");
userMapper.saveUser(user);
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}


}
}
/**
*
*/
package com.demo.manage.util.filter;




/**
* *登录拦截器,如果没有登录则直接访问登录页面
*/
public class ManagerLoginInterceptor extends HandlerInterceptorAdapter {

/* (non-Javadoc)
* @see org.springframework.web.servlet.handler.HandlerInterceptorAdapter#preHandle(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.lang.Object)
*/
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
throws Exception {

//从session中获取用户信息
User user = (User)request.getSession().getAttribute(Constant.SESSION_USER);

if(user == null ) {
request.setAttribute("tip", "您尚未登录,请登录后再进行相关操作!");
//跳转至登录页面
request.getRequestDispatcher("/WEB-INF/jsp/user/login.jsp").forward(request, response);
return false;
}else {
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
52
53
            }
};

//3).获得Session实例
Session mailSession = Session.getInstance(props, auth);

//4).创建SMTPMessage,要提供session
SMTPMessage msg = new SMTPMessage(mailSession);

// 5).设置Message的内容,包括发送者、接收者、消息体
// 设置邮件标题,没有标题的邮件几乎都会被认为是垃圾邮件被系统退回。
msg.setSubject("用户注册激活邮件,请勿回复,按照指引激活");
// 设置消息的HTML格式的内容
msg.setContent("<a href='http://127.0.0.1:8080/"+request.getContextPath()+"/user/active?activeCode="+user.getActive()+"' target='_blank'>恭喜您注册成功,点击该链接进行激活,此邮件无需回复!</a>","text/html;charset=UTF-8");
// 设置发送人
msg.setFrom(new InternetAddress("luochunlong666@126.com"));
// 设置接收者
// 接收者类型由:TO(收件人)、CC(抄送)、BCC(密送)
msg.setRecipient(RecipientType.TO,new InternetAddress(user.getEmail()));

// 发送邮件
Transport.send(msg);

}




/* (non-Javadoc)
* @see com.demo.shop.service.UserServiceI#activeUser(java.lang.String)
* //用户信息激活
*/
@Override
public void activeUser(String activeCode) {
// TODO Auto-generated method stub
userMapper.activeUser(activeCode);
}

/* (non-Javadoc)
* 根据账号获取用户信息
*/
@Override
public String getUserByLoginName(String loginName) {
// TODO Auto-generated method stub
User user = userMapper.getUserByLoginName(loginName);
return user == null ? "not" : "exist";
}



}
/**
*


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