《JavaWeb---简单应用---服务器向客户端提供音乐资源》---用到的技术dom4j,JSTL,EL表达式 (六)

2014-11-24 09:26:37 · 作者: · 浏览: 6
ntException;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;

public class PlayMusic extends HttpServlet {

/**
* Title:从请求中获取信息,修改播放器的播放列表
* Copyright: Copyright (c) 2012
* @author: 烽火
* @version 1.0 2012-09
*/
private static final long serialVersionUID = 2187049797370378307L;

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

//解决乱码问题
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();


//得到歌曲的资源名称
String resname = request.getParameter("resname");

//从session域中得到存有歌曲信息的Map集合
Map musmap = (Map)request.getSession().getAttribute("musmap");
String name = musmap.get(resname);

//获取播放器播放列表存放的绝对路径
String xmlrealpath = this.getServletContext().getRealPath("/resource/musicplayer/xml/list0.xml");

//得到文件的document
SAXReader reader = new SAXReader();
Document document = null;
try {
document = reader.read(new File(xmlrealpath));
} catch (DocumentException e) {
e.printStackTrace();
}
if (document == null){
out.write("没有得到xml文件
");
return;
}else{
out.write("得到xml文件!
");
}

Element root = document.getRootElement();
Element music = (Element) root.elements("music").get(0);
music.element("name").setText(name);
//将资源的路径添加的music中
music.element("url").setText(request.getContextPath() + "/resource/music/" + resname);


OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding("gb2312");
XMLWriter writer = new XMLWriter(new FileOutputStream(xmlrealpath), format);

writer.write(document);
writer.close();

//重定向到播放器
//这种播放器在网上可以找到下一个用就行
response.sendRedirect(request.getContextPath() + "/resource/musicplayer/index.htm");
}

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

doGet(request, response);
}

}

运行结果:

1.在音乐库中新添加资源

\


2.点击mp3后进行数据更新

\


3.点击下载(此处不是我们想要的怎么将文件再改回歌曲名?希望高手指教)

\


4.点击播放

\
5.播放列表数据

\

这是自己完成的第一小小的web应用,虽然没什么大的功能,但是还是挺开心的。

期间遇到的问题,你懂得、