SSM代码写商品销售
时间: 2024-12-26 21:21:53 浏览: 10
### 关于SSM框架的商品销售示例代码
#### 使用SSM框架实现商品销售功能的关键组件
在基于SSM框架的商品销售系统中,核心模块包括商品管理、订单管理和用户管理。以下是这些模块的具体实现方式:
#### 商品管理控制器 (GoodsController.java)
```java
@Controller
@RequestMapping("/goods")
public class GoodsController {
@Autowired
private GoodsService goodsService;
// 查询所有商品列表
@RequestMapping(value = "/list", method = RequestMethod.GET)
public String list(Model model){
List<Goods> goodsList = goodsService.listAll();
model.addAttribute("goodsList", goodsList);
return "goods/list";
}
// 添加新商品
@RequestMapping(value="/add",method=RequestMethod.POST)
public String add(Goods goods){
goodsService.add(goods);
return "redirect:/goods/list";
}
}
```
此部分实现了基本的商品查询和添加操作[^1]。
#### 订单服务层 (OrderServiceImpl.java)
```java
@Service
@Transactional
public class OrderServiceImpl implements OrderService {
@Autowired
private OrderMapper orderMapper;
@Override
public void createOrder(Order order) throws Exception{
try {
order.setCreateTime(new Date());
order.setStatus(0); // 初始状态为未支付
int result = orderMapper.insert(order);
if(result != 1){
throw new RuntimeException("创建订单失败");
}
} catch (Exception e) {
throw new Exception(e.getMessage());
}
}
}
```
这段代码展示了如何通过`@Transactional`注解来确保事务的一致性和原子性,并利用MyBatis的映射器接口完成数据持久化操作。
#### 用户登录验证过滤器 (LoginFilter.java)
为了保障系统的安全性,在访问受保护资源之前通常会加入身份认证机制:
```java
@WebFilter(filterName="loginFilter", urlPatterns={"/admin/*"})
public class LoginFilter implements Filter {
@Override
public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain)throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest)req;
HttpServletResponse response = (HttpServletResponse)resp;
HttpSession session = request.getSession(false);
if(session == null || session.getAttribute("user") == null){
response.sendRedirect(request.getContextPath() + "/index.jsp?msg=您还未登陆!");
return ;
}
chain.doFilter(req, resp);
}
}
```
上述片段说明了如何设置一个简单的Servlet过滤器来进行用户的登录状态检查。
---
阅读全文