Java實戰(zhàn)之制作在線音樂網(wǎng)站
介紹
環(huán)境配置
Jdk1.8 + Tomcat8.5 + mysql + Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)
項目技術
JSP + C3P0+ Servlert + html+ css + JavaScript + JQuery + Ajax + Fileupload等等
效果圖
核心代碼
用戶管理控制層
@Controller @RequestMapping("/user") public class UserController { @Autowired protected WebResponse webResponse; @Resource protected IUserService userService; @Resource protected IMyMusicService MyMusicService; @Autowired UserService userService2; String newName = null; // 登錄功能 @RequestMapping(value = "/loginPage", method = RequestMethod.POST, produces = "application/json;charset=UTF-8") @ResponseBody public WebResponse loginCon(HttpServletRequest request, HttpSession session) { // 取參數(shù)的方法,對應登錄表單中的用戶名name="user_name" String user_name = request.getParameter("user_name"); String user_password = request.getParameter("user_password"); // 調(diào)用mapper層的登錄的方法,從數(shù)據(jù)庫中匹配用戶名和密碼,并放回用戶名 String tname = userService2.login(user_name, user_password); String user_Id = userService2.getUserById(user_name, user_password); // newUserId = user_Id; //修改密碼用的 int userId = 0; try { // 判斷字符串是否是數(shù)字,并且拋出異常 // boolean NotisNum // =(user_Id.equals(null)||user_Id.equals("")||user_Id.equals("null")); boolean NotisNum = (user_Id.equals("null")); // System.out.println(NotisNum); if (!NotisNum) { userId = Integer.parseInt(user_Id); } } catch (Exception e) { } // session.setAttribute("tname", tname); session.setAttribute("userId", userId); Object data = null; String statusMsg = ""; Integer statusCode = 200; Map<String, String> paramMap = new HashMap<String, String>(); paramMap.put("user_name", user_name); paramMap.put("user_password", user_password); data = paramMap; User user = new User(); user.setUser_id(userId); System.out.println("登錄的id:" + user.getUser_id()); System.out.println("登錄的用戶名:" + session.getAttribute(tname)); System.out.println("前端,用戶名:" + user_name + " 密碼:" + user_password); System.out.println("根據(jù)前端在數(shù)據(jù)庫中查找到的用戶名:" + tname + " 用戶的id:" + userId); // 用戶名和密碼匹配不成功,則返回的用戶名為空 if (tname == null) { System.out.println("用戶不存在"); System.out.println(); statusMsg = "用戶或密碼錯誤!"; statusCode = 201; return webResponse.getWebResponse(statusCode, statusMsg, data); } else { statusCode = 200; webResponse.setStatusCode(statusCode); System.out.println("狀態(tài)碼:" + webResponse.getStatusCode()); System.out.println("登錄成功了"); System.out.println(); return webResponse.getWebResponseUserId(statusCode, statusMsg, data, userId); } } // 更改密碼 更改密碼 更改密碼 @RequestMapping(value = "/resetUserPassword", method = RequestMethod.POST, produces = "application/json;charset=UTF-8") @ResponseBody public WebResponse resetUserPassword(HttpServletRequest request, HttpSession session) { Object data = null; String statusMsg = ""; Integer statusCode = 200; int uId = 0; // 取參數(shù)的方法,對應登錄表單中的用戶名 String user_name = request.getParameter("user_name"); String newUser_password = request.getParameter("newUser_password"); try { uId = (int) this.userService2.resetPassword(user_name, newUser_password); System.out.println("修改密碼返回的id:" + uId); } catch (Exception e) { } return webResponse.getWebResponse(statusCode, statusMsg, data); } // 用戶注冊 @RequestMapping(value = "/addOrEditUser", method = RequestMethod.POST, produces = "application/json;charset=UTF-8") @ResponseBody public WebResponse addOrEditTest(HttpServletRequest request, HttpServletResponse response, HttpSession session, String user_id, @RequestParam(required = false) String user_name, @RequestParam(required = false) String user_password) { Object data = null; String statusMsg = "用戶名已存在,請重新注冊!"; Integer statusCode = 201; String rearchName = null; try { rearchName = this.userService.rearchUserName(user_name); if (!(rearchName.equals("null"))) { return webResponse.getWebResponse(statusCode, statusMsg, data); } } catch (Exception e) { } System.out.println("判斷用戶是否重復:" + rearchName); if (user_id == null || user_id.length() == 0) { return this.addUser(request, response, session, user_name, user_password); } else { return this.editUser(request, response, session, user_id, user_name, user_password); } } // 添加用戶 @RequestMapping(value = "/addUser", method = RequestMethod.POST, produces = "application/json;charset=UTF-8") @ResponseBody public WebResponse addUser(HttpServletRequest request, HttpServletResponse response, HttpSession session, String user_name, String user_password) { Object data = null; String statusMsg = ""; Integer statusCode = 200; Map<String, String> paramMap = new HashMap<String, String>(); paramMap.put("user_name", user_name); paramMap.put("user_password", user_password); data = paramMap; if (user_name == null || "".equals(user_name.trim()) || user_password == null || "".equals(user_password.trim())) { statusMsg = " 參數(shù)為空錯誤?。。?!"; statusCode = 201; return webResponse.getWebResponse(statusCode, statusMsg, data); } if (user_name.length() > 255 || user_password.length() > 65535) { statusMsg = " 參數(shù)長度過長錯誤!??!"; statusCode = 201; return webResponse.getWebResponse(statusCode, statusMsg, data); } User user = new User(); boolean isAdd = true; return this.addOrEditUser(request, response, session, data, user, user_name, user_password, isAdd); } @RequestMapping(value = "/editUser", method = RequestMethod.POST, produces = "application/json;charset=UTF-8") @ResponseBody public WebResponse editUser(HttpServletRequest request, HttpServletResponse response, HttpSession session, String user_id, @RequestParam(required = false) String user_name, @RequestParam(required = false) String user_password) { Object data = null; String statusMsg = ""; Integer statusCode = 200; Map<String, String> paramMap = new HashMap<String, String>(); paramMap.put("user_id", user_id); paramMap.put("user_name", user_name); paramMap.put("user_password", user_password); data = paramMap; if (user_id == null || "".equals(user_id.trim())) { statusMsg = "未獲得主鍵參數(shù)錯誤?。?!"; statusCode = 201; return webResponse.getWebResponse(statusCode, statusMsg, data); } Integer user_idNumeri = user_id.matches("^[0-9]*$") ? Integer.parseInt(user_id) : 0; if (user_idNumeri == 0) { statusMsg = "主鍵不為數(shù)字錯誤?。?!"; statusCode = 201; return webResponse.getWebResponse(statusCode, statusMsg, data); } User userVo = this.userService.getById(user_idNumeri); User user = new User(); BeanUtils.copyProperties(userVo, user); // 淺復制,重要 boolean isAdd = false; return this.addOrEditUser(request, response, session, data, user, user_name, user_password, isAdd); } /* * */ private WebResponse addOrEditUser(HttpServletRequest request, HttpServletResponse response, HttpSession session, Object data, User user, String user_name, String user_password, boolean isAdd) { String statusMsg = ""; Integer statusCode = 200; if (user_name != null && !("".equals(user_name.trim()))) { if (user_name.length() > 255) { statusMsg = " 參數(shù)長度過長錯誤,testName"; statusCode = 201; return webResponse.getWebResponse(statusCode, statusMsg, data); } // 重要,建立數(shù)據(jù),以便后期數(shù)據(jù)庫能調(diào)用數(shù)據(jù) user.setUser_name(user_name); // 建立用戶名 user.setUser_password(user_password); // 建立密碼 } if (user_password != null && !("".equals(user_password.trim()))) { if (user_password.length() > 65535) { statusMsg = " 參數(shù)長度過長錯誤,info"; statusCode = 201; return webResponse.getWebResponse(statusCode, statusMsg, data); } } if (isAdd) { // 插入語句,插入數(shù)據(jù)庫,重要 this.userService.insert(user); if (user.getUser_id() > 0) { statusMsg = "成功插入?。?!"; } else { statusCode = 202; statusMsg = "insert false"; } return webResponse.getWebResponse(statusCode, statusMsg, data); } int num = this.userService.update(user); if (num > 0) { statusMsg = "成功修改?。?!"; } else { statusCode = 202; statusMsg = "update false"; } return webResponse.getWebResponse(statusCode, statusMsg, data); } @RequestMapping(value = "/getUserById", produces = "application/json;charset=UTF-8") @ResponseBody public WebResponse getUserById(String user_id) { Object data = user_id; Integer statusCode = 200; String statusMsg = ""; if (user_id == null || user_id.length() == 0 || user_id.length() > 11) { statusMsg = "參數(shù)為空或參數(shù)過長錯誤!??!"; statusCode = 201; return webResponse.getWebResponse(statusCode, statusMsg, data); } Integer user_idNumNumeri = user_id.matches("^[0-9]*$") ? Integer.parseInt(user_id) : 0; if (user_idNumNumeri == 0) { statusMsg = "參數(shù)數(shù)字型錯誤?。?!"; statusCode = 201; return webResponse.getWebResponse(statusCode, statusMsg, data); } User userVo = this.userService.getById(user_idNumNumeri); if (userVo != null && userVo.getUser_id() > 0) { data = userVo; statusMsg = "獲取單條數(shù)據(jù)成功?。。?; } else { statusCode = 202; statusMsg = "no record!!!"; } return webResponse.getWebResponse(statusCode, statusMsg, data); } @RequestMapping(value = "/getOneUser", method = RequestMethod.POST, produces = "application/json;charset=UTF-8") @ResponseBody public WebResponse getOneTest(@RequestParam(defaultValue = "正常", required = false) String tbStatus) { LinkedHashMap<String, String> condition = new LinkedHashMap<String, String>(); condition.put("tb_status='" + tbStatus + "'", ""); User userVo = this.userService.getOne(condition); Object data = null; String statusMsg = ""; if (userVo != null && userVo.getUser_id() > 0) { data = userVo; statusMsg = "根據(jù)條件獲取單條數(shù)據(jù)成功?。?!"; } else { statusMsg = "no record!!!"; } return webResponse.getWebResponse(statusMsg, data); } @RequestMapping(value = "/getUserList", method = RequestMethod.POST, produces = "application/json;charset=UTF-8") @ResponseBody public WebResponse getTestList(HttpServletRequest request, HttpServletResponse response, HttpSession session, @RequestParam(defaultValue = "1", required = false) Integer pageNo, @RequestParam(defaultValue = "10", required = false) Integer pageSize, @RequestParam(defaultValue = "正常", required = false) String tbStatus, @RequestParam(required = false) String keyword, @RequestParam(defaultValue = "test_id", required = false) String order, @RequestParam(defaultValue = "desc", required = false) String desc) { Object data = null; String statusMsg = ""; int statusCode = 200; LinkedHashMap<String, String> condition = new LinkedHashMap<String, String>(); /* * if (tbStatus != null && tbStatus.length() > 0) { condition.put("tb_status='" * + tbStatus + "'", "and"); } */ if (keyword != null && keyword.length() > 0) { StringBuffer buf = new StringBuffer(); buf.append("("); buf.append("test_name like '%").append(keyword).append("%'"); buf.append(" or "); buf.append("info like '%").append(keyword).append("%'"); buf.append(" or "); buf.append("other like '%").append(keyword).append("%'"); buf.append(")"); condition.put(buf.toString(), "and"); } String field = null; if (condition.size() > 0) { condition.put(condition.entrySet().iterator().next().getKey(), ""); } int count = this.userService.getCount(condition, field); if (order != null && order.length() > 0 & "desc".equals(desc)) { order = order + " desc"; } List<User> list = this.userService.getList(condition, pageNo, pageSize, order, field); Map<Object, Object> map = new HashMap<Object, Object>(); map.put("total", count); int size = list.size(); if (size > 0) { List<User> listFont = new ArrayList<User>(); User vo; User voFont = new User(); for (int i = 0; i < size; i++) { vo = list.get(i); BeanUtils.copyProperties(vo, voFont); listFont.add(voFont); voFont = new User(); } map.put("list", listFont); data = map; statusMsg = "根據(jù)條件獲取分頁數(shù)據(jù)成功?。?!"; } else { map.put("list", list); data = map; statusCode = 202; statusMsg = "no record!!!"; return webResponse.getWebResponse(statusCode, statusMsg, data); } return webResponse.getWebResponse(statusCode, statusMsg, data); } @RequestMapping(value = "/getAdminUserList", method = RequestMethod.POST, produces = "application/json;charset=UTF-8") @ResponseBody public String getAdminTestList(HttpServletRequest request, HttpServletResponse response, HttpSession session, @RequestParam(defaultValue = "1", required = false) Integer pageNo, @RequestParam(defaultValue = "10", required = false) Integer pageSize, @RequestParam(defaultValue = "正常", required = false) String tbStatus, @RequestParam(required = false) String keyword, @RequestParam(defaultValue = "test_id", required = false) String order, @RequestParam(defaultValue = "desc", required = false) String desc) { Object data = null; String statusMsg = ""; int statusCode = 200; LinkedHashMap<String, String> condition = new LinkedHashMap<String, String>(); if (tbStatus != null && tbStatus.length() > 0) { condition.put("tb_status='" + tbStatus + "'", "and"); } if (keyword != null && keyword.length() > 0) { StringBuffer buf = new StringBuffer(); buf.append("("); buf.append("test_name like '%").append(keyword).append("%'"); buf.append(" or "); buf.append("info like '%").append(keyword).append("%'"); buf.append(" or "); buf.append("other like '%").append(keyword).append("%'"); buf.append(")"); condition.put(buf.toString(), "and"); } String field = null; if (condition.size() > 0) { condition.put(condition.entrySet().iterator().next().getKey(), ""); } int count = this.userService.getCount(condition, field); if (order != null && order.length() > 0 & "desc".equals(desc)) { order = order + " desc"; } List<User> list = this.userService.getList(condition, pageNo, pageSize, order, field); Map<Object, Object> map = new HashMap<Object, Object>(); map.put("total", count); int size = list.size(); if (size > 0) { map.put("list", list); data = map; statusMsg = "根據(jù)條件獲取分頁數(shù)據(jù)成功?。?!"; } else { map.put("list", list); data = map; statusCode = 202; statusMsg = "no record!!!"; } return JSON.toJSONString(data); } @RequestMapping(value = "/delUser", method = RequestMethod.POST, produces = "application/json;charset=UTF-8") @ResponseBody public WebResponse delTest(int id) { int num = this.userService.delBySign(id); Object data = null; String statusMsg = ""; if (num > 0) { statusMsg = "成功刪除!?。?; } else { statusMsg = "no record!!!"; } return webResponse.getWebResponse(statusMsg, data); } }
我的音樂歌單管理
@Controller @RequestMapping("/myMusic") public class MyMusicController { @Autowired protected WebResponse webResponse; @Resource protected IMyMusicService myMusicService; // @Autowired // MyMusicService myMusicService2; // 歌曲收藏 @RequestMapping(value = "/addMusicCollect", method = RequestMethod.POST, produces = "application/json;charset=UTF-8") @ResponseBody public WebResponse addMusicCollect(HttpServletRequest request, HttpServletResponse response, HttpSession session, @RequestParam(required = false) String user_name) { WebResponse webResponse = new WebResponse(); MyMusic myMusic = new MyMusic(); System.out.println("接收到的用戶名:" + user_name); Integer statusCode = 200; // 數(shù)據(jù)庫插入語句,對應xml文件的insert this.myMusicService.insert(myMusic); webResponse.setStatusCode(statusCode); return webResponse; } // 從數(shù)據(jù)庫中獲取歌曲數(shù)據(jù),在我的音樂中顯示 @RequestMapping(value = "/getMyMusicList", method = RequestMethod.POST, produces = "application/json;charset=UTF-8") @ResponseBody public WebResponse getMyMusicList(HttpServletRequest request, HttpServletResponse response, HttpSession session, @RequestParam(defaultValue = "1", required = false) Integer pageNo, @RequestParam(defaultValue = "10", required = false) Integer pageSize, @RequestParam(defaultValue = "正常", required = false) String tbStatus, @RequestParam(required = false) String keyword, @RequestParam(defaultValue = "ml_id", required = false) String order, @RequestParam(defaultValue = "desc", required = false) String desc, @RequestParam(required = false) String user_name, @RequestParam(required = false) String user_password ) { // System.out.println("我的音樂顯示列表前收藏的歌曲id:" + song_id); String user_Id = null; try { user_Id = myMusicService.getUserById(user_name, user_password); } catch (Exception e) { } int userId = 0; try { // 判斷字符串是否是數(shù)字,并且拋出異常 boolean NotisNum = (user_Id.equals("null")); // System.out.println(NotisNum); if (!NotisNum) { userId = Integer.parseInt(user_Id); } } catch (Exception e) { } System.out.println("我的音樂顯示列表前用戶id:" + userId); Object data = null; String statusMsg = ""; int statusCode = 200; LinkedHashMap<String, String> condition = new LinkedHashMap<String, String>(); /* * if (tbStatus != null && tbStatus.length() > 0) { condition.put("tb_status='" * + tbStatus + "'", "and"); } */ if (keyword != null && keyword.length() > 0) { StringBuffer buf = new StringBuffer(); buf.append("("); buf.append("test_name like '%").append(keyword).append("%'"); buf.append(" or "); buf.append("info like '%").append(keyword).append("%'"); buf.append(" or "); buf.append("other like '%").append(keyword).append("%'"); buf.append(")"); condition.put(buf.toString(), "and"); } String field = null; if (condition.size() > 0) { condition.put(condition.entrySet().iterator().next().getKey(), ""); } // int count = this.myMusicService.getCount(condition, field); if (order != null && order.length() > 0 & "desc".equals(desc)) { order = order + " desc"; } // List<MyMusic> list = this.myMusicService.getList(condition, pageNo, pageSize, // order, field); try { List<MyMusic> list = this.myMusicService.getMyMusicList(userId); Map<Object, Object> map = new HashMap<Object, Object>(); // map.put("total", count); int size = list.size(); if (size > 0) { List<MyMusic> listFont = new ArrayList<MyMusic>(); MyMusic vo; MyMusic voFont = new MyMusic(); for (int i = 0; i < size; i++) { vo = list.get(i); // 通過java反射將類中當前屬性字段對應的內(nèi)容復制到另外一個類中 BeanUtils.copyProperties(vo, voFont); listFont.add(voFont); voFont = new MyMusic(); } map.put("list", listFont); data = map; statusMsg = "根據(jù)條件獲取分頁數(shù)據(jù)成功?。?!"; } else { map.put("list", list); data = map; statusCode = 202; statusMsg = "no record!!!"; return webResponse.getWebResponse(statusCode, statusMsg, data); } }catch (Exception e){ } return webResponse.getWebResponse(statusCode, statusMsg, data); } // 刪除音樂 @RequestMapping(value = "/deleteMyMusic", method = RequestMethod.POST, produces = "application/json;charset=UTF-8") @ResponseBody public WebResponse deleteMyMusic(HttpServletRequest request, HttpServletResponse response, HttpSession session, @RequestParam(required = false) Integer user_id, @RequestParam(required = false) Integer song_id) { WebResponse webResponse = new WebResponse(); MyMusic myMusic = new MyMusic(); System.out.println("刪除音樂前的用戶名id:" + user_id); Object data = null; String statusMsg = ""; int statusCode = 201; int del = 0; if (user_id == null){ del = this.myMusicService.deleteMyMusic(song_id, 0); }else { del = this.myMusicService.deleteMyMusic(song_id, user_id); } if (del > 0) { statusCode = 200; } return webResponse.getWebResponse(statusCode, statusMsg, data); } }
音樂鏈接管理
@Controller @RequestMapping("/musicLink") public class MusicLinkController { @Autowired protected WebResponse webResponse; @Resource protected IMusicLinkService musicLinkService; @Resource protected MusicLinkService musicLinkService2; /** * //常用注解快速解釋: * @Controller :用于標記在一個類上,使用它標記的類就是一個SpringMVC Controller 對象。 * 分發(fā)處理器將會掃描使用了該注解的類的方法,并檢測該方法是否使用了@RequestMapping 注解。@Controller * 只是定義了一個控制器類,而使用@RequestMapping 注解的方法才是真正處理請求的處理器。 * * @RequestMapping :是一個用來處理請求地址映射的注解,可用于類或方法上。 * 用于類上,表示類中的所有響應請求的方法都是以該地址作為父路徑; * 用于方法上,表示在類的父路徑下追加方法上注解中的地址將會訪問到該方法 * * @Autowired:@Autowired 注釋,它可以對類成員變量、方法及構造函數(shù)進行標注,完成自動裝配的工作。 通過 @Autowired的使用來消除 set ,get方法。 * * * @Resource:@Autowired與@Resource都可以用來裝配bean. 都可以寫在字段上,或?qū)懺趕etter方法上。 * * * @Responsebody 注解表示該方法的返回的結(jié)果直接寫入 HTTP 響應正文(ResponseBody)中, * 一般在異步獲取數(shù)據(jù)時使用,通常是在使用 @RequestMapping 后,返回值通常解析為跳轉(zhuǎn)路徑, * 加上 @Responsebody 后返回結(jié)果不會被解析為跳轉(zhuǎn)路徑,而是直接寫入HTTP 響應正文中。 * 作用: 該注解用于將Controller的方法返回的對象,通過適當?shù)腍ttpMessageConverter轉(zhuǎn)換為指定格式后,寫入到Response對象的body數(shù)據(jù)區(qū)。 * * * * * @RequestParam(value="aa" required=false) * 1.可以對傳入?yún)?shù)指定參數(shù)名 * * // 下面的對傳入?yún)?shù)指定為aa,如果前端不傳aa參數(shù)名,會報錯 * @RequestParam(value="aa") String inputStr * * 2、可以通過required=false或者true來要求@RequestParam配置的前端參數(shù)是否一定要傳 * * 3、如果@requestParam注解的參數(shù)是int類型,并且required=false,此時如果不傳參數(shù)的話,會報錯。原因是,required=false時,不傳參數(shù)的話, * 會給參數(shù)賦值null,這樣就會把null賦值給了int,因此會報錯。 * * * */ // 從數(shù)據(jù)庫中獲取歌曲數(shù)據(jù),在榜單中顯示 @RequestMapping(value = "/getMusicLinkList", method = RequestMethod.POST, produces = "application/json;charset=UTF-8") @ResponseBody public WebResponse getMusicLinkList(HttpServletRequest request, HttpServletResponse response, HttpSession session, @RequestParam(defaultValue = "1", required = false) Integer pageNo, @RequestParam(defaultValue = "30", required = false) Integer pageSize, @RequestParam(defaultValue = "正常", required = false) String tbStatus, @RequestParam(required = false) String keyword, @RequestParam(defaultValue = "ml_id", required = false) String order, @RequestParam(defaultValue = "desc", required = false) String desc) { Object data = null; String statusMsg = ""; int statusCode = 200; LinkedHashMap<String, String> condition = new LinkedHashMap<String, String>(); /* * if (tbStatus != null && tbStatus.length() > 0) { condition.put("tb_status='" * + tbStatus + "'", "and"); } */ if (keyword != null && keyword.length() > 0) { StringBuffer buf = new StringBuffer(); buf.append("("); buf.append("test_name like '%").append(keyword).append("%'"); buf.append(" or "); buf.append("info like '%").append(keyword).append("%'"); buf.append(" or "); buf.append("other like '%").append(keyword).append("%'"); buf.append(")"); condition.put(buf.toString(), "and"); } String field = null; if (condition.size() > 0) { condition.put(condition.entrySet().iterator().next().getKey(), ""); } int count = this.musicLinkService.getCount(condition, field); if (order != null && order.length() > 0 & "desc".equals(desc)) { order = order + " desc"; } // 從數(shù)據(jù)庫中獲取數(shù)據(jù),并把對象的結(jié)果集存到list列表中 List<MusicLink> list = this.musicLinkService.getList(condition, pageNo, pageSize, order, field); Map<Object, Object> map = new HashMap<Object, Object>(); map.put("total", count); // 如果數(shù)據(jù)庫有15條音樂,則list中有15個對象,則size的大小為15 int size = list.size(); if (size > 0) { List<MusicLink> listFont = new ArrayList<MusicLink>(); MusicLink vo; MusicLink voFont = new MusicLink(); // 循環(huán)將獲取到的對象及結(jié)構屬性克隆到一個新的voFont對象中,并保存到動態(tài)數(shù)組中 for (int i = 0; i < size; i++) { vo = list.get(i); // 通過java反射將類中當前屬性字段對應的內(nèi)容復制到另外一個類中 BeanUtils.copyProperties(vo, voFont); listFont.add(voFont); voFont = new MusicLink(); } map.put("list", listFont); // data是一個map對象 data = map; statusMsg = "根據(jù)條件獲取分頁數(shù)據(jù)成功?。?!"; } else { map.put("list", list); data = map; statusCode = 202; statusMsg = "no record!!!"; return webResponse.getWebResponse(statusCode, statusMsg, data); } return webResponse.getWebResponse(statusCode, statusMsg, data); } // 歌曲搜索功能 @RequestMapping(value = "/getSongRearch", method = RequestMethod.POST, produces = "application/json;charset=UTF-8") @ResponseBody public WebResponse getSongRearch(HttpServletRequest request, HttpServletResponse response, HttpSession session, @RequestParam(required = false) String songName) { Object data = null; String statusMsg = ""; int statusCode = 200; // 調(diào)用Mapper層的songRearch方法,進行數(shù)據(jù)庫的操作 List<MusicLink> list = this.musicLinkService2.songRearch(songName); int count = list.size(); System.out.println(); System.out.println("搜索到的歌曲數(shù):" + count); System.out.println("結(jié)束"); Map<Object, Object> map = new HashMap<Object, Object>(); map.put("total", count); int size = list.size(); if (size > 0) { List<MusicLink> listFont = new ArrayList<MusicLink>(); MusicLink vo; MusicLink voFont = new MusicLink(); for (int i = 0; i < size; i++) { vo = list.get(i); BeanUtils.copyProperties(vo, voFont); listFont.add(voFont); voFont = new MusicLink(); } map.put("list", listFont); data = map; // for (int i = 0; i < map.size(); i++) { // System.out.println(map.get(listFont).toString()); // } // statusMsg = "根據(jù)條件獲取分頁數(shù)據(jù)成功?。?!"; } else { map.put("list", list); data = map; statusCode = 202; statusMsg = "no record!!!"; return webResponse.getWebResponse(statusCode, statusMsg, data); } return webResponse.getWebResponse(statusCode, statusMsg, data); } // 歌曲收藏 @RequestMapping(value = "/addMusicCollect", method = RequestMethod.POST, produces = "application/json;charset=UTF-8") @ResponseBody public WebResponse addMusicCollect(HttpServletRequest request, HttpServletResponse response, HttpSession session, @RequestParam(required = false) int song_id, @RequestParam(required = false) String user_name, @RequestParam(required = false) String user_password, @RequestParam(required = false) String songName) { WebResponse webResponse = new WebResponse(); MusicLink musicLink = new MusicLink(); User user = new User(); System.out.println("歌曲id:" + song_id + " 用戶名:" + user_name + " 戶用密碼:" + user_password); Object data = null; String statusMsg = ""; int statusCode = 200; String user_Id = null; try { user_Id = musicLinkService2.getUserId(user_name, user_password); } catch (Exception e) { } int userId = 0; try { // 判斷字符串是否是數(shù)字,并且拋出異常 boolean NotisNum = (user_Id.equals("null")); // System.out.println(NotisNum); if (!NotisNum) { userId = Integer.parseInt(user_Id); } } catch (Exception e) { } System.out.println("歌曲名:" + songName); String jSong = this.musicLinkService.judgeSong(songName, userId); int my_Id = 0; try { // 判斷字符串是否是數(shù)字,并且拋出異常 // boolean NotisNum // =(user_Id.equals(null)||user_Id.equals("")||user_Id.equals("null")); boolean NotisNum = (jSong.equals("null")); if (!NotisNum) { my_Id = Integer.parseInt(jSong); } } catch (Exception e) { } if (my_Id > 0) { statusCode = 201; statusMsg = "已收藏,請不要重復收藏!"; } else { this.musicLinkService.insertSongRearch(song_id, userId); } System.out.println("收藏歌曲的用戶id:" + userId); return webResponse.getWebResponse(statusCode, statusMsg, data); } }
到此這篇關于Java實戰(zhàn)之制作在線音樂網(wǎng)站的文章就介紹到這了,更多相關Java在線音樂網(wǎng)站內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
SpringMvc+POI處理excel表數(shù)據(jù)導入
這篇文章主要為大家詳細介紹了SpringMvc+POI處理excel表數(shù)據(jù)導入,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-06-06java8 stream自定義分組求和并排序的實現(xiàn)
這篇文章主要介紹了java8 stream自定義分組求和并排序的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-01-01Spring學習JdbcTemplate數(shù)據(jù)庫事務參數(shù)
這篇文章主要為大家介紹了Spring學習JdbcTemplate數(shù)據(jù)庫事務參數(shù)使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-05-05