图片上传的设计与实现.doc_第1页
图片上传的设计与实现.doc_第2页
图片上传的设计与实现.doc_第3页
图片上传的设计与实现.doc_第4页
图片上传的设计与实现.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

装订线长 春 大 学 课程设计纸一 设计题目图片上传的设计与实现二 设计目的运用jsp开发工具和数据库开发一个小型的基于Web系统。要求提交详细的设计说明书及各步骤所需图表和文档,对复杂的代码段和程序段,应画出程序流程图。在界面设计中,画出每个窗口的布局。通过本实践性教学环节,能较好地巩固jsp基本知识,jsp连接数据库实现动态网页。三 需求分析如今时代,互联网已经进入我们的生活,而互联网上就有图片上传,显示,访问等等功能,有着很大的市场空间。图片上传必须实现:1. 数据库访问模块:利用JavaBean封装对数据库的操作,主要包括连接数据库、添加、删除、查询数据表、关闭连接等功能;2. 上传模块:通过上传组件实现图片的上传。3. 显示模块:提供图片信息列表的显示效果。4. 查看模块:点击可以显示图片的内容。四 总体设计图片上传是指客户端通过Web应用程序将本地图片资源传输到服务器上。在客户端需要显示图片时,服务器端将图片通过网络以流的形式发送给客户端,然后利用不同的形式显示图片。图片上传必须要对电子相册有,用户注册,用户注册,添加相片,修改相册,用户反馈,管理用户,如图1所示。图1 总体设计五 详细设计 1.文件上传组件介绍文件上传组件是一些开源组织发布的针对实现文件上传功能的一组class文件。jspSmartUpload和Apache的common-fileupload是两个比较流行的文件上传组件。这两个组件都可以在JSP中实现文件上传。本节使用Apache的common-fileupload组件实现图片上传。2.HTML中文件上传组件介绍HTML中元素可以创建文件上传组件。该控件带有一个文本框和浏览按钮。使用该组件时要注意以下几点。该元素必须出现在form表单内。必须为该元素的name属性指定属性值。form的method方法必须设置为post。form元素enctype标签属性值必须设置为multipart/form-data。要处理上载到服务器的文件,服务器必须有可以处理multipart/form-data提交的进程。3.common-fileupload组件简介common-fileupload组件是apache的开源项目之一。用该组件可实现一次上传一个或多个文件,并可限制文件大小。可以从/commons/ fileupload/下载到该组件。该组件在许多其他开源项目中被使用,如struts、WebWork等。该组件由几个核心类组成,下面对这几个类进行简单的介绍。(1)DiskFileUpload类。(2)FileItem类用来封装单个表单字段元素的数据,一个表单字段元素对应一个FileItem对象,通过调用FileItem对象的方法可以获得相关表单字段元素的数据。(3)FileUploadException类。在文件上传过程中,可能发生各种各样的异常,如网络中断、数据丢失等。为了对不同异常进行适当的处理,Apache文件上传组件还开发了4个异常类,其中FileUploadException是其他异常类的父类,其他几个类只是被间接调用的底层类,对于Apache组件调用人员来说,只需对FileUploadException异常类进行捕获和处理即可。4文件在服务器端的存储形式在服务器端存储文件主要有两种方式:磁盘存储和数据库存储。在这里使用的是后者,利用数据库存储来将图片上传到服务器端。这两种存储方式各有利弊。利用数据库来存储这些资源会导致数据库的处理效率降低,但相对安全。利用磁盘来存储图片资源安全性相对来说比较低,但不会影响到处理的。File-tbl表结构如图1所示。表1 File-tbl表结构字段名类型备注IdINTEGER主键且自动增长filenameVARCHAR(45)文件名fileCotentMEDIUMBLOB文件内容createDateTIMESTAMP创建时间5页面的设计与实现(1)上传页面提供文件上传功能。该页面中有以下几个HTML标记元素。(2)图片列表页面将已经上传到服务器中的图片全部显示在页面中,图片名称以超链接形式显示在页面中,单击该超链接可以显示该图片名称对应的图片内容,如图2所示。图2 图片列表页面的效果(3)图片显示页面,负责图片内容的显示,效果如图3所示。图3 图片显示页面的效果代码实现如下: My JSP uploadimage.jsp starting page % SmartUpload sma=new SmartUpload(); long file_max_size=4000000; String filename1=,ext=,testvar=; 6文件上传处理上传页面可以进行图片上传操作。图片先被上传到服务器,再被文件上传处理程序进行处理,最后存储到数据库中,前面已经对common-fileupload组件进行了简单介绍,也对该组件中的几个关键类进行了讲解。在实现文件上传处理过程中,主要使用到DiskFileUpload类和FileItem类,选择上传图片后的效果如图4所示。图4 选择上传图片后的效果图片上传成功后的效果如图5所示:图5 图片上传成功后的效果代码实现如下:ext=myf.getFileExt(); int file_size=myf.getSize(); String saveurl=; if(file_size 8图片内容显示在上面代码中,从数据库中读取的图片内容是以Blob形式返回。Blob是内置类型,它将二进制大对象(Binary Large Object)存储为数据库表某一行中的一个列值。该类型有几个常用方法,ServletResponse.getOutputStream()方法提供了一种输出流,用于向客户端发送二进制数据。ServletOutputStream对象通常通过ServletResponse.getOutputStream()方法获取。图片内容显示如图7所示。图7 图片内容显示代码实现如下:public class AdlistArraylist private Connection conn = null;private List list = new ArrayList();private BaseDBConnection db = new BaseDBConnection();private PreparedStatement pstm = null;private ResultSet rs = null;public List getPath(int type)String sql = select path from adlist where type=+type; /String s = select path from adlist where type = +type+ order by id;conn = db.getConn();try pstm = conn.prepareStatement(sql);rs = pstm.executeQuery();while(rs.next()list.add(rs);六 总结common-fileupload组件提供了实现文件上传的功能,在JSP中可以借用该组件来实现图片上传的功能。使用common-fileupload组件来实现图片的上传。该组件主要使用DiskFileUpload和FileItem两个核心类来实现文件上传功能。熟悉并掌握这两个类中的关键方法将有助于学习JSP中实现图片上传技术。本章中也涉及到了数据库中存储

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论