基于javaweb+mysql的ssm演唱会购票系统(java+ssm+mysql+jsp+tomcat)
私信源码获取及调试交流
运行环境
Java≥8、MySQL≥5.7、Tomcat≥8
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb+mysql的SSM演唱会购票系统(java+ssm+mysql+jsp+tomcat)
管理员:
admin 123456
用户:
user1 123456
user2 123456
user3 123456
this.articleService.insertArticle(article);
return "redirect:/article/createArticle.action";
}
// 通过主键删除数据
@RequestMapping("deleteArticle.action")
public String deleteArticle(String id) {
this.articleService.deleteArticle(id);
return "redirect:/article/getAllArticle.action";
}
// 批量删除数据
@RequestMapping("deleteArticleByIds.action")
public String deleteArticleByIds() {
String[] ids = this.getRequest().getParameterValues("articleid");
for (String articleid : ids) {
this.articleService.deleteArticle(articleid);
}
return "redirect:/article/getAllArticle.action";
}
// 更新数据
@RequestMapping("updateArticle.action")
public String updateArticle(Article article) {
this.articleService.updateArticle(article);
return "redirect:/article/getAllArticle.action";
}
// 显示全部数据
@RequestMapping("getAllArticle.action")
public String getAllArticle(String number) {
List<Article> articleList = this.articleService.getAllArticle();
PageHelper.getPage(articleList, "article", null, null, 10, number, this.getRequest(), null);
return "admin/listarticle";
}
// 按条件查询数据 (模糊查询)
@RequestMapping("queryArticleByCond.action")
public String queryArticleByCond(String cond, String name, String number) {
Article article = new Article();
if (cond != null) {
if ("title".equals(cond)) {
article.setTitle(name);
}
if ("image".equals(cond)) {
article.setImage(name);
}
if ("contents".equals(cond)) {
return "index";
}
// 准备修改密码
@RequestMapping("prePwd.action")
public String prePwd() {
this.front();
if (this.getSession().getAttribute("userid") == null) {
return "redirect:/index/preLogin.action";
}
return "users/editpwd";
}
// 修改密码
@RequestMapping("editpwd.action")
public String editpwd() {
this.front();
if (this.getSession().getAttribute("userid") == null) {
return "redirect:/index/preLogin.action";
}
String userid = (String) this.getSession().getAttribute("userid");
String password = this.getRequest().getParameter("password");
String repassword = this.getRequest().getParameter("repassword");
Users users = this.usersService.getUsersById(userid);
if (password.equals(users.getPassword())) {
users.setPassword(repassword);
this.usersService.updateUsers(users);
} else {
this.getSession().setAttribute("message", "旧密码错误");
return "redirect:/index/prePwd.action";
}
return "redirect:/index/prePwd.action";
}
@RequestMapping("usercenter.action")
public String usercenter() {
this.front();
if (this.getSession().getAttribute("userid") == null) {
return "redirect:/index/preLogin.action";
}
return "users/usercenter";
}
@RequestMapping("userinfo.action")
public String userinfo() {
this.front();
if (this.getSession().getAttribute("userid") == null) {
return "redirect:/index/preLogin.action";
}
String userid = (String) this.getSession().getAttribute("userid");
this.getSession().setAttribute("users", this.usersService.getUsersById(userid));
String[] ids = this.getRequest().getParameterValues("usersid");
for (String usersid : ids) {
this.usersService.deleteUsers(usersid);
}
return "redirect:/users/getAllUsers.action";
}
// 更新数据
@RequestMapping("updateUsers.action")
public String updateUsers(Users users) {
this.usersService.updateUsers(users);
return "redirect:/users/getAllUsers.action";
}
// 显示全部数据
@RequestMapping("getAllUsers.action")
public String getAllUsers(String number) {
List<Users> usersList = this.usersService.getAllUsers();
PageHelper.getPage(usersList, "users", null, null, 10, number, this.getRequest(), null);
return "admin/listusers";
}
// 按条件查询数据 (模糊查询)
@RequestMapping("queryUsersByCond.action")
public String queryUsersByCond(String cond, String name, String number) {
Users users = new Users();
if (cond != null) {
if ("username".equals(cond)) {
users.setUsername(name);
}
if ("password".equals(cond)) {
users.setPassword(name);
}
if ("realname".equals(cond)) {
users.setRealname(name);
}
if ("sex".equals(cond)) {
users.setSex(name);
}
if ("birthday".equals(cond)) {
users.setBirthday(name);
}
if ("contact".equals(cond)) {
users.setContact(name);
}
Concert concert = this.concertService.getConcertById(id);
concert.setHits("" + (Integer.parseInt(concert.getHits()) + 1));
this.concertService.updateConcert(concert);
this.getRequest().setAttribute("concert", concert);
Ticket ticket = new Ticket();
ticket.setConcertid(id);
List<Ticket> ticketList = this.ticketService.getTicketByCond(ticket);
this.getRequest().setAttribute("ticketList", ticketList);
return "users/detail";
}
}
public class PageHelper {
public static void getPage(List<?> list, String name, List<String> nameList, List<String> valueList, int pageSize, String number,
HttpServletRequest request, String method) {
StringBuffer buffer = new StringBuffer();
String name2 = name.substring(0, 1).toUpperCase() + name.substring(1);
String path = "";
String action = "getAll" + name2 + ".action";
if (method != null) {
action = "query" + name2 + "ByCond.action";
}
List<Object> objList = new ArrayList<Object>();
if (nameList != null && valueList != null) {
for (int i = 0; i < nameList.size(); i++) {
path += "&" + nameList.get(i) + "=" + valueList.get(i);
}
}
int pageNumber = list.size();
int maxPage = pageNumber;
if (maxPage % pageSize == 0) {
maxPage = maxPage / pageSize;
} else {
maxPage = maxPage / pageSize + 1;
}
if (number == null) {
String html = buffer.toString();
request.setAttribute("html", html);
request.setAttribute(name + "List", objList);
}
public static void getUserPage(List<?> list, String name, String actionName, int pageSize, String number, HttpServletRequest request) {
StringBuffer buffer = new StringBuffer();
String path = "";
String action = actionName + ".action";
List<Object> objList = new ArrayList<Object>();
int pageNumber = list.size();
int maxPage = pageNumber;
if (maxPage % pageSize == 0) {
maxPage = maxPage / pageSize;
} else {
maxPage = maxPage / pageSize + 1;
}
if (number == null) {
number = "0";
}
int start = Integer.parseInt(number) * pageSize;
int over = (Integer.parseInt(number) + 1) * pageSize;
int count = pageNumber - over;
if (count <= 0) {
over = pageNumber;
}
for (int i = start; i < over; i++) {
Object obj = list.get(i);
objList.add(obj);
}
buffer.append(" 共为");
buffer.append(maxPage);
buffer.append("页 共有");
buffer.append(pageNumber);
buffer.append("条 当前为第");
buffer.append((Integer.parseInt(number) + 1));
buffer.append("页 ");
if ((Integer.parseInt(number) + 1) == 1) {
buffer.append("首页");
} else {
buffer.append("<a href=\"" + name + "/" + action + "?number=0" + path + "\">首页</a>");
}
buffer.append(" ");
if ((Integer.parseInt(number) + 1) == 1) {
buffer.append("上一页");
} else {
buffer.append("<a href=\"" + name + "/" + action + "?number=" + (Integer.parseInt(number) - 1) + "" + path + "\">上一页</a>");
}
buffer.append(" ");
if (maxPage <= (Integer.parseInt(number) + 1)) {
public String upload(@RequestParam(value = "image", required = false) MultipartFile file,
HttpServletRequest request, ModelMap model) {
String path = request.getSession().getServletContext().getRealPath("/") + "upfiles/";
String fileName = file.getOriginalFilename();
int i = fileName.lastIndexOf(".");
String name = String.valueOf(VeDate.getStringDatex());
String type = fileName.substring(i + 1);
fileName = name + "." + type;
File targetFile = new File(path, fileName);
if (!targetFile.exists()) {
targetFile.mkdirs();
}
// 保存
try {
file.transferTo(targetFile);
} catch (Exception e) {
e.printStackTrace();
}
model.addAttribute("imageFileName", fileName);
return "saveimage";
}
@RequestMapping(value = "/seatImage.action")
public String uploadV1(@RequestParam(value = "image", required = false) MultipartFile file,
HttpServletRequest request, ModelMap model) {
String path = request.getSession().getServletContext().getRealPath("/") + "upfiles/";
String fileName = file.getOriginalFilename();
int i = fileName.lastIndexOf(".");
String name = String.valueOf(VeDate.getStringDatex());
String type = fileName.substring(i + 1);
fileName = name + "." + type;
File targetFile = new File(path, fileName);
if (!targetFile.exists()) {
targetFile.mkdirs();
}
// 保存
try {
file.transferTo(targetFile);
} catch (Exception e) {
e.printStackTrace();
}
model.addAttribute("imageFileName", fileName);
return "saveSeatImage";
}
@RequestMapping(value = "/files.action")
public String files(@RequestParam(value = "image", required = false) MultipartFile file, HttpServletRequest request,
ModelMap model) {
String path = request.getSession().getServletContext().getRealPath("/") + "upfiles/";
String fileName = file.getOriginalFilename();
return "users/list";
}
// 推荐演唱会
@RequestMapping("recommend.action")
public String recommend(String number) {
this.front();
Concert concert = new Concert();
concert.setRecommend("是");
List<Concert> tempList = this.concertService.getConcertByCond(concert);
PageHelper.getIndexPage(tempList, "concert", "recommend", null, 12, number, this.getRequest());
return "users/list";
}
// 全部演唱会
@RequestMapping("all.action")
public String all(String number) {
this.front();
List<Concert> tempList = this.concertService.getAllConcert();
PageHelper.getIndexPage(tempList, "concert", "all", null, 12, number, this.getRequest());
return "users/list";
}
// 查询商品
@RequestMapping("query.action")
public String query(String name) {
this.front();
Concert concert = new Concert();
concert.setTitle(name);
List<Concert> concertList = this.concertService.getConcertByLike(concert);
this.getRequest().setAttribute("concertList", concertList);
return "users/list";
}
// 商品详情
@RequestMapping("detail.action")
public String detail(String id) {
this.front();
Concert concert = this.concertService.getConcertById(id);
concert.setHits("" + (Integer.parseInt(concert.getHits()) + 1));
}
if ("status".equals(cond)) {
orders.setStatus(name);
}
}
List<String> nameList = new ArrayList<String>();
List<String> valueList = new ArrayList<String>();
nameList.add(cond);
valueList.add(name);
PageHelper.getPage(this.ordersService.getOrdersByLike(orders), "orders", nameList, valueList, 10, number, this.getRequest(), "query");
name = null;
cond = null;
return "admin/queryorders";
}
// 按主键查询数据
@RequestMapping("getOrdersById.action")
public String getOrdersById(String id) {
Orders orders = this.ordersService.getOrdersById(id);
this.getRequest().setAttribute("orders", orders);
List<Users> usersList = this.usersService.getAllUsers();
this.getRequest().setAttribute("usersList", usersList);
List<Concert> concertList = this.concertService.getAllConcert();
this.getRequest().setAttribute("concertList", concertList);
List<Ticket> ticketList = this.ticketService.getAllTicket();
this.getRequest().setAttribute("ticketList", ticketList);
return "admin/editorders";
}
public OrdersService getOrdersService() {
return ordersService;
}
public void setOrdersService(OrdersService ordersService) {
this.ordersService = ordersService;
}
}
return "admin/listcate";
}
// 按条件查询数据 (模糊查询)
@RequestMapping("queryCateByCond.action")
public String queryCateByCond(String cond, String name, String number) {
Cate cate = new Cate();
if (cond != null) {
if ("catename".equals(cond)) {
cate.setCatename(name);
}
if ("memo".equals(cond)) {
cate.setMemo(name);
}
}
List<String> nameList = new ArrayList<String>();
List<String> valueList = new ArrayList<String>();
nameList.add(cond);
valueList.add(name);
PageHelper.getPage(this.cateService.getCateByLike(cate), "cate", nameList, valueList, 10, number, this.getRequest(), "query");
name = null;
cond = null;
return "admin/querycate";
}
// 按主键查询数据
@RequestMapping("getCateById.action")
public String getCateById(String id) {
Cate cate = this.cateService.getCateById(id);
this.getRequest().setAttribute("cate", cate);
return "admin/editcate";
}
public CateService getCateService() {
return cateService;
}
public void setCateService(CateService cateService) {
this.cateService = cateService;
}
}
//首页展示
@Controller
// 设置路径
@RequestMapping("/index")
public class IndexAction extends BaseAction {
@Autowired
@Resource
private UsersService usersService;
@Autowired
@Resource
private ArticleService articleService;
@Autowired
@Resource
private CateService cateService;
@Autowired
@Resource
private ConcertService concertService;
@Autowired
@Resource
private TicketService ticketService;
@Autowired
@Resource
private CartService cartService;
@Autowired
@Resource
private OrdersService ordersService;
// 公共方法 提供公共查询数据
private void front() {
this.getRequest().setAttribute("title", "演唱会购票系统");
List<Cate> cateList = this.cateService.getAllCate();
this.getRequest().setAttribute("cateList", cateList);
List<Concert> hotList = this.concertService.getConcertByHot();
this.getRequest().setAttribute("hotList", hotList);
}
this.getRequest().setAttribute("message", "旧密码错误");
}
return "admin/editpwd";
}
// 管理员退出登录
@RequestMapping("exit.action")
public String exit() {
this.getSession().removeAttribute("adminid");
this.getSession().removeAttribute("adminname");
this.getSession().removeAttribute("realname");
return "admin/index";
}
// 准备添加数据
@RequestMapping("createAdmin.action")
public String createAdmin() {
return "admin/addadmin";
}
// 添加数据
@RequestMapping("addAdmin.action")
public String addAdmin(Admin admin) {
admin.setAddtime(VeDate.getStringDateShort());
this.adminService.insertAdmin(admin);
return "redirect:/admin/createAdmin.action";
}
// 通过主键删除数据
@RequestMapping("deleteAdmin.action")
public String deleteAdmin(String id) {
this.adminService.deleteAdmin(id);
return "redirect:/admin/getAllAdmin.action";
}
// 批量删除数据
@RequestMapping("deleteAdminByIds.action")
public String deleteAdminByIds() {
String[] ids = this.getRequest().getParameterValues("adminid");
for (String adminid : ids) {
this.adminService.deleteAdmin(adminid);
}
return "redirect:/admin/getAllAdmin.action";
}
this.cartService.deleteCart(cartid);
}
return "redirect:/cart/getAllCart.action";
}
// 更新数据
@RequestMapping("updateCart.action")
public String updateCart(Cart cart) {
this.cartService.updateCart(cart);
return "redirect:/cart/getAllCart.action";
}
// 显示全部数据
@RequestMapping("getAllCart.action")
public String getAllCart(String number) {
List<Cart> cartList = this.cartService.getAllCart();
PageHelper.getPage(cartList, "cart", null, null, 10, number, this.getRequest(), null);
return "admin/listcart";
}
// 按条件查询数据 (模糊查询)
@RequestMapping("queryCartByCond.action")
public String queryCartByCond(String cond, String name, String number) {
Cart cart = new Cart();
if (cond != null) {
if ("usersid".equals(cond)) {
cart.setUsersid(name);
}
if ("concertid".equals(cond)) {
cart.setConcertid(name);
}
if ("ticketid".equals(cond)) {
cart.setTicketid(name);
}
if ("num".equals(cond)) {
cart.setNum(name);
}
if ("price".equals(cond)) {
cart.setPrice(name);
}
if ("addtime".equals(cond)) {
cart.setAddtime(name);
}
}
List<String> nameList = new ArrayList<String>();
List<String> valueList = new ArrayList<String>();
nameList.add(cond);
valueList.add(name);
PageHelper.getPage(this.cartService.getCartByLike(cart), "cart", nameList, valueList, 10, number, this.getRequest(), "query");
name = null;
}
this.getRequest().setAttribute("id", id);
Orders orders = this.ordersService.getOrdersById(id);
this.getRequest().setAttribute("orders", orders);
return "users/pay";
}
// 付款
@RequestMapping("pay.action")
public String pay(String id) {
this.front();
if (this.getSession().getAttribute("userid") == null) {
return "redirect:/index/preLogin.action";
}
Orders orders = this.ordersService.getOrdersById(this.getRequest().getParameter("id"));
orders.setStatus("已付款");
this.ordersService.updateOrders(orders);
Concert concert = this.concertService.getConcertById(orders.getConcertid());
concert.setSellnum("" + (Integer.parseInt(concert.getSellnum()) + Integer.parseInt(orders.getNum())));
this.concertService.updateConcert(concert);
Ticket ticket = this.ticketService.getTicketById(orders.getTicketid());
int sellnum = Integer.parseInt(ticket.getSellnum()) + Integer.parseInt(orders.getNum());
int balance = Integer.parseInt(ticket.getStorage()) - sellnum;
ticket.setBalance("" + balance);
ticket.setSellnum("" + sellnum);
this.ticketService.updateTicket(ticket);
return "redirect:/index/showOrders.action";
}
// 确认收货
@RequestMapping("over.action")
public String over(String id) {
this.front();
if (this.getSession().getAttribute("userid") == null) {
return "redirect:/index/preLogin.action";
}
Orders orders = this.ordersService.getOrdersById(this.getRequest().getParameter("id"));
orders.setStatus("完成");
this.ordersService.updateOrders(orders);
return "redirect:/index/showOrders.action";
}
// 取消订单
@RequestMapping("cancel.action")
public String cancel(String id) {
this.front();
if (this.getSession().getAttribute("userid") == null) {
return "redirect:/index/preLogin.action";
}
Orders orders = this.ordersService.getOrdersById(this.getRequest().getParameter("id"));
orders.setStatus("已取消");
this.ordersService.updateOrders(orders);
return "redirect:/index/showOrders.action";
Concert concert = new Concert();
if (cond != null) {
if ("title".equals(cond)) {
concert.setTitle(name);
}
if ("image".equals(cond)) {
concert.setImage(name);
}
if ("cateid".equals(cond)) {
concert.setCateid(name);
}
if ("actor".equals(cond)) {
concert.setActor(name);
}
if ("recommend".equals(cond)) {
concert.setRecommend(name);
}
if ("address".equals(cond)) {
concert.setAddress(name);
}
if ("addtime".equals(cond)) {
concert.setAddtime(name);
}
if ("hits".equals(cond)) {
concert.setHits(name);
}
if ("sellnum".equals(cond)) {
concert.setSellnum(name);
}
if ("contents".equals(cond)) {
concert.setContents(name);
}
}
List<String> nameList = new ArrayList<String>();
List<String> valueList = new ArrayList<String>();
nameList.add(cond);
valueList.add(name);
PageHelper.getPage(this.concertService.getConcertByLike(concert), "concert", nameList, valueList, 10, number, this.getRequest(),
"query");
name = null;
cond = null;
return "admin/queryconcert";
}
// 按主键查询数据
@RequestMapping("getConcertById.action")
public String getConcertById(String id) {
Concert concert = this.concertService.getConcertById(id);
this.getRequest().setAttribute("concert", concert);
List<Cate> cateList = this.cateService.getAllCate();
}
return "redirect:/concert/getAllConcert.action";
}
// 更新数据
@RequestMapping("updateConcert.action")
public String updateConcert(Concert concert) {
this.concertService.updateConcert(concert);
return "redirect:/concert/getAllConcert.action";
}
// 显示全部数据
@RequestMapping("getAllConcert.action")
public String getAllConcert(String number) {
List<Concert> concertList = this.concertService.getAllConcert();
PageHelper.getPage(concertList, "concert", null, null, 10, number, this.getRequest(), null);
return "admin/listconcert";
}
// 按条件查询数据 (模糊查询)
@RequestMapping("queryConcertByCond.action")
public String queryConcertByCond(String cond, String name, String number) {
Concert concert = new Concert();
if (cond != null) {
if ("title".equals(cond)) {
concert.setTitle(name);
}
if ("image".equals(cond)) {
concert.setImage(name);
}
if ("cateid".equals(cond)) {
concert.setCateid(name);
}
if ("actor".equals(cond)) {
concert.setActor(name);
}
if ("recommend".equals(cond)) {
concert.setRecommend(name);
}
if ("address".equals(cond)) {
concert.setAddress(name);
}
if ("addtime".equals(cond)) {
concert.setAddtime(name);
orders.setTotal(name);
}
if ("status".equals(cond)) {
orders.setStatus(name);
}
}
List<String> nameList = new ArrayList<String>();
List<String> valueList = new ArrayList<String>();
nameList.add(cond);
valueList.add(name);
PageHelper.getPage(this.ordersService.getOrdersByLike(orders), "orders", nameList, valueList, 10, number, this.getRequest(), "query");
name = null;
cond = null;
return "admin/queryorders";
}
// 按主键查询数据
@RequestMapping("getOrdersById.action")
public String getOrdersById(String id) {
Orders orders = this.ordersService.getOrdersById(id);
this.getRequest().setAttribute("orders", orders);
List<Users> usersList = this.usersService.getAllUsers();
this.getRequest().setAttribute("usersList", usersList);
List<Concert> concertList = this.concertService.getAllConcert();
this.getRequest().setAttribute("concertList", concertList);
List<Ticket> ticketList = this.ticketService.getAllTicket();
this.getRequest().setAttribute("ticketList", ticketList);
return "admin/editorders";
}
public OrdersService getOrdersService() {
return ordersService;
}
public void setOrdersService(OrdersService ordersService) {
this.ordersService = ordersService;
}
}
public String exit() {
this.getSession().removeAttribute("adminid");
this.getSession().removeAttribute("adminname");
this.getSession().removeAttribute("realname");
return "admin/index";
}
// 准备添加数据
@RequestMapping("createAdmin.action")
public String createAdmin() {
return "admin/addadmin";
}
// 添加数据
@RequestMapping("addAdmin.action")
public String addAdmin(Admin admin) {
admin.setAddtime(VeDate.getStringDateShort());
this.adminService.insertAdmin(admin);
return "redirect:/admin/createAdmin.action";
}
// 通过主键删除数据
@RequestMapping("deleteAdmin.action")
public String deleteAdmin(String id) {
this.adminService.deleteAdmin(id);
return "redirect:/admin/getAllAdmin.action";
}
// 批量删除数据
@RequestMapping("deleteAdminByIds.action")
public String deleteAdminByIds() {
String[] ids = this.getRequest().getParameterValues("adminid");
for (String adminid : ids) {
this.adminService.deleteAdmin(adminid);
}
return "redirect:/admin/getAllAdmin.action";
}
// 更新数据
@RequestMapping("updateAdmin.action")
public String updateAdmin(Admin admin) {
this.adminService.updateAdmin(admin);
return "redirect:/admin/getAllAdmin.action";
}
// 显示全部数据
@RequestMapping("getAllAdmin.action")