三,java后台
1. 文件上传,这里采用servlet的方式
upload.java
package cn.jcracker.tingting;
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Iterator;
import java.util.List;
import java.util.UUID;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.springframework.context.ApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;
import cn.jcracker.tingting.bean.Song;
import cn.jcracker.tingting.service.SongService;
/**
*
* @author crystal
*/
public class Upload extends HttpServlet {
/**
* Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
* @param request servlet request
* @param response servlet response
*/
private int maxPostSize = 100 * 1024 * 1024;
public Upload() {
super();
}
public void destroy() {
super.destroy();
}
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println("进入后台上传:全文1---"+request.getInputStream());
//得到容器中以实例化好的Bean
ApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(request.getSession().getServletContext());
SongService songService = (SongService)ctx.getBean("SongService");
String userName = request.getParameter("userName");
userName=new String(userName.getBytes("ISO8859-1"),"utf-8");
String saySomethingToOne = request.getParameter("saySomethingToOne");
saySomethingToOne=new String(saySomethingToOne.getBytes("ISO8859-1"),"utf-8");
response.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
//保存文件到服务器中this.servlet.getServletContext().getRealPath("/UpLoad");
String uploadPath = this.getServletContext().getRealPath("/upload/");
String uuName = null;
DiskFileItemFactory factory = new DiskFileItemFactory();
factory.setSizeThreshold(4096);
ServletFileUpload upload = new ServletFileUpload(factory);
upload.setSizeMax(maxPostSize);
try {
List fileItems = upload.parseRequest(request);
Iterator iter = fileItems.iterator();
while (iter.hasNext()) {
FileItem item = (FileItem) iter.next();
if (!item.isFormField()) {
String name = item.getName();
//歌词不用保存到数据库
if(name.indexOf(".lrc")==-1){
uuName = UUID.randomUUID().toString()+".mp3";
System.out.println("songName --------"+name);
songService.SaveSong(uuName,name, userName, saySomethingToOne);
}else{
//若是歌词,就按名称查出来,得到uuName
String songName = name.substring(0, name.indexOf(".lrc", 0))+".mp3";
System.out.println("songName --------"+songName);
String tempUuName = ((Song)songService.getUUName(songName).get(0)).getUuName();
System.out.println("uuName --------"+tempUuName);
uuName = tempUuName.substring(0, tempUuName.indexOf(".mp3", 0))+".lrc";
System.out.println("uuName --------"+uuName);
}
try {
item.write(new File(uploadPath +"/"+ uuName));
} catch (Exception e) {
e.printStackTrace();
}
}
}
} catch (FileUploadException e) {
e.printStackTrace();
System.out.println(e.getMessage() + "结束");
}
}
// <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
/**
* Handles the HTTP <code>GET</code> method.
* @param request servlet request
* @param response servlet response
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
/**
* Handles the HTTP <code>POST</code> method.
* @param request servlet request
* @param response servlet response
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
/**
* Returns a short description of the servlet.
*/
public String getServletInfo() {
return "Short description";
}
// </editor-fold>
}
2. 其他类
见附件,将项目和数据库上传了!Tomcat版的如果需要联系我,由于时间仓猝,来不及结尾 请有疑问的地方 Email联系 361276898@qq.com
分享到:
相关推荐
此后台版音乐播放器将音乐资源管理和播放功能整合在一起,为管理员提供了管理音乐库的能力,同时也为用户提供了丰富的在线听歌体验。 ASP音乐播放器的核心功能通常包括以下几点: 1. **音乐库管理**:管理员可以...
在这个项目中,Flex被用来设计和实现一个功能完备的MP3音乐播放器。 1. **Flex基础**:Flex是一种基于Flash Player或Adobe AIR运行时的开发平台,允许开发者创建能够在多种操作系统和浏览器上运行的动态内容。它...
3. **多线程**:播放器需要在后台线程中加载和播放媒体文件,以免阻塞主线程,确保用户界面的流畅性。因此,理解C#中的线程管理和异步编程至关重要。 4. **文件I/O操作**:读取和写入媒体文件涉及文件流操作,C#的...
在本项目中,"C#Mp3播放器源码"是一个使用C#编程语言开发的MP3播放器的完整源代码。C#是一种面向对象的、类型安全的、现代的编程语言,常用于构建Windows桌面应用程序,Web应用程序以及游戏等。这个源码库将为学习C#...
通过上述步骤,我们可以实现Flex和Java的有效整合,创建出功能强大且用户体验良好的Web应用。这份"整合Flex和Java--配置篇"的PDF文档很可能是详细讲解了这些配置步骤和技术要点,对于正在从事或学习Flex和Java整合的...
在这个项目中,开发者可能利用了C#的强大特性和.NET Framework或.NET Core框架来构建这个功能齐全的MP3播放器。 首先,我们需要了解C#中的Windows Forms应用基础。Windows Forms是.NET Framework的一个部分,它提供...
到别人的博客中装有MP3播放器,是否感到很酷,把自己喜欢的歌曲都加入到在MP3播放器中,与访客分享,你是否有这样的想法呢?呵呵,如果你有这个想法的话,那么,就来看看今天介绍的WordPress插件吧。不得不佩服...
具体在系统设计上,采用了B/S的结构,同时,也使用JSP技术在动态页面上进行了设计,后台上采用Mysql数据库,是一个非常优秀的网络视频播放器。 关键词 :网络视频播放器;JSP技术;Mysql数据库;B/S结构
医院后台-医院后台系统-医院后台系统源码-医院后台管理系统-医院后台管理系统java代码-医院后台系统设计与实现-基于springboot的医院后台系统-基于Web的医院后台系统设计与实现-医院后台网站-医院后台网站代码-医院...
【Java MP3播放器开发详解】 Java作为一种跨平台的编程语言,因其强大的功能和灵活性,常被用于开发各种类型的应用程序,包括多媒体软件。本项目是基于Java开发的一款MP3播放器,名为YOYOPlayer,它具有简洁而时尚...
简约风 -- 后台管理系统模板 简约风 -- 后台管理系统模板 简约风 -- 后台管理系统模板 简约风 -- 后台管理系统模板 简约风 -- 后台管理系统模板 简约风 -- 后台管理系统模板 简约风 -- 后台管理系统模板 简约...
Flex 后台管理系统是一种基于Adobe Flex技术构建的用于企业级后台管理的应用程序。Flex是一种用于创建富互联网应用程序(RIA)的开发框架,它允许开发者构建交互性强、视觉效果丰富的Web应用。SSH在这里并非指Secure...
6. **文件管理**:对本地MP3文件的管理和播放列表的维护也是播放器必不可少的部分,可能涉及到文件I/O操作和数据结构的设计。 7. **错误处理和日志记录**:为了提高软件稳定性,开发者需要编写错误处理代码,并可能...
这种组合不仅能够充分利用`flex`作为前端展示的优势,还能借助`Spring`框架的强大功能以及`MyBatis`的数据库访问能力,构建出高性能且易于维护的应用。 #### 二、创建项目框架 ##### 1. 创建WebProject项目 首先...
vue3-real-admin纯静态后台模板vue3-real-admin纯静态后台模板vue3-real-admin纯静态后台模板vue3-real-admin纯静态后台模板vue3-real-admin纯静态后台模板vue3-real-admin纯静态后台模板vue3-real-admin纯静态后台...
【标题】"aquamp网页媒体播放器后台管理程序版 -ASP源码.zip"涉及的核心知识点是ASP编程语言和网页媒体播放器的后台管理系统设计。ASP(Active Server Pages)是微软开发的一种服务器端脚本环境,用于创建动态交互式...
少年三国志----GM后台修复版本授权后台(手游后台源码).rar