在线相册管理系统综述.docx

上传人:b****9 文档编号:25034395 上传时间:2023-06-04 格式:DOCX 页数:48 大小:1.52MB
下载 相关 举报
在线相册管理系统综述.docx_第1页
第1页 / 共48页
在线相册管理系统综述.docx_第2页
第2页 / 共48页
在线相册管理系统综述.docx_第3页
第3页 / 共48页
在线相册管理系统综述.docx_第4页
第4页 / 共48页
在线相册管理系统综述.docx_第5页
第5页 / 共48页
点击查看更多>>
下载资源
资源描述

在线相册管理系统综述.docx

《在线相册管理系统综述.docx》由会员分享,可在线阅读,更多相关《在线相册管理系统综述.docx(48页珍藏版)》请在冰豆网上搜索。

在线相册管理系统综述.docx

在线相册管理系统综述

广东海洋大学

 

学生实习总结报告

环节名称

Web开发技术课程实习

学院

信息学院

所在系

计算机

指导教师

甘元驹

学生姓名

杨汛

专业名称

计算机科学与技术

班级

计科1111班

起止时间

2014年5月26日至2014年6月20日

第一章绪论

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

密码

varchar(50)

3

realname

真实姓名

varchar(50)

4

email

邮件地址

varchar(50)

5

question

密保问题

varchar(50)

6

result

答案

varchar(50)

在线相册管理系统照片基本信息表(dbo.tb_photo)结构,如下所示

序号

字段

描述

类型

1

photoName

照片名称

varchar(50)

2

photoSize

照片大小

varchar(50)

3

photoType

照片类型

varchar(50)

4

photoTime

照片上传时间

varchar(50)

5

photoAddress

照片保存地址

varchar(50)

6

username

上传者

varchar(50)

7

printAddress

照片浏览地址

varchar(50)

8

smallPhoto

封面小照片

varchar(50)

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(){

try{

con=DriverManager.getConnection(url,userName,password);//根据用户名,url地址以及密码进行数据连接操作

con.setAutoCommit(true);//设置系统的自动连接操作

returntrue;

}catch(SQLExceptione){

System.out.println(e.getMessage());

System.out.println("creatConnectionError!

");

returnfalse;

}

}

//对数据库的增加、修改和删除的操作

publicbooleanexecuteUpdate(Stringsql){

if(con==null){//当con对象为空,进行creatConnection()方法,实现数据库连接操作

creatConnection();

}

try{

Statementstmt=con.createStatement();

intiCount=stmt.executeUpdate(sql);//执行参数SQL语句

System.out.println("操作成功,所影响的记录数为"+String.valueOf(iCount));//在控制台中显示执行的结果

returntrue;//如果SQL语句执行成功,返回true

}catch(SQLExceptione){

System.out.println(e.getMessage());

returnfalse;//如果SQL语句执行失败,返回false

}

}

//对数据库的查询操作

publicResultSetexecuteQuery(Stringsql){

ResultSetrs;//设置ResultSet结果集对象rs

try{

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;

}

}catch(SQLExceptione){

System.out.println(e.getMessage());

System.out.println("executeQueryError!

");

returnnull;

}

returnrs;//将查询的结果通过return关键字进行返回

}

//关闭数据库的操作

publicvoidcloseConnection(){

if(con!

=null){

try{

con.close();

}catch(SQLExceptione){

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["slideImg"].src=sImgArr[index];

if('MicrosoftInternetExplorer'==navigator.appName){

document.images["slideImg"].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));

SlideImg(gIndex);

}

varsid;

functioninislide(){//设置自动运行

if(sid==null){

sid=setInterval('NextImg()',3000);

}

}

②用户密码加密

publicclassEncrypt{

//该方法将密码进行MD5的加密,这个方法为静态方法,可以通过类名进行直接访问

publicstaticStringencode(Stringstr){

if(str==null)//当参数str为空,直接通过return关键字进行返回

returnnull;

StringBuildersb=newStringBuilder();

try{

MessageDigestcode=MessageDigest.getInstance("MD5");

code.update(str.getBytes());

byte[]bs=code.digest();

for(inti=0;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){

try{

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=""%>

<%@taglibprefix="c"uri="%>

useBeanid="dao"scope="page"class="com.wy.dao.OperationData">

useBean>

杨汛相册――首页

 

相册首页 | 

iftest="${sessionScope.userInfo==null}">

checkUserInfo()"title="请您先登录"class="a1">我的相册

if>

iftest="${sessionScope.userInfo!

=null}">

info=userQueryPhoto"class="a1">我的相册

if>


<%

Listlist1=(List)request.getAttribute("list");

inta=0;

for(Photophoto1:

list1){

%>

<%=photo1.getPhotoType()%>

info=queryPhotoList&type=<%=photo1.getPhotoType()%>">更多

<%

Listlist2=dao.photo_queryList("photoType='"+photo1.getPhotoType()+"'");

intb=0;

for(Photophoto2:

list2){

%>

info=queryOnePhoto&id=<%=photo2.getId()%>">"class="cannelBorder">

<%

b++;

if(b==3)

break;}

if(list2.size()<3){

for(inti=0;i<3-list2.size();i++){%>

<%}

}%>


<%

a++;

if(a==3)

break;

}%>

其他类别相册

info=queryPhotoList&type=校园风光">校园风光   

info=queryPhotoList&type=宿舍概况">宿舍概况   

info=queryPhotoList&t

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 电脑基础知识

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

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