欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java實(shí)戰(zhàn)之制作在線音樂(lè)網(wǎng)站

 更新時(shí)間:2022年02月15日 13:43:13   作者:qq_1334611189  
這篇文章主要介紹了如何通過(guò)Java實(shí)現(xiàn)一個(gè)精美風(fēng)的在線音樂(lè)網(wǎng)站,文章采用到了JSP、JQuery、Ajax等技術(shù),感興趣的小伙伴可以了解一下

介紹

環(huán)境配置

Jdk1.8 + Tomcat8.5 + mysql + Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)

項(xiàng)目技術(shù)

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ù)的方法,對(duì)應(yīng)登錄表單中的用戶名name="user_name"
		String user_name = request.getParameter("user_name");
		String user_password = request.getParameter("user_password");
 
		// 調(diào)用mapper層的登錄的方法,從數(shù)據(jù)庫(kù)中匹配用戶名和密碼,并放回用戶名
		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ù)庫(kù)中查找到的用戶名:" + tname + " 用戶的id:" + userId);
 
		// 用戶名和密碼匹配不成功,則返回的用戶名為空
		if (tname == null) {
			System.out.println("用戶不存在");
			System.out.println();
			statusMsg = "用戶或密碼錯(cuò)誤!";
			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ù)的方法,對(duì)應(yīng)登錄表單中的用戶名
		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);
 
	}
 
	// 用戶注冊(cè)
	@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 = "用戶名已存在,請(qǐng)重新注冊(cè)!";
		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("判斷用戶是否重復(fù):" + 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ù)為空錯(cuò)誤!?。。?;
			statusCode = 201;
			return webResponse.getWebResponse(statusCode, statusMsg, data);
		}
		if (user_name.length() > 255 || user_password.length() > 65535) {
			statusMsg = " 參數(shù)長(zhǎng)度過(guò)長(zhǎng)錯(cuò)誤?。?!";
			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ù)錯(cuò)誤!?。?;
			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ù)字錯(cuò)誤?。?!";
			statusCode = 201;
			return webResponse.getWebResponse(statusCode, statusMsg, data);
		}
		User userVo = this.userService.getById(user_idNumeri);
		User user = new User();
		BeanUtils.copyProperties(userVo, user); // 淺復(fù)制,重要
 
		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ù)長(zhǎng)度過(guò)長(zhǎng)錯(cuò)誤,testName";
				statusCode = 201;
				return webResponse.getWebResponse(statusCode, statusMsg, data);
			}
			// 重要,建立數(shù)據(jù),以便后期數(shù)據(jù)庫(kù)能調(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ù)長(zhǎng)度過(guò)長(zhǎng)錯(cuò)誤,info";
				statusCode = 201;
				return webResponse.getWebResponse(statusCode, statusMsg, data);
			}
		}
 
		if (isAdd) {
 
			// 插入語(yǔ)句,插入數(shù)據(jù)庫(kù),重要
 
			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ù)過(guò)長(zhǎng)錯(cuò)誤?。?!";
			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ù)字型錯(cuò)誤!??!";
			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ù)條件獲取分頁(yè)數(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ù)條件獲取分頁(yè)數(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);
	}
 
}

我的音樂(lè)歌單管理

@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ù)庫(kù)插入語(yǔ)句,對(duì)應(yīng)xml文件的insert
		this.myMusicService.insert(myMusic);
 
		webResponse.setStatusCode(statusCode);
		return webResponse;
 
	}
 
	// 從數(shù)據(jù)庫(kù)中獲取歌曲數(shù)據(jù),在我的音樂(lè)中顯示
	@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("我的音樂(lè)顯示列表前收藏的歌曲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("我的音樂(lè)顯示列表前用戶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);
					// 通過(guò)java反射將類中當(dāng)前屬性字段對(duì)應(yīng)的內(nèi)容復(fù)制到另外一個(gè)類中
					BeanUtils.copyProperties(vo, voFont);
					listFont.add(voFont);
					voFont = new MyMusic();
				}
				map.put("list", listFont);
				data = map;
				statusMsg = "根據(jù)條件獲取分頁(yè)數(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);
	}
 
	// 刪除音樂(lè)
	@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("刪除音樂(lè)前的用戶名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);
	}
 
}

音樂(lè)鏈接管理

@Controller 
@RequestMapping("/musicLink")
public class MusicLinkController {
 
	@Autowired
	protected WebResponse webResponse;
 
	@Resource
	protected IMusicLinkService musicLinkService;
 
	@Resource
	protected MusicLinkService musicLinkService2;
	
	
	/**
	 *  //常用注解快速解釋:
	 *  @Controller :用于標(biāo)記在一個(gè)類上,使用它標(biāo)記的類就是一個(gè)SpringMVC Controller 對(duì)象。
	 *  分發(fā)處理器將會(huì)掃描使用了該注解的類的方法,并檢測(cè)該方法是否使用了@RequestMapping 注解。@Controller 
	 *  只是定義了一個(gè)控制器類,而使用@RequestMapping 注解的方法才是真正處理請(qǐng)求的處理器。
	 *  
	 *  @RequestMapping :是一個(gè)用來(lái)處理請(qǐng)求地址映射的注解,可用于類或方法上。
	 *  用于類上,表示類中的所有響應(yīng)請(qǐng)求的方法都是以該地址作為父路徑;
	 *  用于方法上,表示在類的父路徑下追加方法上注解中的地址將會(huì)訪問(wèn)到該方法
	 *  
	 *  @Autowired:@Autowired 注釋,它可以對(duì)類成員變量、方法及構(gòu)造函數(shù)進(jìn)行標(biāo)注,完成自動(dòng)裝配的工作。 通過(guò) @Autowired的使用來(lái)消除 set ,get方法。
	 *  
	 * 
	 *  @Resource:@Autowired與@Resource都可以用來(lái)裝配bean. 都可以寫(xiě)在字段上,或?qū)懺趕etter方法上。
	 *  
	 *  
	 *  @Responsebody 注解表示該方法的返回的結(jié)果直接寫(xiě)入 HTTP 響應(yīng)正文(ResponseBody)中,
	 *  一般在異步獲取數(shù)據(jù)時(shí)使用,通常是在使用 @RequestMapping 后,返回值通常解析為跳轉(zhuǎn)路徑,
	 *  加上 @Responsebody 后返回結(jié)果不會(huì)被解析為跳轉(zhuǎn)路徑,而是直接寫(xiě)入HTTP 響應(yīng)正文中。 
     *  作用: 該注解用于將Controller的方法返回的對(duì)象,通過(guò)適當(dāng)?shù)腍ttpMessageConverter轉(zhuǎn)換為指定格式后,寫(xiě)入到Response對(duì)象的body數(shù)據(jù)區(qū)。
     *   
     *
     *
	 * 
	 *  @RequestParam(value="aa" required=false)
	 *   1.可以對(duì)傳入?yún)?shù)指定參數(shù)名
	 *   
	 *   // 下面的對(duì)傳入?yún)?shù)指定為aa,如果前端不傳aa參數(shù)名,會(huì)報(bào)錯(cuò)  
	 *   @RequestParam(value="aa") String inputStr 
	 *    
	 *   2、可以通過(guò)required=false或者true來(lái)要求@RequestParam配置的前端參數(shù)是否一定要傳 
	 *  
	 *   3、如果@requestParam注解的參數(shù)是int類型,并且required=false,此時(shí)如果不傳參數(shù)的話,會(huì)報(bào)錯(cuò)。原因是,required=false時(shí),不傳參數(shù)的話,
	 *   會(huì)給參數(shù)賦值null,這樣就會(huì)把null賦值給了int,因此會(huì)報(bào)錯(cuò)。
	 *      
	 *
	 * 
	 */ 
	
 
	// 從數(shù)據(jù)庫(kù)中獲取歌曲數(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ù)庫(kù)中獲取數(shù)據(jù),并把對(duì)象的結(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ù)庫(kù)有15條音樂(lè),則list中有15個(gè)對(duì)象,則size的大小為15
		int size = list.size();
		if (size > 0) {
			List<MusicLink> listFont = new ArrayList<MusicLink>();
			MusicLink vo;
			MusicLink voFont = new MusicLink();
 
			// 循環(huán)將獲取到的對(duì)象及結(jié)構(gòu)屬性克隆到一個(gè)新的voFont對(duì)象中,并保存到動(dòng)態(tài)數(shù)組中
			for (int i = 0; i < size; i++) {
				vo = list.get(i);
 
				// 通過(guò)java反射將類中當(dāng)前屬性字段對(duì)應(yīng)的內(nèi)容復(fù)制到另外一個(gè)類中
				BeanUtils.copyProperties(vo, voFont);
				listFont.add(voFont);
				voFont = new MusicLink();
			}
			map.put("list", listFont);
 
			// data是一個(gè)map對(duì)象
			data = map;
			statusMsg = "根據(jù)條件獲取分頁(yè)數(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方法,進(jìn)行數(shù)據(jù)庫(kù)的操作
		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ù)條件獲取分頁(yè)數(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 = "已收藏,請(qǐng)不要重復(fù)收藏!";
		} else {
			this.musicLinkService.insertSongRearch(song_id, userId);
		}
 
		System.out.println("收藏歌曲的用戶id:" + userId);
 
		return webResponse.getWebResponse(statusCode, statusMsg, data);
 
	}
 
}

到此這篇關(guān)于Java實(shí)戰(zhàn)之制作在線音樂(lè)網(wǎng)站的文章就介紹到這了,更多相關(guān)Java在線音樂(lè)網(wǎng)站內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳細(xì)介紹idea如何設(shè)置類頭注釋和方法注釋(圖文)

    詳細(xì)介紹idea如何設(shè)置類頭注釋和方法注釋(圖文)

    本篇文章主要介紹了idea如何設(shè)置類頭注釋和方法注釋(圖文),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-12-12
  • 如何使用idea里面自帶的翻譯插件

    如何使用idea里面自帶的翻譯插件

    這篇文章主要介紹了idea里面自帶的翻譯插件,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-11-11
  • java提高篇(二三)-----HashMap詳解

    java提高篇(二三)-----HashMap詳解

    HashMap基于哈希表的 Map 接口的實(shí)現(xiàn),本篇文章主要講訴了java中HashMap,有興趣的可以了解一下。
    2016-11-11
  • 詳解Spring與MyBatis的整合的方法

    詳解Spring與MyBatis的整合的方法

    這篇文章主要為大家詳細(xì)介紹了Spring與MyBatis的整合,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-03-03
  • SpringMvc+POI處理excel表數(shù)據(jù)導(dǎo)入

    SpringMvc+POI處理excel表數(shù)據(jù)導(dǎo)入

    這篇文章主要為大家詳細(xì)介紹了SpringMvc+POI處理excel表數(shù)據(jù)導(dǎo)入,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • java8 stream自定義分組求和并排序的實(shí)現(xiàn)

    java8 stream自定義分組求和并排序的實(shí)現(xiàn)

    這篇文章主要介紹了java8 stream自定義分組求和并排序的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • Spring學(xué)習(xí)JdbcTemplate數(shù)據(jù)庫(kù)事務(wù)參數(shù)

    Spring學(xué)習(xí)JdbcTemplate數(shù)據(jù)庫(kù)事務(wù)參數(shù)

    這篇文章主要為大家介紹了Spring學(xué)習(xí)JdbcTemplate數(shù)據(jù)庫(kù)事務(wù)參數(shù)使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • java中的OPT算法實(shí)現(xiàn)方式

    java中的OPT算法實(shí)現(xiàn)方式

    這篇文章主要介紹了java中的OPT算法實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • Spring Boot項(xiàng)目中定制攔截器的方法詳解

    Spring Boot項(xiàng)目中定制攔截器的方法詳解

    這篇文章主要介紹了Spring Boot項(xiàng)目中定制攔截器的方法詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10
  • myBatis組件教程之緩存的實(shí)現(xiàn)與使用

    myBatis組件教程之緩存的實(shí)現(xiàn)與使用

    這篇文章主要給大家介紹了關(guān)于myBatis組件教程之緩存的實(shí)現(xiàn)與使用的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-11-11

最新評(píng)論