package com.controller;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import com.entity.Article;
import com.entity.Bbs;
import com.entity.Cate;
import com.entity.Complains;
import com.entity.Fav;
import com.entity.Hist;
import com.entity.Music;
import com.entity.Rebbs;
import com.entity.Topic;
import com.entity.Users;
import com.service.ArticleService;
import com.service.BbsService;
import com.service.CateService;
import com.service.ComplainsService;
import com.service.FavService;
import com.service.HistService;
import com.service.MusicService;
import com.service.RebbsService;
import com.service.RecommendService;
import com.service.TopicService;
import com.service.UsersService;
import com.util.PageHelper;
import com.util.VeDate;
//定义为控制器
@Controller
// 设置路径
@RequestMapping("/index")
public class IndexController extends BaseController {
@Autowired
private UsersService usersService;
@Autowired
private ArticleService articleService;
@Autowired
private CateService cateService;
@Autowired
private MusicService musicService;
@Autowired
private TopicService topicService;
@Autowired
private FavService favService;
@Autowired
private HistService histService;
@Autowired
private BbsService bbsService;
@Autowired
private RebbsService rebbsService;
@Autowired
private ComplainsService complainsService;
@Autowired
private RecommendService recommendService;
// 公共方法 提供公共查询数据
private void front() {
this.getRequest().setAttribute("title", "音乐网站");
List<Cate> cateList = this.cateService.getAllCate();
this.getRequest().setAttribute("cateList", cateList);
List<Music> hotList = this.musicService.getMusicByHot();
this.getRequest().setAttribute("hotList", hotList);
}
// 公共方法 提供协同过滤数推荐据
private void recommend() {
// 推荐音乐的算法 1 用户未登录 直接调用musicService的getMusicByHot方法
// 2 用户登录 但是没有浏览音乐 则调用1
// 3 用户登录 且有浏览的音乐 调用recommendService 通过协同过滤算法 自动推荐音乐
if (this.getSession().getAttribute("userid") == null) {
List<Music> recommendList = this.musicService.getMusicByHot();
this.getRequest().setAttribute("recommendList", recommendList);
} else {
String userid = (String) this.getSession().getAttribute("userid");
Hist hist = new Hist();
hist.setUsersid(userid);
List<Hist> histList = this.histService.getHistByCond(hist);
if (histList.size() == 0) {
List<Music> recommendList = this.musicService.getMusicByHot();
this.getRequest().setAttribute("recommendList", recommendList);
} else {
List<Music> recommendList = this.recommendService.getRecommend(userid);
this.getRequest().setAttribute("recommendList", recommendList);
}
}
}
// 首页显示
@RequestMapping("index.action")
public String index() {
this.front();
this.recommend();
List<Cate> cateList = this.cateService.getCateFront();
List<Cate> frontList = new ArrayList<Cate>();
for (Cate cate : cateList) {
List<Music> musicList = this.musicService.getMusicByCate(cate.getCateid());
cate.setMusicList(musicList);
frontList.add(cate);
}
this.getRequest().setAttribute("frontList", frontList);
return "users/index";
}
// 公告
@RequestMapping("article.action")
public String article(String number) {
this.front();
this.recommend();
List<Article> tempList = this.articleService.getAllArticle();
PageHelper.getIndexPage(tempList, "article", "article", null, 10, number, this.getRequest());
return "users/article";
}
// 阅读公告
@RequestMapping("read.action")
public String read(String id) {
this.front();
Article article = this.articleService.getArticleById(id);
article.setHits("" + (Integer.parseInt(article.getHits()) + 1));
this.articleService.updateArticle(article);
this.getRequest().setAttribute("article", article);
return "users/read";
}
@RequestMapping("music.action")
public String music(String number) {
this.front();
this.recommend();
List<Music> tempList = this.musicService.getAllMusic();
PageHelper.getIndexPage(tempList, "music", "music", null, 12, number, this.getRequest());
return "users/list";
}
@RequestMapping("cate.action")
public String cate(String number, String id) {
this.front();
this.recommend();
Music music = new Music();
music.setCateid(id);
List<Music> tempList = this.musicService.getMusicByCond(music);
PageHelper.getIndexPage(tempList, "music", "music", null, 12, number, this.getRequest());
return "users/list";
}
// 阅读公告
@RequestMapping("detail.action")
public String detail(String id) {
this.front();
this.recommend();
Music music = this.musicService.getMusicById(id);
music.setHits("" + (Integer.parseInt(music.getHits()) + 1));
this.musicService.updateMusic(music);
this.getRequest().setAttribute("music", music);
Topic topic = new Topic();
topic.setMusicid(id);
List<Topic> topicList = this.topicService.getTopicByCond(topic);
this.getRequest().setAttribute("topicList", topicList);
this.getRequest().setAttribute("tnum", topicList.size());
if (this.getSession().getAttribute("userid") != null) {
String userid = (String) this.getSession().getAttribute("userid");
Hist hist = new Hist();
hist.setUsersid(userid);
hist.setMusicid(id);
List<Hist> histList = this.histService.getHistByCond(hist);
if (histList.size() == 0) {
hist.setNum("1");
this.histService.insertHist(hist);
} else {
Hist h = histList.get(0);
h.setNum("" + (Integer.parseInt(h.getNum()) + 1));
this.histService.updateHist(h);
}
}
return "users/detail";
}
@RequestMapping("play.action")
public String play(String id) {
this.front();
Music music = this.musicService.getMusicById(id);
music.setNum("" + (Integer.parseInt(music.getNum()) + 1));
this.musicService.updateMusic(music);
this.getRequest().setAttribute("music", music);
return "users/play";
}
@SuppressWarnings("resource")
@RequestMapping("download.action")
public void download(String id, HttpServletResponse response) throws Exception {
this.front();
Music music = this.musicService.getMusicById(id);
String fileName = this.getRequest().getSession().getServletContext().getRealPath("/") + music.getFileurl();
InputStream bis = new BufferedInputStream(new FileInputStream(new File(fileName)));
String filename = music.getMusicname();
filename = URLEncoder.encode(filename, "UTF-8");
response.addHeader("Content-Disposition", "attachment;filename=" + filename);
response.setContentType("multipart/form-data");
BufferedOutputStream out = new BufferedOutputStream(response.getOutputStream());
int len = 0;
while ((len = bis.read()) != -1) {
out.write(len);
out.flush();
}
out.close();
}
@RequestMapping("query.action")
public String query(String name) {
this.front();
Music music = new Music();
music.setMusicname(name);
List<Music> musicList = this.musicService.getMusicByLike(music);
this.getRequest().setAttribute("musicList", musicList);
return "users/list";
}
// 准备登录
@RequestMapping("preLogin.action")
public String prelogin() {
this.front();
return "users/login";
}
// 用户登录
@RequestMapping("login.action")
public String login() {
this.front();
String username = this.getRequest().getParameter("username");
String password = this.getRequest().getParameter("password");
Users u = new Users();
u.setUsername(username);
List<Users> usersList = this.usersService.getUsersByCond(u);
if
没有合适的资源?快使用搜索试试~ 我知道了~
基于SSM框架+Mysql实现的在线音乐网站源码+项目说明.zip
共1064个文件
gif:312个
js:232个
png:142个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 42 浏览量
2024-01-31
23:47:07
上传
评论
收藏 96.19MB ZIP 举报
温馨提示
【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,作为参考资料学习借鉴。 3、本资源作为“参考资料”如果需要实现其他功能,需要能看懂代码,并且热爱钻研,自行调试。 基于SSM框架+Mysql实现的在线音乐网站源码+项目说明.zip基于SSM框架+Mysql实现的在线音乐网站源码+项目说明.zip基于SSM框架+Mysql实现的在线音乐网站源码+项目说明.zip基于SSM框架+Mysql实现的在线音乐网站源码+项目说明.zip基于SSM框架+Mysql实现的在线音乐网站源码+项目说明.zip基于SSM框架+Mysql实现的在线音乐网站源码+项目说明.zip基于SSM框架+Mysql实现的在线音乐网站源码+项目说明.zip基于SSM框架+Mysql实现的在线音乐网站源码+项目说明.zip基于SSM框架+Mysql实现的在线音乐网站源码+项目说明.zip基于SSM框架+Mysql实现的在线音乐网站源码+项目说明.zip基于SSM框架+Mysql实现的在线音乐网站源码+项目说明.zip
资源推荐
资源详情
资源评论
收起资源包目录
基于SSM框架+Mysql实现的在线音乐网站源码+项目说明.zip (1064个子文件)
IndexController.class 17KB
VeDate.class 10KB
RecommendServiceImpl.class 8KB
PageHelper.class 6KB
AdminController.class 6KB
ComplainsController.class 5KB
MusicController.class 5KB
UsersController.class 5KB
TopicController.class 5KB
RebbsController.class 5KB
HistController.class 5KB
FavController.class 4KB
BbsController.class 4KB
ArticleController.class 4KB
CateController.class 4KB
UploadController.class 3KB
Music.class 3KB
Users.class 3KB
BaseController.class 3KB
Bbs.class 2KB
Complains.class 2KB
Topic.class 2KB
Rebbs.class 2KB
Excel.class 2KB
Fav.class 2KB
MusicServiceImpl.class 2KB
Admin.class 2KB
Article.class 2KB
Hist.class 2KB
Cate.class 2KB
ComplainsServiceImpl.class 2KB
CateServiceImpl.class 2KB
ArticleServiceImpl.class 2KB
RebbsServiceImpl.class 2KB
AdminServiceImpl.class 2KB
UsersServiceImpl.class 2KB
TopicServiceImpl.class 2KB
HistServiceImpl.class 2KB
BbsServiceImpl.class 2KB
FavServiceImpl.class 2KB
MD5.class 1KB
Test.class 1KB
MusicService.class 870B
MusicDAO.class 857B
UsersDAO.class 786B
ComplainsService.class 738B
ComplainsDAO.class 725B
ArticleService.class 706B
ArticleDAO.class 693B
CateService.class 689B
CateDAO.class 676B
AdminService.class 674B
RebbsService.class 674B
TopicService.class 674B
UsersService.class 674B
TopicDAO.class 661B
AdminDAO.class 661B
RebbsDAO.class 661B
HistService.class 658B
HistDAO.class 645B
BbsService.class 642B
FavService.class 642B
FavDAO.class 629B
BbsDAO.class 629B
RecommendService.class 381B
H-ui.css 203KB
H-ui.min.css 149KB
editor_ie7.css 48KB
editor_iequirks.css 47KB
editor_ie8.css 46KB
editor_ie.css 46KB
editor_gecko.css 45KB
editor.css 45KB
style.css 43KB
dialog_ie7.css 17KB
dialog_ie8.css 16KB
dialog_iequirks.css 16KB
dialog_ie.css 16KB
iconfont.css 16KB
dialog.css 15KB
iconfont.min.css 14KB
H-ui.admin.css 7KB
datepicker.css 4KB
datepicker.css 3KB
H-ui.reset.css 3KB
style.css 3KB
H-ui.ie.css 3KB
H-ui.login.css 2KB
contents.css 2KB
templates.css 1KB
skin.css 1KB
skin.css 1KB
skin.css 1KB
skin.css 1KB
skin.css 1KB
toolbar.css 1KB
skin.css 1KB
wsc.css 1KB
index.css 717B
WdatePicker.css 182B
共 1064 条
- 1
- 2
- 3
- 4
- 5
- 6
- 11
资源评论
土豆片片
- 粉丝: 1556
- 资源: 5641
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功