小组成员分工
wusiyu:主要完成项目的创建,登录模块,收藏模块的代码实现
zhangjunchi:主要完成登录模块,收藏模块的需求分析以及测试
huangyiping:主要完成订单模块的需求分析以及测试
leienze:主要完成了订单模块的数据层,业务层的代码实现
yuchangsen:主要完成了项目配置,maven配置,tomcat部署连接数据库
zhangjunjie:主要完成了项目数据库的数据导入,登录功能代码实现
项目介绍
登录界面:
登录功能的核心代码:
@Controller
@RequestMapping("user")
public class UserController {
@Autowired
private UserService userService;
@PostMapping("login")
public String getUser(User user, HttpServletRequest request, HttpSession session){
User u = userService.getUserByUserNameAndPassword(user);
System.out.println(u);
if (u!=null){
System.out.println("登录成功");
session.setAttribute("user",u);
String path="redirect:attraction/list";
return path;
}else {
return "front/login";
}
}
}
登录成功后,会重定向到/attraction/list,首页如下图:
相关代码:
@RequestMapping("/list")
public String getAttractions(HttpServletRequest request, @RequestParam(required = true, name = "page", defaultValue = "1") Integer page) {
//page:表示查询第几页;8:表示每页显示的数量
PageHelper.startPage(page, 8);
List<Attraction> attractions = attractionService.getAttractions();
//将attractions封装至PageInfo;5表示分页导航的最大页码数。
PageInfo<Attraction> pageInfo = new PageInfo<>(attractions, 5);
request.setAttribute("pageInfo", pageInfo);
//------------------以下为验证打印信息------------------
System.out.println("当前页: " + pageInfo.getPageNum());
System.out.println("总页码: " + pageInfo.getPages());
System.out.println("总条数: " + pageInfo.getTotal());
System.out.println("每页显示的条数: " + pageInfo.getPageSize());
List<Attraction> list = pageInfo.getList();
for(int i=0;i<list.size();i++){
Attraction attraction = list.get(i);
System.out.println(attraction);
}
//------------------以上为验证打印信息------------------
return "front/attraction";
}
收藏功能效果图:
收藏功能的核心代码:
@Controller
@RequestMapping("collect")
public class CollectController {
@Autowired
private CollectService collectService;
@PostMapping("/on")
public String on(Collect collect, @RequestParam(name="from",required = true)String from,HttpSession session){
boolean on = collectService.saveCollect(collect);
if (on){
session.setAttribute("message","收藏成功");
}else {
session.setAttribute("message","收藏失败");
}
return "redirect:"+from;
}
@PostMapping("/off")
public String off(Collect collect, @RequestParam(name="from",required = true)String from,HttpSession session){
boolean off = collectService.deleteCollect(collect);
if (off){
session.setAttribute("message","取消收藏成功");
}else {
session.setAttribute("message","取消收藏失败");
}
return "redirect:"+from;
}
}
购票效果图
购票的核心代码:
@Controller
@RequestMapping("order")
public class OrderController {
@Autowired
private OrderService orderService;
@Autowired
private AttractionService attractionService;
@Transactional
@PostMapping("buy")
public String buy(Order order, @RequestParam(name = "from", required = true) String from, HttpSession session) {
System.out.println(order);
//type:订单类型:1:景点订单;2:酒店订单;3:攻略订单
if (order.getType() == Type.attraction) {
Attraction attraction = attractionService.getAttractionById(order.getOid());
if (orderService.saveOrder(order)) {
session.setAttribute("message", "购买成功");
} else {
session.setAttribute("message", "购买失败,你今天已经购买过景点门票了哦!");
}
}
return "redirect:" + from;
}
}
学习总结
此次只实训了短短的5天。虽说时间很短,但其中的每一天都使我们收获很大、受益匪浅,赖老师帮我们加深了对一些理论知识的理解,不仅使我们在理论上对Java有了全新的认识,在实践能力上也得到了提高。
我们第一次体会到Java 工程师的工作是什么样子的,也发现了很多不曾注意到的细节,在实训的演示过程中,我对作为一名Java工程师注意的事项应该从小事做起、从基本做起。把职业能力训练与职业素质有机的结合起来,真正地做到了学以致用,更学到了很多做人的道理,对我来说受益非浅。
除此以外,我们知道了什么叫团队,怎样和团队分工合作;同时我们还学会了如何更好地与别人沟通,如何更好地去陈述自己的观点。这也是第一次让我亲身感受到理论与实际的相结合,让我大开眼界。也是对以前所学知识的一个初审吧!这次实训对于我们以后学习、找工作也是受益菲浅的,在短短的5天中相信这些宝贵的经验会成为我们今后成功的重要的基石;这对于我们的学业,乃至我以后人生的影响无疑是极其深远的。最后感谢赖老师对我们的细心指导!