基于SSM的“个性化电子相册”的设计与实现(源码+数据库+文档+PPT)
-
开发语言:Java
-
数据库:MySQL
-
技术:SSM
-
工具:IDEA/Ecilpse、Navicat、Maven
系统展示
个性化电子相册功能结构图
系统后台界面
会员信息管理界面
相册信息管理界面
系统首页界面
相册信息界面
用户后台界面
摘要
随着网络的普及应用,借助线上平台人们可以实现图片及文字信息的分享,进一步拉近了人与人之间的关系,同时通过照片内容的分享也可以帮助人们了解彼此最新的生活状态。随着人们对于日常生活记录的增加,对于相册及照片内容的存储和分享也需要借助线上化的系统平台来实现,电子相册系统的开发设计帮助人们实现了更加便捷的照片信息存储和分享,同时也可以结合自身的需求进行在线的相册内容维护和删除,通过个性化相册系统的建立帮助用户实现了照片信息的存储及分享。同时为了确保照片信息的安全性,电子相册系统的开发设计需要通过用户注册登录以及管理员的后台审核才可以实现使用,在确保系统功能应用便捷性的同时也需要提升系统的安全性和隐私性。
本文借助SSM框架结构开发设计一款基于WEB端的个性化电子相册系统平台,通过JSP技术以及Mysql数据库的应用实现了前后端相册图片信息的传递和管理,结合用户端的应用需求,主要的功能模块围绕着相册管理、相册上传以及相册评价等内容展开,借助系统图片管理的便捷性为用户提供了批量导出、查询及删除等操作,同时考虑到系统平台的安全性,在会员用户注册环节加入了管理员用户的审批机制,为了确保系统网页照片内容的合法性,用户相册内容的上传也需要通过后台管理员审批才可以实现网站的发布。
研究背景
随着互联网系统平台的飞速发展,为了满足人们日常交流的应用需求,电子相册成为了更加直观的信息分享方式,通过电子相册利用人们可以实现便捷的图片交流,同时还可以实现日常照片内容的存储和管理。借助线上电子相册系统平台可以实现相册权限的管理,用户实现个人相册信息分享的同时还可以选择性的公开相册让其他还有也能看到。目前很多专业的摄影网站以及个人门户网站都相继开通过了电子相册功能,早期的电子相册功能的应用主要在个人社交平台,例如校内网及QQ空间等,然而随着社交平台的不断智能化,电子相册管理的模式也更加丰富,人们可以借助微信朋友圈或者Instagram来实现个人照片及社交动态的发布。相比之下,网络电子相册可以实现更加全面的相册管理,从相册类别、相册专辑再到用户的评论,相比社交应用的图片管理模式,电子相册管理在应用功能上更加齐全且能够实现批量图片内容的上传和管理,帮助人们实现更好的照片管理和存储。
研究现状
国外网络电子相册的主要服务提供商包括了雅虎公司提供的Flicker相册,主要通过Ludicorp公司开发设计,该电子相册的主要应用功能集中在数字照片信息的存储以及照片分享联机服务等内容,借助网络社区平台实现更多功能应用。在实际操作应用过程中随着用户人次及照片信息规模的不断正价,目前Flicker已经连接了近70个数据库,承担了上千万用户账号的图片信息管理。谷歌公司也为用户端提供了类似的picasa网络电子相册,随着用户应用范围的不断扩张,电子相册平台也在不断的推陈出新,借助网络信息存储和链接的便捷性来满足用户端的图片分享及存储需求。目前很多电子相册平台的应用都需要付费来实现,系统平台付费后用户可以享受到更加全面的相册服务,很多经济能力有限的用户会选择其他平台的相册类型的功能来实现信息的存储,然而在图片的查询和调取过程中就不够灵活便捷。同时国外的Instagram平台也得到了广泛的应用,在图片分享过程中的互动性及内容呈现的可选择性更强,综上所述,国外对于电子相册及类型应用系统平台的开发设计也在不断的发展和更新。
研究的意义
随着人们对于信息传递及分享方式的多样化,网络电子相册逐渐成为了图片交流及分享的平台,在内容的呈现上更加的直观。相比社交平台的电子相册模块,独立开发设计的电子相册平台在内容的完整度以及图片信息的隐私性上都有所保障。通过有效利用线上平台可以实现相册专辑、相册图片以及相册评论信息的管理和维护,在图片内容的查询和管理上可以通过批量操作的方式来实现统一管理。另外从安全角度出发,电子相册系统平台相比社交软件的电子相册功能更加的安全可靠,首先在应用上不会出现被窃取个人信息的情况,社交软件的盗号风险以及黑客入侵的概率都较高,而电子相册平台在功能的呈现及图片信息的安全性上都有所保障,能够满足用户的信息安全需求同时可以实现更加便捷的图片内容搜索,从系统的内容呈现及操作便捷性上都更加直接且高效。
部分源码
@Controller
public class HuiyuanxinxiController {
@Resource
private HuiyuanxinxiServer huiyuanxinxiService;
@RequestMapping("addHuiyuanxinxi.do")
public String addHuiyuanxinxi(HttpServletRequest request,Huiyuanxinxi huiyuanxinxi,HttpSession session) throws SQLException{
Timestamp time=new Timestamp(System.currentTimeMillis());
huiyuanxinxi.setAddtime(time.toString().substring(0, 19));
huiyuanxinxiService.add(huiyuanxinxi);
db dbo = new db();
//kuabiaogaizhi
session.setAttribute("backxx", "添加成功");session.setAttribute("backurl", request.getHeader("Referer"));return "redirect:postback.jsp";
}
@RequestMapping("addHuiyuanxinxiqt.do")
public String addHuiyuanxinxiqt(HttpServletRequest request,Huiyuanxinxi huiyuanxinxi,HttpSession session) throws SQLException{
Timestamp time=new Timestamp(System.currentTimeMillis());
huiyuanxinxi.setAddtime(time.toString().substring(0, 19));
huiyuanxinxiService.add(huiyuanxinxi);
db dbo = new db();
//kuabiaogaizhi
session.setAttribute("backxx", "添加成功");
session.setAttribute("backurl", request.getHeader("Referer"));
return "redirect:postback.jsp";
}
// 处理编辑
@RequestMapping("doUpdateHuiyuanxinxi.do")
public String doUpdateHuiyuanxinxi(int id,ModelMap map,Huiyuanxinxi huiyuanxinxi){
huiyuanxinxi=huiyuanxinxiService.getById(id);
map.put("huiyuanxinxi", huiyuanxinxi);
return "huiyuanxinxi_updt";
}
@RequestMapping("doUpdateHuiyuanxinxi2.do")
public String doUpdateHuiyuanxinxi2(ModelMap map,Huiyuanxinxi huiyuanxinxi,HttpServletRequest request){
huiyuanxinxi=huiyuanxinxiService.getById(Integer.parseInt((String)request.getSession().getAttribute("uid")));
map.put("huiyuanxinxi", huiyuanxinxi);
return "huiyuanxinxi_updt2";
}
@RequestMapping("updateHuiyuanxinxi2.do")
public String updateHuiyuanxinxi2(int id,ModelMap map,Huiyuanxinxi huiyuanxinxi,HttpServletRequest request,HttpSession session){
huiyuanxinxiService.update(huiyuanxinxi);
session.setAttribute("backxx", "修改成功");session.setAttribute("backurl", request.getHeader("Referer"));return "redirect:postback.jsp";
}
// 后台详细
@RequestMapping("huiyuanxinxiDetail.do")
public String huiyuanxinxiDetail(int id,ModelMap map,Huiyuanxinxi huiyuanxinxi){
huiyuanxinxi=huiyuanxinxiService.getById(id);
map.put("huiyuanxinxi", huiyuanxinxi);
return "huiyuanxinxi_detail";
}
// 前台详细
@RequestMapping("hyxxDetail.do")
public String hyxxDetail(int id,ModelMap map,Huiyuanxinxi huiyuanxinxi){
huiyuanxinxi=huiyuanxinxiService.getById(id);
map.put("huiyuanxinxi", huiyuanxinxi);
return "huiyuanxinxidetail";
}
//
@RequestMapping("updateHuiyuanxinxi.do")
public String updateHuiyuanxinxi(int id,ModelMap map,Huiyuanxinxi huiyuanxinxi,HttpServletRequest request,HttpSession session){
huiyuanxinxiService.update(huiyuanxinxi);
session.setAttribute("backxx", "修改成功");session.setAttribute("backurl", request.getHeader("Referer"));return "redirect:postback.jsp";
}
// 分页查询
@RequestMapping("huiyuanxinxiList.do")
public String huiyuanxinxiList(@RequestParam(value="page",required=false)String page,
ModelMap map,HttpSession session,Huiyuanxinxi huiyuanxinxi, String zhanghao, String mima, String xingming, String xingbie, String dianhua, String shenfenzheng, String zhaopian, String issh){
if(page==null||page.equals("")){
page="1";
}
PageBean pageBean=new PageBean(Integer.parseInt(page), 5);
Map<String, Object> pmap=new HashMap<String,Object>();
pmap.put("pageno", pageBean.getStart());
pmap.put("pageSize", 5);
if(zhanghao==null||zhanghao.equals("")){pmap.put("zhanghao", null);}else{pmap.put("zhanghao", zhanghao);}
if(mima==null||mima.equals("")){pmap.put("mima", null);}else{pmap.put("mima", mima);}
if(xingming==null||xingming.equals("")){pmap.put("xingming", null);}else{pmap.put("xingming", xingming);}
if(xingbie==null||xingbie.equals("")){pmap.put("xingbie", null);}else{pmap.put("xingbie", xingbie);}
if(dianhua==null||dianhua.equals("")){pmap.put("dianhua", null);}else{pmap.put("dianhua", dianhua);}
if(shenfenzheng==null||shenfenzheng.equals("")){pmap.put("shenfenzheng", null);}else{pmap.put("shenfenzheng", shenfenzheng);}
if(zhaopian==null||zhaopian.equals("")){pmap.put("zhaopian", null);}else{pmap.put("zhaopian", zhaopian);}
int total=huiyuanxinxiService.getCount(pmap);
pageBean.setTotal(total);
List<Huiyuanxinxi> list=huiyuanxinxiService.getByPage(pmap);
map.put("page", pageBean);
map.put("list", list);
session.setAttribute("p", 1);
return "huiyuanxinxi_list";
}
@RequestMapping("hyxxList.do")
public String hyxxList(@RequestParam(value="page",required=false)String page,
ModelMap map,HttpSession session,Huiyuanxinxi huiyuanxinxi, String zhanghao, String mima, String xingming, String xingbie, String dianhua, String shenfenzheng, String zhaopian, String issh){
if(page==null||page.equals("")){
page="1";
}
PageBean pageBean=new PageBean(Integer.parseInt(page), 5);
Map<String, Object> pmap=new HashMap<String,Object>();
pmap.put("pageno", pageBean.getStart());
pmap.put("pageSize", 5);
if(zhanghao==null||zhanghao.equals("")){pmap.put("zhanghao", null);}else{pmap.put("zhanghao", zhanghao);}
if(mima==null||mima.equals("")){pmap.put("mima", null);}else{pmap.put("mima", mima);}
if(xingming==null||xingming.equals("")){pmap.put("xingming", null);}else{pmap.put("xingming", xingming);}
if(xingbie==null||xingbie.equals("")){pmap.put("xingbie", null);}else{pmap.put("xingbie", xingbie);}
if(dianhua==null||dianhua.equals("")){pmap.put("dianhua", null);}else{pmap.put("dianhua", dianhua);}
if(shenfenzheng==null||shenfenzheng.equals("")){pmap.put("shenfenzheng", null);}else{pmap.put("shenfenzheng", shenfenzheng);}
if(zhaopian==null||zhaopian.equals("")){pmap.put("zhaopian", null);}else{pmap.put("zhaopian", zhaopian);}
int total=huiyuanxinxiService.getCount(pmap);
pageBean.setTotal(total);
List<Huiyuanxinxi> list=huiyuanxinxiService.getByPage(pmap);
map.put("page", pageBean);
map.put("list", list);
session.setAttribute("p", 1);
return "huiyuanxinxilist";
}
@RequestMapping("hyxxListtp.do")
public String hyxxListtp(@RequestParam(value="page",required=false)String page,
ModelMap map,HttpSession session,Huiyuanxinxi huiyuanxinxi, String zhanghao, String mima, String xingming, String xingbie, String dianhua, String shenfenzheng, String zhaopian, String issh){
if(page==null||page.equals("")){
page="1";
}
PageBean pageBean=new PageBean(Integer.parseInt(page), 8);
Map<String, Object> pmap=new HashMap<String,Object>();
pmap.put("pageno", pageBean.getStart());
pmap.put("pageSize", 8);
if(zhanghao==null||zhanghao.equals("")){pmap.put("zhanghao", null);}else{pmap.put("zhanghao", zhanghao);}
if(mima==null||mima.equals("")){pmap.put("mima", null);}else{pmap.put("mima", mima);}
if(xingming==null||xingming.equals("")){pmap.put("xingming", null);}else{pmap.put("xingming", xingming);}
if(xingbie==null||xingbie.equals("")){pmap.put("xingbie", null);}else{pmap.put("xingbie", xingbie);}
if(dianhua==null||dianhua.equals("")){pmap.put("dianhua", null);}else{pmap.put("dianhua", dianhua);}
if(shenfenzheng==null||shenfenzheng.equals("")){pmap.put("shenfenzheng", null);}else{pmap.put("shenfenzheng", shenfenzheng);}
if(zhaopian==null||zhaopian.equals("")){pmap.put("zhaopian", null);}else{pmap.put("zhaopian", zhaopian);}
int total=huiyuanxinxiService.getCount(pmap);
pageBean.setTotal(total);
List<Huiyuanxinxi> list=huiyuanxinxiService.getByPage(pmap);
map.put("page", pageBean);
map.put("list", list);
session.setAttribute("p", 1);
return "huiyuanxinxilisttp";
}
@RequestMapping("deleteHuiyuanxinxi.do")
public String deleteHuiyuanxinxi(int id,HttpServletRequest request,HttpSession session){
huiyuanxinxiService.delete(id);
session.setAttribute("backxx", "删除成功");session.setAttribute("backurl", request.getHeader("Referer"));return "redirect:postback.jsp";
}
@RequestMapping("quchongHuiyuanxinxi.do")
public void quchongHuiyuanxinxi(Huiyuanxinxi huiyuanxinxi,HttpServletResponse response){
Map<String,Object> map=new HashMap<String,Object>();
map.put("zhanghao", huiyuanxinxi.getZhanghao());
System.out.println("zhanghao==="+huiyuanxinxi.getZhanghao());
System.out.println("zhanghao222==="+huiyuanxinxiService.quchongHuiyuanxinxi(map));
JSONObject obj=new JSONObject();
if(huiyuanxinxiService.quchongHuiyuanxinxi(map)!=null){
obj.put("info", "ng");
}else{
obj.put("info", "账号可以用!");
}
response.setContentType("text/html;charset=utf-8");
PrintWriter out=null;
try {
out=response.getWriter();
out.print(obj);
out.flush();
} catch (IOException e) {
e.printStackTrace();
}finally{
out.close();
}
}
}
结论
随着人们线上互动的逐渐频繁,相比文字的信息传递图片的内容呈现会更加直观,且可以借助图片分享来增进彼此之间的关系,同时为了记录下日常生活的美好时刻很多人都通过电子相册的方式进行图片内容的管理。然而在实际应用过程中,大量的免费电子相册平台都是绑定个人社交平台来使用的,因此安全性和专业性都不足,然而专业的电子相册平台往往需要收取一定的费用。结合当前电子相册的应用现状,本文借助SSM框架结构以及JSP开发技术实现了个性化电子相册平台的开发设计,通过相册信息管理、相片上传、评论管理等多个功能模块实现了高效便捷的相片内容管理,同时可以借助线上平台信息查询的优势实现快速的照片信息查询,有效利用电子相册平台实现智能的图片信息管理。