在线相册管理系统Word格式.docx
- 文档编号:6779050
- 上传时间:2023-05-07
- 格式:DOCX
- 页数:49
- 大小:1.52MB
在线相册管理系统Word格式.docx
《在线相册管理系统Word格式.docx》由会员分享,可在线阅读,更多相关《在线相册管理系统Word格式.docx(49页珍藏版)》请在冰点文库上搜索。
1.1课程设计题目
在线相册管理系统
1.2课程设计任务
①首页分页显示所有用户的图片,上传的用户和上传日期
②用户能够注册
③用户登录后,进行相册管理:
上传新图片、对本人上传的图片进行
修改、删除(注意:
修改图片的时候,要注意对原上传图片文件的
删除,防止图片越来越多的情况出现)用户信息的修改,可增加的
功能:
图片栏目,图片分类存放,示例:
QQ相册中的“相册”
④相片的评论功能
1.3系统采用的相关技术
本系统主要采用jsp技术和sql技术结合,用到的工具有Myeclipse10和sqlserver2005,其中使用用jsp建立图形界面、用sql建立数据库。
第2章系统需求分析和总体设计
2.1需求分析
面对传统的相册难于管理,图片多,耗费空间,也有时候自己忘了存放位置,难于查找等问题。
基于个人的照片,开发在线相册管理系统来帮助大家管理自己心爱的图片,以便方便查看。
2.2功能模块
①照片管理模块:
该模块对所有用户都可以使用,普通用户只能查
看、浏览照片,管理员可以实现查看、删除、评论、上传照片等功能。
②用户管理模块:
该模块可以实现用户注册成为管理员,然后管理自己的个人相册,同个用户名只能注册一次。
2.3系统总体模块功能图
总体模块功能图
2.4数据库设计
2.4.1数据库逻辑设计
在线相册管理系统用户表(dbo.tb_userInfo)结构,如下所示
序号
字段
描述
类型
1
username
用户名
varchar(50)
2
password
密码
3
realname
真实姓名
4
邮件地址
5
question
密保问题
6
result
答案
在线相册管理系统照片基本信息表(dbo.tb_photo)结构,如下所示
photoName
照片名称
photoSize
照片大小
photoType
照片类型
photoTime
照片上传时间
photoAddress
照片保存地址
上传者
7
printAddress
照片浏览地址
8
smallPhoto
封面小照片
2.4.2连接数据库的实现
importjava.sql.*;
publicclassJDBConnection{
privatefinalStringdbDriver="
com.microsoft.sqlserver.jdbc.SQLServerDriver"
;
//设置SQL
//Server2005数据库驱动名称
privatefinalStringurl="
jdbc:
sqlserver:
//127.0.0.1:
1433;
DatabaseName=db_photo"
//设置连接SQL
//Servlet2005的utl地址
privatefinalStringuserName="
sa"
//设置登录数据库的用户
privatefinalStringpassword="
111"
//设置登录用户的密码
privateConnectioncon=null;
//设置连接对象,并赋值为null
//通过构造方法加载数据库驱动
publicJDBConnection(){
try{
Class.forName(dbDriver).newInstance();
//通过Java反射机制进行加载数据库驱动操作
}catch(Exceptionex){
System.out.println("
数据库加载失败"
);
}
}
//创建数据库连接
publicbooleancreatConnection(){
con=DriverManager.getConnection(url,userName,password);
//根据用户名,url地址以及密码进行数据连接操作
con.setAutoCommit(true);
//设置系统的自动连接操作
returntrue;
}catch(SQLExceptione){
System.out.println(e.getMessage());
creatConnectionError!
"
returnfalse;
//对数据库的增加、修改和删除的操作
publicbooleanexecuteUpdate(Stringsql){
if(con==null){//当con对象为空,进行creatConnection()方法,实现数据库连接操作
creatConnection();
Statementstmt=con.createStatement();
intiCount=stmt.executeUpdate(sql);
//执行参数SQL语句
操作成功,所影响的记录数为"
+String.valueOf(iCount));
//在控制台中显示执行的结果
//如果SQL语句执行成功,返回true
//如果SQL语句执行失败,返回false
//对数据库的查询操作
publicResultSetexecuteQuery(Stringsql){
ResultSetrs;
//设置ResultSet结果集对象rs
if(con==null){//当con对象为null,取得数据库连接操作
creatConnection();
}
Statementstmt=con.createStatement(
ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
try{
rs=stmt.executeQuery(sql);
//执行参数中的SQL语句
}catch(SQLExceptione){
System.out.println(e.getMessage());
returnnull;
executeQueryError!
returnnull;
returnrs;
//将查询的结果通过return关键字进行返回
//关闭数据库的操作
publicvoidcloseConnection(){
if(con!
=null){
con.close();
e.printStackTrace();
System.out.println("
Failedtocloseconnection!
}finally{
con=null;
2.5系统实现的主要功能
<
1>
登录操作
用户在登录界面填写完用户名、密码及验证码后,单击确定按钮,不是所有的用户名和密码都能进入,输入的用户名和密码需与数据库中的用户表内的记录一致,需进行判断。
2>
注册操作
如果想使用相册管理系统,可是又没有用户名和密码的,可以单击用户登录界面的注册一项,这样可以自己定义用户名和密码,这样就可以对自己相册进行操作。
3>
上传操作
用户在进入系统后可以进行相应操作,其中包括上传照片,删除照片,评论照片等,新上传的照片需要把输入的信息添加到数据库中,照片才可以上传成功。
2.6主要功能的实现算法
①照片的查看和浏览,滚动浏览图片或者幻灯片浏览。
varsImgArr=newArray(<
%=newAddress%>
varplImg=newImage();
vargIndex=0;
functionSlideImg(index){
gIndex=index;
if('
MicrosoftInternetExplorer'
==navigator.appName){
document.images["
slideImg"
].filters.item(0).Apply();
document.images["
].src=sImgArr[index];
==navigator.appName){
].filters.item(0).play();
}
functionNextImg(){//显示下一张图片
gIndex=((gIndex+1)>
=sImgArr.length?
0:
(gIndex+1));
SlideImg(gIndex);
functionPrevImg(){//显示前一张图片
gIndex=((gIndex-1)<
0?
(sImgArr.length-1):
(gIndex-1));
varsid;
functioninislide(){//设置自动运行
if(sid==null){
sid=setInterval('
NextImg()'
3000);
②用户密码加密
publicclassEncrypt{
//该方法将密码进行MD5的加密,这个方法为静态方法,可以通过类名进行直接访问
publicstaticStringencode(Stringstr){
if(str==null)//当参数str为空,直接通过return关键字进行返回
StringBuildersb=newStringBuilder();
MessageDigestcode=MessageDigest.getInstance("
MD5"
code.update(str.getBytes());
byte[]bs=code.digest();
for(inti=0;
i<
bs.length;
i++){
intv=bs[i]&
0xFF;
if(v<
16)
sb.append(0);
sb.append(Integer.toHexString(v));
}catch(NoSuchAlgorithmExceptione){
e.printStackTrace();
returnsb.toString().toUpperCase();
//该方法返回的系统的时间,也是静态方法
publicstaticStringcurrentlyTime(){
Datedate=newDate();
DateFormatdateFormat=DateFormat.getDateInstance(DateFormat.FULL);
returndateFormat.format(date);
//该方法将参数内容进行转码,也是静态方法
publicstaticStringtoChinese(Stringstrvalue){
if(strvalue==null){
return"
}else{
strvalue=newString(strvalue.getBytes("
ISO8859_1"
),"
GBK"
returnstrvalue;
}catch(Exceptione){
return"
第3章系统详细设计与实现
3.1界面设计
3.1.1新用户注册界面
3.1.2登录界面
3.1.3整体界面
3.1.4我的相册界面
3.1.5照片上传界面
2.1.6照片浏览界面
3.1.7照片详细信息界面
3.2系统测试与实现
系统测试是系统开发周期中的一个十分重要的阶段,其重要性体现在它是保证系统质量和可靠性的最后关键,是对整个系统开发过程包括系统分析、系统设计和系统实施的最终审查。
虽然本系统在测试之前已经经过了系统分析、需求分析、概要分析、详细分析等阶段严格的技术审查,但是错误和疏漏的存在还是无法避免的。
如果没有再投入运行前的系统测试阶段被发现并纠正,问题迟早会在进行中暴露出来,到那时要纠正错误将会付出更大的代价,甚至会造成不堪设想的后果。
因此我在整个开发过程中不断检测,不断发现系统的出错,以便及时更正。
第5章总结
经过了半个月的努力与实践,基于JavaWeb技术的在线相册项目的设计与开发基本完成。
在这十几天的运行调试中,连接数据库一度出现过现错误,经过请教同学和上网查询,错误点全部清除,现在系统可以按着设计思路和需求功能正常运行。
通过开发这个在线相册管理系统,不但熟练掌握了软件集成开发环境Myeclipse10.0的使用,还学会了Tomcat6.0服务器、sqlserver2005数据库级相关组件的使用,培养和锻炼了独立从事开发项目系统的能力,而且通过对在线相册系统的管理的操作,加深了对管理信息系统的原理、技术、方法、工具、步骤和有关理论知识的理解和认识,为今后在工作岗位上更好的利用jsp技术开发网站打下良好的基础。
课程设计下来,感受最深的就是疲惫,还有就是知识极大程度的不够用。
好多问题都得去请教老师和同学才得以解决。
所以我认为自己在动手方面和知识的储备方面还不够,同时,就是在遇到问题的时候,有点手忙脚乱。
针对在这次课程设计中暴露的问题,以后的学习中我会更加努力,提高了自己的动手能力,争取下一次做得更好。
第6章参考文献
【1】邱加永《JSP基础与案例开发详解》,清华大学出版社,2009.
【2】温尚书《JavaWeb编程入门与实战》,人民邮电出版社,2010.
附录系统主要代码实现
相册首页photoIndex.jsp
%@pagecontentType="
text/html;
charset=gb2312"
language="
java"
import="
java.sql.*,java.util.*,com.wy.form.*"
errorPage="
%>
html>
head>
metahttp-equiv="
Content-Type"
content="
/>
linkhref="
css/style.css"
type="
text/css"
rel="
stylesheet"
scriptlanguage="
javascript"
src="
js/js.js"
text/javascript"
>
/script>
%@taglibprefix="
c"
uri="
jsp:
useBeanid="
dao"
scope="
page"
class="
com.wy.dao.OperationData"
/jsp:
useBean>
title>
杨汛相册――首页<
/title>
/head>
body>
tableborder="
0"
align="
center"
cellpadding="
cellspacing="
<
tr>
td>
imgsrc="
images/1.jpg"
width="
753"
height="
200"
/td>
/tr>
/table>
tablewidth="
36"
border="
background="
images/2.jpg"
tdwidth="
48"
&
nbsp;
705"
valign="
top"
481"
tdheight="
31"
fontcolor="
EDE6BC"
ahref="
#"
a1"
相册首页<
/a>
b>
|<
/b>
&
<
c:
iftest="
${sessionScope.userInfo==null}"
onclick="
javascript:
checkUserInfo()"
title="
请您先登录"
我的相册<
/c:
if>
${sessionScope.userInfo!
=null}"
photoServlet?
info=userQueryPhoto"
tableheight="
597"
tr>
td>
images/10.gif"
9"
535"
images/3.jpg"
br>
%
List<
Photo>
list1=(List<
)request.getAttribute("
list"
inta=0;
for(Photophoto1:
list1){
%>
20"
colspan="
2"
word_black"
%=photo1.getPhotoType()%>
right"
info=queryPhotoList&
type=<
更多<
tralign="
List<
list2=dao.photo_queryList("
photoType='
+photo1.getPhotoType()+"
'
intb=0;
for(Photophoto2:
list2){
134"
103"
images/9.gif"
info=queryOnePhoto&
id=<
%=photo2.getId()%>
%=photo2.getSmallPhoto()%>
cannelBorder"
%
b++;
if(b==3)
break;
if(list2.size()<
3){
for(inti=0;
i<
3-list2.size();
i++){%>
无<
%}
}%>
504"
hr>
a++;
if(a==3)
break;
}%
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 在线 相册 管理 系统
![提示](https://static.bingdoc.com/images/bang_tan.gif)