ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:19.03KB ,
资源ID:11857055      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11857055.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(上传文件及将大数据写入数据库并通过页面访问.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

上传文件及将大数据写入数据库并通过页面访问.docx

1、上传文件及将大数据写入数据库并通过页面访问对于如下页面: 文件上载 歌手名: 歌手照片: 作者名: 歌曲: 歌曲描述: 通过浏览器传输时,所传输的数据的格式为:-7d8b07a02ceContent-Disposition: form-data; name=singer站三-7d8b07a02ceContent-Disposition: form-data; name=photo; filename=E:Tempfile1.txtContent-Type: text/plainAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA-7d8b07a02ceConte

2、nt-Disposition: form-data; name=composer李四-7d8b07a02ceContent-Disposition: form-data; name=song; filename=E:Tempfile2.txtContent-Type: text/plainBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB-7d8b07a02ceContent-Disposition: form-data; name=memo好感-7d8b07a02ce-浏览器会以特定的“节”标记来分割每一个数据区,本例的特定分割符为“-7d8b07a02ce

3、”。并且对传输的任何数据,浏览器均会以“回车换行”符结束。基于此,我们可以用如下的Servlet程序获取以上表单数据:package com.ttt.chapter8;import java.io.*; import javax.servlet.*; import javax.servlet.http.*;import javax.servlet.ServletInputStream;import java.sql.*;/* * Servlet implementation class for Servlet: UpLoad * */ public class UpLoad extends j

4、avax.servlet.http.HttpServlet implements javax.servlet.Servlet /* * */ private static final long serialVersionUID = 1L; String singer; String composer; String song; byte buff = new byte1024; String sectionDelimeter; /* (non-Java-doc) * see javax.servlet.http.HttpServlet#HttpServlet() */ public UpLoa

5、d() super(); /* (non-Java-doc) * see javax.servlet.http.HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException / TODO Auto-generated method stub /* (non-Java-do

6、c) * see javax.servlet.http.HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException / TODO Auto-generated method stub int count; ServletInputStream sis = reque

7、st.getInputStream(); /skip the beginning 3 lines, then get the 4th line which is singer /注意:用sis.readLine(buff, 0, buff.length)读入的内容包含结尾的“回车换行”符 count = sis.readLine(buff, 0, buff.length); sectionDelimeter = new String(buff, 0, count-2); count = sis.readLine(buff, 0, buff.length); count = sis.readLi

8、ne(buff, 0, buff.length); count = sis.readLine(buff, 0, buff.length); singer = new String(buff, 0, count-2); System.out.println(Singer= + singer); /skip the beginning 4 lines, then get the singer photo image stream count = sis.readLine(buff, 0, buff.length); count = sis.readLine(buff, 0, buff.length

9、); count = sis.readLine(buff, 0, buff.length); count = sis.readLine(buff, 0, buff.length); int rc1; ByteArrayOutputStream photo = new ByteArrayOutputStream(); while(true) rc1 = sis.readLine(buff, 0, buff.length); if (rc1 = buff.length) photo.write(buff, 0, rc1); else String del = new String(buff, 0,

10、 rc1); if (del.indexOf(sectionDelimeter) != -1) break; else photo.write(buff, 0, rc1); System.out.println(Photo size= + photo.size(); /* FileOutputStream fos = new FileOutputStream(E:TempABC.jpg); System.out.println(Size=+photo.size(); fos.write(photo.toByteArray(); fos.flush(); fos.close(); */ /get

11、 composer /因为我们在前一个对图像媒体的读取中,已经读出了域分隔符,所以,此处只要读两个。 sis.readLine(buff, 0, buff.length); sis.readLine(buff, 0, buff.length); count = sis.readLine(buff, 0, buff.length); composer = new String(buff, 0, count-2); System.out.println(Composer= + composer); /get the song media /skip the beginning 4 lines, t

12、hen get the singer photo image stream String ss; count = sis.readLine(buff, 0, buff.length); count = sis.readLine(buff, 0, buff.length); ss = new String(buff, 0, count-2); String songName = ss.substring(ss.lastIndexOf()+1, ss.length()-1); count = sis.readLine(buff, 0, buff.length); count = sis.readL

13、ine(buff, 0, buff.length); int rc2; ByteArrayOutputStream song = new ByteArrayOutputStream(); while(true) rc2 = sis.readLine(buff, 0, buff.length); if (rc2 = buff.length) song.write(buff, 0, rc2); else String del = new String(buff, 0, rc2); if (del.indexOf(sectionDelimeter) != -1) break; else song.w

14、rite(buff, 0, rc2); System.out.println(Song Name= + songName + Size = + song.size(); /* FileOutputStream fos = new FileOutputStream(E:TempABC.mp3); System.out.println(Size=+song.size(); fos.write(song.toByteArray(); fos.flush(); fos.close(); */ /get the song memo /因为我们在前一个对图像媒体的读取中,已经读出了域分隔符,所以,此处只要

15、读两个。 count = sis.readLine(buff, 0, buff.length); count = sis.readLine(buff, 0, buff.length); count = sis.readLine(buff, 0, buff.length); String memo = new String(buff, 0, count-2); System.out.println(Memo = + memo); /insert the media into table int rest = 0; rest = insertIntoDatabase(singer, photo,

16、composer, song, memo, songName); response.setContentType(text/html); PrintWriter pw = response.getWriter(); if (rest 0) pw.println(Success); else pw.println(Failed); private int insertIntoDatabase(String singer, ByteArrayOutputStream photo, String composer, ByteArrayOutputStream song, String memo, S

17、tring songName) Connection conn = null; int ca = 0; PreparedStatement pst = null; String connectionUrl = jdbc:sqlserver:/192.168.10.80:1433; + databaseName=Student;user=sa;password=12345; try Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver); conn = DriverManager.getConnection(connectionUr

18、l); pst = conn.prepareStatement(insert into Song (song_singer_name,song_singer_photo,song_composer,song_singer_song,song_memo,song_name) values(?, ?, ?, ?, ?, ?); pst.setString(1, singer); pst.setBytes(2, photo.toByteArray(); pst.setString(3, composer); pst.setBytes(4, song.toByteArray(); pst.setStr

19、ing(5, memo); pst.setString(6, songName); ca = pst.executeUpdate(); catch(Exception e) e.printStackTrace(); finally try pst.close(); conn.close(); catch(Exception e1); return ca; 现在已经将音乐数据存入了数据库,可以通过如下的页面和Servlet来播放:播放页面:媒体播放测试!- -!- - 其中的“./PlayMusic”是一个Servlet,代码如下:package com.ttt.chapter8;import

20、java.io.*; import javax.servlet.*; import javax.servlet.http.*;import java.sql.*;/* * Servlet implementation class for Servlet: PlayMusic * */ public class PlayMusic extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet /* * */ private static final long serialVersionUID = 1L; /* (non-Java-doc) * see javax.servlet.http.HttpServlet#HttpServlet() */ public PlayMusic() super(); /* (non-Java-doc) * see javax.servlet.http.HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1