基于javaweb+springboot的音乐网站音乐平台(java+Springboot+ssm+mysql+maven+jsp)

news/2024/5/9 19:19:03/文章来源:https://blog.csdn.net/m0_67990629/article/details/123747526

基于javaweb+springboot的音乐网站音乐平台(java+Springboot+ssm+mysql+maven+jsp)

一、项目简述
功能: 用户管理模块:用户登录、用户注册、修改密码 榜单列表模块:动态地从数据库中获取歌曲的链接和数据 在榜单中显示 歌曲搜索模块:在首页的搜索框中可以输入关键字进行歌 曲的模糊搜索 歌曲收藏模块:在榜单列表中或搜索页面中可以点击歌曲 进行收藏 我的音乐模块:收藏的歌曲会被添加到我的音乐列表中, 在我的音乐列表中也可以对歌曲进行删除操作 音乐播放器模块:在榜单、搜索页面和我的音乐列表等地 方点击歌曲可以炼专到播放页面进行播放。播放页面显示 播放进度条,删除歌曲,暂停等操作。播放页面背景为模 糊背景,根据歌手的专辑图片自动变化。

二、项目运行
环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe (IntelliJ IDEA,Eclispe,MyEclispe,Sts 都支持)

项目技术: JSP +SpringBoot + MyBatis + html+ css + JavaScript + JQuery + Ajax + Bootstrap+ maven 等等。

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

		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("%'");
			@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 {// 判断字符串是否是数字,并且抛出异常boolean NotisNum = (user_Id.equals("null"));// System.out.println(NotisNum);if (!NotisNum) {userId = Integer.parseInt(user_Id);}} catch (Exception e) {}
			@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;
		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("根据前端在数据库中查找到的用户名:" + tname + " 用户的id:" + userId);// 用户名和密码匹配不成功,则返回的用户名为空if (tname == null) {System.out.println("用户不存在");System.out.println();
	@RequestMapping(value = "/getOneUser", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")@ResponseBodypublic 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 = "根据条件获取单条数据成功!!!";} else {statusMsg = "no record!!!";}return webResponse.getWebResponse(statusMsg, data);}
		int count = this.musicLinkService.getCount(condition, field);if (order != null && order.length() > 0 & "desc".equals(desc)) {order = order + " desc";}// 从数据库中获取数据,并把对象的结果集存到list列表中List<MusicLink> list = this.musicLinkService.getList(condition, pageNo, pageSize, order, field);Map<Object, Object> map = new HashMap<Object, Object>();map.put("total", count);// 如果数据库有15条音乐,则list中有15个对象,则size的大小为15int size = list.size();if (size > 0) {List<MusicLink> listFont = new ArrayList<MusicLink>();MusicLink vo;MusicLink voFont = new MusicLink();// 循环将获取到的对象及结构属性克隆到一个新的voFont对象中,并保存到动态数组中
		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")@ResponseBodypublic 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 = "用户名已存在,请重新注册!";
		try {// 判断字符串是否是数字,并且抛出异常// 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 = "已收藏,请不要重复收藏!";
			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;
			// 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 {// 判断字符串是否是数字,并且抛出异常// 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);
		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();
	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();
			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);}
			@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("%'");
		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 = "根据条件获取分页数据成功!!!";} else {map.put("list", list);data = map;statusCode = 202;statusMsg = "no record!!!";}return JSON.toJSONString(data);
			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()))) {
		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("根据前端在数据库中查找到的用户名:" + tname + " 用户的id:" + userId);// 用户名和密码匹配不成功,则返回的用户名为空if (tname == null) {System.out.println("用户不存在");System.out.println();statusMsg = "用户或密码错误!";statusCode = 201;return webResponse.getWebResponse(statusCode, statusMsg, data);} else {statusCode = 200;
	 *  *  *  @Responsebody 注解表示该方法的返回的结果直接写入 HTTP 响应正文(ResponseBody)中,*  一般在异步获取数据时使用,通常是在使用 @RequestMapping 后,返回值通常解析为跳转路径,*  加上 @Responsebody 后返回结果不会被解析为跳转路径,而是直接写入HTTP 响应正文中。 *  作用: 该注解用于将Controller的方法返回的对象,通过适当的HttpMessageConverter转换为指定格式后,写入到Response对象的body数据区。*   *** *  @RequestParam(value="aa" required=false*   1.可以对传入参数指定参数名*   *   // 下面的对传入参数指定为aa,如果前端不传aa参数名,会报错  *   @RequestParam(value="aa") String inputStr *    *   2、可以通过required=false或者true来要求@RequestParam配置的前端参数是否一定要传 *  *   3、如果@requestParam注解的参数是int类型,并且required=false,此时如果不传参数的话,会报错。原因是,required=false时,不传参数的话,*   会给参数赋值null,这样就会把null赋值给了int,因此会报错。*      
//	MyMusicService myMusicService2;// 歌曲收藏@RequestMapping(value = "/addMusicCollect", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")@ResponseBodypublic 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;// 数据库插入语句,对应xml文件的insertthis.myMusicService.insert(myMusic);webResponse.setStatusCode(statusCode);return webResponse;}// 从数据库中获取歌曲数据,在我的音乐中显示@RequestMapping(value = "/getMyMusicList", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")@ResponseBodypublic WebResponse getMyMusicList(HttpServletRequest request, HttpServletResponse response, HttpSession session,@RequestParam(defaultValue = "1", required = false) Integer pageNo,
				map.put("list", listFont);data = map;statusMsg = "根据条件获取分页数据成功!!!";} 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);
		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";}// 从数据库中获取数据,并把对象的结果集存到list列表中List<MusicLink> list = this.musicLinkService.getList(condition, pageNo, pageSize, order, field);Map<Object, Object> map = new HashMap<Object, Object>();map.put("total", count);// 如果数据库有15条音乐,则list中有15个对象,则size的大小为15int size = list.size();if (size > 0) {List<MusicLink> listFont = new ArrayList<MusicLink>();MusicLink vo;MusicLink voFont = new MusicLink();// 循环将获取到的对象及结构属性克隆到一个新的voFont对象中,并保存到动态数组中for (int i = 0; i < size; i++) {
		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) {
		 */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(), "");
		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();
			@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");
	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 {// 判断字符串是否是数字,并且抛出异常boolean NotisNum = (user_Id.equals("null"));// System.out.println(NotisNum);if (!NotisNum) {userId = Integer.parseInt(user_Id);
			return webResponse.getWebResponse(statusCode, statusMsg, data);} else {statusCode = 200;webResponse.setStatusCode(statusCode);System.out.println("状态码:" + 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")@ResponseBodypublic WebResponse resetUserPassword(HttpServletRequest request, HttpSession session) {

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_882198.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用drupal8架设网站

首先安装qampp&#xff0c;包括apache、php、mysql、tomcat、perl等组件。 请将mvn目录下的dll全部复制到apache下面&#xff0c;不然会报错。 将php.ini中的max_exe设置为120秒以上&#xff0c;不然会报错。 将iis占用的80端口释放&#xff0c;比如设置为800&#xff0c;不然会…

VS2010如何调试IIS上的网站

通常&#xff0c;我们在Visual Studio里调试ASP.NET网站&#xff0c;都是加个断点&#xff0c;然后按F5&#xff0c;在VS自带的虚拟服务器下调试的。但有时候&#xff0c;VS自带的服务器弱爆了&#xff0c;无法满足一些特定情况的要求&#xff0c;我们必须把网站放在IIS里跑。这…

iis本地搭建网站

如果还没开iis&#xff0c;路径&#xff1a;控制面板->程序和功能->启动或关闭windows功能 将万维网的应用程序开发功能全部勾选重启电脑网站那里新建/添加&#xff0c;将路径添加进去 程序池选择这样的就好&#xff0c;IP地址填本机的&#xff0c;端口由于80已被占用&a…

手机端网站制作

准备 1.前段使用HBuilder 2.使用夜神模拟器来看自己写的页面 链接: https://pan.baidu.com/s/1zUqL2WYnbcM3cR98P-umWw 提取码: bmpe 复制这段内容后打开百度网盘手机App&#xff0c;操作更方便哦 3. 4.下载喜马拉雅软件上面的课程 从Response页签中复制信息内容 -- 未来查…

怎么制作手机网站

网站建设的发展&#xff0c;对于网站建设形式上有了很大的变化和创新&#xff0c;从根据不同行业如企业、集团、门户、商城等 网站建设 &#xff0c;发展到手机、WAP、个人网站等等。实现了网站建设的创新。对于行业类的网站&#xff0c;我想大家都很熟悉了&#xff0c;因为这…

PageAdmin手机网站制作教程

PageAdmin作为国内使用最多的网站管理系统&#xff0c;很多人都知道pageadmin可以用来做传统网站&#xff0c;其实pageadmin一样 很方便的制作手机网站&#xff0c;而且很容易实现和pc版本数据共享功能&#xff0c;原理就是利用分站的数据共享功能&#xff0c;下面直接说制 作…

自己做的html5手机网站

这个网站采用html5css3jquerymobile 只开发了前台的功能&#xff0c;前台的界面比较美观&#xff0c;后端不方便放上&#xff0c;各位有空可以自己开发这个网站的界面有参考各个菜谱网站的页面的样式&#xff0c;但是又不一样&#xff0c;是属于完全独立开发的。代码链接如下&a…

常用IT网站

首先要隆重推荐http://www.moreofit.com/ 这个网站可以发现跟你输入网站类似的网站&#xff0c;如我们在地址栏中输入博客园的地址http://www.cnblogs.com/&#xff0c; 点击查看&#xff0c;系统会列出和博客园类似的网站&#xff0c;没准你会发现很多有意思的网站 类似的网站…

手机网站页面制作

导读&#xff1a;国内手机网站目前还算是个新鲜事物&#xff0c;相应的手机网站前端开发也并不是特别成熟&#xff0c;对于一个网页设计师来说要做一个手机网站还是会碰到许多问题&#xff0c;本文转载自淘宝 UED&#xff0c;分享如何开发进行手机网站的前端卡发。 从09年初接手…

让你的网站支持RSS

step1)后台生成xml并确定一个url能会返回这个xml xml必须按照rss规定的格式 ,下面是个样例&#xff1a; <?xml version"1.0" encoding"utf-8"?> <rss version"2.0"> <channel> <title>最新视频</title> <…

java程序员菜鸟进阶(八)分享一个爬取B2B网站信息的程序

前段时间&#xff0c;女朋友如愿以偿的找到了销售的工作&#xff0c;第一天正式上班还挺高兴&#xff0c;第二天就开始愁眉苦脸了。就是因为他这销售实在是太麻烦&#xff0c;以后每天要到一些B2B网站去找一些客户信息&#xff0c;每天要找几百条&#xff0c;刚开始我还安慰的说…

大型网站架构演变和知识体系

之前也有一些介绍大型网站架构演变的文章&#xff0c;例如LiveJournal的、ebay的&#xff0c;都是非常值得参考的&#xff0c;不过感觉他们讲的更多的是每次演变的结果&#xff0c;而没有很详细的讲为什么需要做这样的演变&#xff0c;再加上近来感觉有不少同学都很难明白为什么…

【支持升级官方最新版】西部数码主机代理系统模板源码IDC网站源码虚拟主机代理管理系统

【关于升级】此系统为西部数码代理系统源码更改的&#xff0c;所以支持后台更新官方最新补丁&#xff08;已测试&#xff0c;此更新只涉及核心文件及自带模板文件&#xff0c;不包括这个二开的模板文件&#xff09; 【开发环境】ASPACCESS win32位系统【你的服务器需要具备这…

10个优质免费PPT模板下载网站推荐

第1名&#xff1a;PPT汇 网址&#xff1a;www.ppthui.com 是否付费&#xff1a;免费 模板质量&#xff1a;★★★★★ &#xff08;5分&#xff09; 浏览体验&#xff1a;★★★★★ &#xff08;5分&#xff09; 下载体验&#xff1a;★★★★★ &#xff08;5分&#xff09; …

哪里有纯免费的PPT模板下载网站?

百度搜索PPT出来的全是打着免费PPT的幌子进去需要注册、充值VIP的网站&#xff0c;费钱费力。 笔者搜索了好久才找到一个纯免费不需要注册的PPT免费模板下载网站&#xff1a; PPT汇 https://www.ppthui.com 无需注册完全免费值得收藏&#xff01;

网站全站变成灰色实现方式参考

1.前言 近几日&#xff0c;大部分的网站的内容都变成了灰色&#xff0c;包括按钮、图片等等。为了纪念伟人。 在前两天临近下班的时候&#xff0c;接到通知 &#xff0c;手中负责的项目门户网要变成灰色&#xff0c;因为我们做的都和ZF相关&#xff0c;以前没有经历过&#xf…

部署个人网站

1.登录云服务器——云服务器实例——拿到公网ip 2.安装xshell&#xff1a; https://www.netsarang.com/zh/free-for-home-school/ 打开xshell新建会话——名称自取——主机填公网ip——端口号随意&#xff1a;22——点链接输入超管账号和密码&#xff1a;一般账号是root——链…

MVC架构公司数据查询网站_某年某月_新浪博客

整合公司资源&#xff0c;实现跨平台&#xff0c;跨区域&#xff0c;跨数据库 后期准备做供应商报价管理

腾讯云服务器部署和数据库连接——【石家庄正定光辉钢化玻璃厂】网站部署

为了做【石家庄正定光辉钢化玻璃厂】的官方网站&#xff0c;购买了腾讯云服务器CVM和云数据库。 现在将部署的步骤记录一下&#xff08;毕竟是第一次建站&#xff0c;还是登记一下备忘&#xff09;。如果哪里有错误感谢大家斧正。 目录 部署的准备 云环境 开发环境 项目部…

新手必备的SEO优化工具

转载于:https://www.cnblogs.com/r360/p/8314489.html