Java基于JSP的网络音乐KTV点歌电台网站

61 篇文章 1 订阅

随着我国网民的增加,也促进了网络音乐电台的开发。随着网络技术的发展,人们在利用网络学习的同时,也在享受着网络带来的各种附带产品所产生的效应,如网络游戏,网络歌曲。网络音乐电台正是在这样的需求前提下应运而生,给人们的日常生活带来了极大的乐趣,让人们在繁忙疲惫的工作之后可以进行休闲。基于此种现状,在充分分析了该行业的市场前景,调研了用户需求之后,网络音乐电台也就不运而生了
请添加图片描述

基于JSP的网络音乐电台网站前台部分
1系统登录:系统登录是用户访问系统的路口,设计了系统登录界面,包括用户名、密码和验证码,然后对登录进来的用户判断身份信息,判断是管理员用户还是普通用户。
2页面打印:设计系统时,在代码中连接打印机,进行系统的一些页面的打印。
3导出报表:用户可能需要将某些数据列表提取出来,在代码中调用导出至excel中的函数,并开启连接excel的驱动,实现导出报表的功能。
4系统用户管理:不管是超级管理员还是普通管理员都需要管理系统用户,包括普通管理员的添加、删除、修改、查询,修改管理员的登录密码,新添加的管理员用户可以登录系统。
5注册用户管理:游客在前台首页注册后,经过管理员后台,不管是超级管理员还是普通管理员都需要管理注册用户,包括注册用户审核、删除、修改、查询,审核通过后,注册用户既可以通过账号和密码登录系统。
6修改密码:系统所有用户;管理员和注册用户;应该都要能修改自己的登录密码,修改后需要重新登录。

请添加图片描述

基于JSP的网络音乐电台功能结构图
7系统简介设置:系统管理员应该可以通过系统简介设置功能设置系统前台的系统简介信息,系统前台的系统简介是随后台的变化而变化的,系统简介应该使用编辑器,实现图片,文字,列表,样式等多功能输入。
8系统公告设置:系统管理员应该可以通过系统公告设置功能设置系统前台的系统公告信息,系统前台的系统公告是随后台的变化而变化的,系统公告应该使用编辑器,实现图片,文字,列表,样式等多功能输入。
9数据备份:数据备份功能应该只有超级管理员才能使用,数据备份将系统的数据库的数据生成保存在.dat的文件中,当数据丢失时,可以通过运行.dat文件恢复数据库数据。
10增加留言:设计留言信息表,包含留言标题、留言内容、回复内容、留言人等字段,留言标题、留言内容用来存储用户增加的留言,回复内容用来存储管理员回复的留言内容。
11留言管理:系统管理员对留言信息表的删除、查询等操作,回复留言则将回复内容存储在留言表的回复内容字段里,删除不需要的留言,使用户有足够的空间进行留言。
12个人资料管理:由注册用户使用,注册用户登录个人后台,可以修改个人当初的注册信息,如修改电话号码、邮箱等,用户的用户名是无法修改的。
13友情链接管理:由超级管理员和普通管理员使用,对系统所有的友情链接信息进行添加、删除、修改、查询,同时系统前台的友情链接随着后台的友情链接变化而更新。
14在线投票:注册用户在系统前台登录个人账号后,可以选择某个音乐,进行投票,被投票的音乐票数加1。
15添加收藏:注册用户在系统前台登录个人账号后,可以选择某个音乐,进行收藏,之后将在个人后台形成收藏记录。
16收藏管理:注册用户可以登录个人后台,查询个人收藏记录,进行查看,删除,查看可以跳转至该音乐的链接地址,删除则将该收藏记录删除。
17音乐管理:管理员发布音乐信息,跳转至音乐发布页,填写音乐表单,点击提交,音乐成功,新的音乐信息会在系统前台展示给用户浏览。
18文件下载:管理员上传文件,跳转至文件上传页,填写表单,选择本地文件,提交后,文件发布成功,用户可以选择下载

请添加图片描述

package com.controller;

import java.io.File;
import java.io.IOException;

import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.io.PrintWriter;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;

import com.entity.Allusers;
//import com.chengxusheji.po.News;
import com.server.AllusersServer;
import com.util.PageBean;
import net.sf.json.JSONObject;

@Controller
public class AllusersController {
	@Resource
	private AllusersServer allusersService;


//	
   @RequestMapping("showAllusers.do")
   public String showAllusers(int id,ModelMap map,HttpSession session){
	 /*  Map<String,Object> bmap=new HashMap<String,Object>();
	   bmap.put("uid", id);*/
	  // map.put("blist", allusersService.getAll(bmap));
	   map.put("allusers", allusersService.getById(id));
	   return "read";
   }
   
	@RequestMapping("addAllusers.do")
	public String addAllusers(HttpServletRequest request,Allusers allusers,HttpSession session){
		Timestamp time=new Timestamp(System.currentTimeMillis());
		//Users u=(Users)session.getAttribute("user");
		/*if(u==null||u.equals("")){
			return "redirect:showIndex.do";
		}else{*/
			//bbs.setUid(u.getId());
			/*bbs.setPubtime(time.toString());
			bbs.setIsdel("1");*/
		    allusers.setAddtime(time.toString().substring(0, 19));
			allusersService.add(allusers);
			return "redirect:allusersList.do";
		/*}*/
		
		
	}
 
//	处理编辑
	@RequestMapping("doUpdateAllusers.do")
	public String doUpdateAllusers(int id,ModelMap map,Allusers allusers){
		allusers=allusersService.getById(id);
		map.put("allusers", allusers);
		return "allusers_updt";
	}
//	
	@RequestMapping("updateAllusers.do")
	public String updateAllusers(int id,ModelMap map,Allusers allusers){
		allusersService.update(allusers);
		return "redirect:allusersList.do";
	}
//	所有List
//	@RequestMapping("allusersList.do")
//	public String allusersList(ModelMap map,HttpSession session){
//		map.put("list", allusersService.getAll(null));
//		map.put("clist", allusersService.getAll(null));
//		return "allusers";
//	}
//	分页查询
	@RequestMapping("allusersList.do")
	public String goodList(@RequestParam(value="page",required=false)String page,
			ModelMap map,HttpSession session,Allusers allusers, String username, String pwd, String cx){
		/*if(session.getAttribute("user")==null){
			return "login";
		}*/
		if(page==null||page.equals("")){
			page="1";
		}
		PageBean pageBean=new PageBean(Integer.parseInt(page), 15);
		Map<String, Object> pmap=new HashMap<String,Object>();
		pmap.put("pageno", pageBean.getStart());
		pmap.put("pageSize", 15);
		Map<String, Object> bmap=new HashMap<String, Object>();
		Map<String,Object> cmap=new HashMap<String,Object>();
		/*pmap.put("uid",  ((Users)session.getAttribute("user")).getId());
		bmap.put("uid", ((Users)session.getAttribute("user")).getId());*/
		if(username==null||username.equals("")){pmap.put("username", null);cmap.put("username", null);}else{pmap.put("username", username);cmap.put("username", username);}
		if(pwd==null||pwd.equals("")){pmap.put("pwd", null);cmap.put("pwd", null);}else{pmap.put("pwd", pwd);cmap.put("pwd", pwd);}
		if(cx==null||cx.equals("")){pmap.put("cx", null);cmap.put("cx", null);}else{pmap.put("cx", cx);cmap.put("cx", cx);}
		
		int total=allusersService.getCount(bmap);
		pageBean.setTotal(total);
		List<Allusers> list=allusersService.getByPage(pmap);
		map.put("page", pageBean);
		map.put("list", list);
		session.setAttribute("p", 1);
		return "allusers_list";
	}
//   分页模糊查询
	@RequestMapping("vagueAllusersList.do")
	public String vagueAllusersList(@RequestParam(value="page",required=false)String page,
			ModelMap map,HttpSession session){
		if(page==null||page.equals("")){
			page="1";
		}
		PageBean pageBean=new PageBean(Integer.parseInt(page),PageBean.PAGESIZE);
		Map<String, Object> pmap=new HashMap<String,Object>();
		pmap.put("pageno", pageBean.getStart());
		pmap.put("pageSize", pageBean.getPageSize());
		Map<String, Object> bmap=new HashMap<String, Object>();
		/*pmap.put("uid",  ((Users)session.getAttribute("user")).getId());
		bmap.put("uid",  ((Users)session.getAttribute("user")).getId());*/
		int total=allusersService.getCount(bmap);
		pageBean.setTotal(total);
		List<Allusers> list=allusersService.getByPage(pmap);
		map.put("page", pageBean);
		map.put("list", list);
		session.setAttribute("p", 2);
		return "queryallusers";
	}
	@RequestMapping("deleteAllusers.do")
	public String deleteAllusers(int id){
		allusersService.delete(id);
		return "redirect:allusersList.do";
	}
	
	@RequestMapping("quchongAllusers.do")
	public void quchongAllusers(Allusers allusers,HttpServletResponse response){
		   Map<String,Object> map=new HashMap<String,Object>();
		   map.put("username", allusers.getUsername());
		   System.out.println("username==="+allusers.getUsername());
		   System.out.println("username222==="+allusersService.quchongAllusers(map));
		   JSONObject obj=new JSONObject();
		   if(allusersService.quchongAllusers(map)!=null){
				 obj.put("info", "ng");
			   }else{
				   obj.put("info", "username可以用!");
				  
			   }
		   response.setContentType("text/html;charset=utf-8");
		   PrintWriter out=null;
		   try {
			out=response.getWriter();
			out.print(obj);
			out.flush();
		} catch (IOException e) {
			e.printStackTrace();
		}finally{
			out.close();
		}
	}
	
	@RequestMapping("Alluserslogin.do")
	public String checkAllusersLogin(Allusers allusers, HttpSession session) {
		Map<String,Object> u=new HashMap<String,Object>();
		System.out.println("name===" + allusers.getUsername());
		u.put("username",allusers.getUsername());
		//u.put("utype", "用户");
		//Md5.MD5HexEncode(user.getPassword())
		u.put("pwd",allusers.getPwd());
		allusers = allusersService.allusersLogin(u);
		if (allusers != null) {
			session.setAttribute("username", allusers);
			System.out.println("username=" + allusers);
			session.removeAttribute("suc");
			return "redirect:index.do";
		} else {
			System.out.println("usernafwfwwme=");
			session.setAttribute("suc", "登录失败!用户名或密码错误!");
			return "login";
		}

	}
}

目录
1 绪论 1
1.1课题背景 1
1.2课题研究现状 1
1.3初步设计方法与实施方案 2
1.4本文研究内容 2
2 系统开发环境 4
2.1 使用工具简介 4
2.2 环境配置 4
2.3 B/S结构简介 4
2.4 MySQL数据库 5
2.5 框架介绍 5
3 系统分析 6
3.1系统可行性分析 6
3.1.1经济可行性 6
3.1.2技术可行性 6
3.1.3运行可行性 6
3.2系统现状分析 6
3.3功能需求分析 7
3.4系统设计规则与运行环境 8
3.5系统流程分析 8
3.5.1操作流程 8
3.5.2添加信息流程 9
3.5.3删除信息流程 10
4 系统设计 11
4.1系统设计主要功能 11
4.2数据库设计 11
4.2.1数据库设计规范 11
4.2.2 E/R图 11
4.2.3数据表 12
5 系统实现 25
5.1系统功能模块 25
5.2后台模块 27
5.2.1管理员功能模块 27
5.2.2用户功能模块 30
6 系统测试 33
6.1功能测试 33
6.2可用性测试 33
6.3性能测试 34
6.4测试结果分析 34
7结 论 35
参考文献 36
致 谢 37

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.util.*" errorPage="" %> <%@ page import="com.model.SongTypeForm" %> <jsp:useBean class="com.dao.SongDAO" id="songDAO" scope="request"/> <%List<SongTypeForm> list=songDAO.queryType();%> <% String typeID="0"; String fieldName=""; String key=""; if(request.getAttribute("songType_more")!=null){ typeID=request.getAttribute("songType_more").toString(); fieldName=(String)request.getAttribute("fieldName"); key=(String)request.getAttribute("key"); } %> <html> <head> <title>在线音乐后台首页</title> <link href="CSS/style.css" rel="stylesheet"/> <script language="javascript"> function checkform(myform){ for(i=0;i<myform.length;i++){ if(myform.elements[i].value=="" &&myform.elements[i].name!="lrcFileURL"){ alert(myform.elements[i].title+"不能为空!"); myform.elements[i].focus(); return false; } } } function opendialog(){ if(form1.songName.value=="" || form1.singer.value==""){ alert("请输入歌曲名和演唱者!"); }else{ var rtn=window.showModalDialog("song.do?action=checkMusic&songName="+form1.songName.value+"&singer="+form1.singer.value,"","dialogWidth=260px;dialogHeight=150px;status=no;help=no;scrollbars=no"); if(rtn==1){ form1.upMusic.disabled=''; } } } </script> </head> <body> <div id="header"><!--包含搜索条件--> <div id="search"> <jsp:include page="song.do" flush="true"> <jsp:param name="action" value="songType"/> </jsp:include> </div> </div> <div id="title" style=" width:899px;height:25px; text-align:left; padding-left:10px; padding-top:5px; background-image:url(images/navigation_bg.gif);">当前位置:添加歌曲 >> </div> <div id="main" style="padding:0px; margin:0px; margin-bottom:5px;" class="tableBorder_blue"> <form name="form1" method="post" action="song.do?action=add" onSubmit="return checkform(form1)"> <table width="500" height="241" border="0" cellpadding="0" cellspacing="0"> <tr> <td width="131" align="center">歌曲类别:</td> <td width="369"> <select name="songTypeId"> <%for(int i=0;i<list.size();i++){ %> <option value="<%=list.get(i).getId()%>"><%=list.get(i).getTypeName()%></option> <%}%> </select></td> </tr> <tr> <td align="center">歌 曲 名:</td> <td><input name="songName" type="text" id="songName" size="50" title="歌曲名"></td> </tr> <tr> <td align="center">演 唱 者:</td> <td><input name="singer" type="text" id="singer" size="30" title="演唱者"> <input name="Submit5" type="button" class="btn_grey" value="检测该歌曲是否上传" onClick="opendialog()"></td> </tr> <tr> <td align="center">专 辑 名:</td> <td><input name="specialName" type="text" id="specialName" size="30" title="专辑名"></td> </tr> <tr> <td align="center">歌曲文件:</td> <td><input name="fileURL" type="text" id="fileURL" size="30" readonly="yes" title="歌曲文件"> <input name="upMusic" type="button" class="btn_grey" value="上传文件" disabled="disabled" onClick="window.open('upFile.jsp','','width=350,height=150');"></td> </tr> <tr> <td align="center">歌词文件:</td> <td><input name="lrcFileURL" type="text" id="lrcFileURL" size="30" readonly="yes" title="歌词文件"> <input name="lrcUp" type="button" class="btn_grey" value="上传文件" disabled="none" onClick="if(this.form.fileURL.value!=''){window.open('upLrcFile.jsp?fileName='+this.form.fileURL.value,'','width=350,height=150');}"> <input name="fileSize" type="hidden" id="fileSize"> <input name="format" type="hidden" id="format"></td> </tr> <tr> <td colspan="2" align="center"> <input name="Submit" type="submit" class="btn_grey" value="保存">   <input name="Submit2" type="button" class="btn_grey" value="重置" onClick="window.location.reload();">   <input type="button" name="Submit3" class="btn_grey" value="返回" onClick="history.back(-1)"></td> </tr> </table> </form> </div> <jsp:include page="adm_copyright.jsp"/> </body> </html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值