好程序设计擅长JAVA(SSM,SSH,SPRINGBOOT)、PYTHON(DJANGO/FLASK)、THINKPHP、C#、安卓、微信小程序、MYSQL、SQLSERVER等,欢迎咨询
每天都要认真学习,才能更加进步。└(^o^)┘
在工作和学习的过程中要善于思考,勤于学习。并做出适当的记录,才能最快速的学习并掌握一项知识。希望在这个平台和大家一起共同成长,和大家分享一个SSM(MYECLIPSE)项目,该项目名称为网络相册管理系统。先简单介绍一下这个项目的背景:随着网络科技的发展,云端技术的完善,越来越多的网络用户喜欢将文件等信息放置在网络上,既方便下载浏览,又减少携带的麻烦。这其中又以上传相片至网络最为兴盛,在网络上晒相片已经成为一种时尚潮流,这记录着用户的生活经历和足迹,不但能起纪念作用,更是与他人分享自己人生经历与知识的渠道。随着国外著名图片分享应用Instagram不断火热,关于网络分享与存储图片的应用也慢慢增多,网络相册服务也因此应运而生并日趋盛行。网络相册不但能解决用户自身的存储问题,增进人与人之间的联系分享朋友快乐的重要途径,更体现着互联网分享的精神。由于信息交流的多样化,特别是电子信息技术的发展,同时,随着数据库技术,客户/服务器技术等的发展,使得网络相册系统的功能更加完善。网络相册管理系统的特点是从相册管理的角度出发,通过数据库将几乎所有与之相关的数据统一管理起来,从而形成了集成的信息集。网络相册管理系统较好的用户界面,信息共享,信息管理使得管理人员和用户使用更加的便捷,而且网络相册系统的可操作性非常强,针对不同教育程度的人群。本文以此为背景,采用软件工程的方法,结合实际,从网络相册发展的现状和功能分析出发,确立网络相册系统建设的目标。
大家在学习中编写SSM(MYECLIPSE)框架的项目时常选用的开发工具是MYECLIPSE,从上面的项目背景中,我们可以得出网络相册管理系统拥有 后台。才能让用户完整的使用该项目。
网络相册管理系统项目的登录角色包括了管理员、用户,系统中所有的用户都是拥有账号密码字段的。其中管理员只能在后台和数据库进行添加。而其余的登录角色可以通过注册的方式成功拥有系统账号密码。
在系统的功能中,相册是一个重要的表。这个表使得用户、类型关联了起来。在相册表中相册的用户与用户的mingzi字段对应、相册的用户id与用户的id字段对应、相册的类型与类型的mingzi字段对应、相册的类型id与类型的id字段对应
,他们拥有关联关系。为了完成系统的功能需要为相册设置图片表,记录图片信息。在图片表中定义了两者的关联关系,其中图片的相册与相册的biaoti字段对应、图片的相册id与相册的id字段对应
。
总结得出网络相册管理系统项目所有数据为:管理员(admin)、用户(yonghu)、相册(xiangce)、类型(leixing)、图片(tupian)
网络相册管理系统之管理员表
字段名 | 类型 | 属性 | 描述
id | int(11) | PRIMARY KEY | 管理员id
username | varchar(255) | | 账号
password | varchar(255) | | 密码
网络相册管理系统之用户表
字段名 | 类型 | 属性 | 描述
id | int(11) | PRIMARY KEY | 用户id
mingzi | varchar(255) | | 名字
username | varchar(255) | | 账号
password | varchar(255) | | 密码
jieshao | varchar(255) | | 介绍
网络相册管理系统之相册表
字段名 | 类型 | 属性 | 描述
id | int(11) | PRIMARY KEY | 相册id
biaoti | varchar(255) | | 标题
jieshao | varchar(255) | | 介绍
yonghu | varchar(255) | | 用户
yonghuid | varchar(255) | | 用户id
leixing | varchar(255) | | 类型
leixingid | varchar(255) | | 类型id
网络相册管理系统之类型表
字段名 | 类型 | 属性 | 描述
id | int(11) | PRIMARY KEY | 类型id
mingzi | varchar(255) | | 名字
网络相册管理系统之图片表
字段名 | 类型 | 属性 | 描述
id | int(11) | PRIMARY KEY | 图片id
biaoti | varchar(255) | | 标题
miaoshu | varchar(255) | | 描述
shangchuanshijian | varchar(255) | | 上传时间
tupian | varchar(255) | | 图片
xiangce | varchar(255) | | 相册
xiangceid | varchar(255) | | 相册id
sql建表语句如下:
[cc]SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- ----------------------------
-- Table structure for ggwangluoxiangce
-- ----------------------------
DROP TABLE IF EXISTS `t_admin`;
CREATE TABLE `t_admin` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '管理员id',`username` varchar(255) DEFAULT NULL COMMENT '账号',`password` varchar(255) DEFAULT NULL COMMENT '密码',PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8 COMMENT='管理员';
-- ----------------------------
DROP TABLE IF EXISTS `t_yonghu`;
CREATE TABLE `t_yonghu` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '用户id',`mingzi` varchar(255) DEFAULT NULL COMMENT '名字',`username` varchar(255) DEFAULT NULL COMMENT '账号',`password` varchar(255) DEFAULT NULL COMMENT '密码',`jieshao` varchar(255) DEFAULT NULL COMMENT '介绍',PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8 COMMENT='用户';
-- ----------------------------
DROP TABLE IF EXISTS `t_xiangce`;
CREATE TABLE `t_xiangce` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '相册id',`biaoti` varchar(255) DEFAULT NULL COMMENT '标题',`jieshao` varchar(500) DEFAULT NULL COMMENT '介绍',`yonghu` varchar(255) DEFAULT NULL COMMENT '用户',`yonghuid` int(11) DEFAULT NULL COMMENT '用户id',`leixing` varchar(255) DEFAULT NULL COMMENT '类型',`leixingid` int(11) DEFAULT NULL COMMENT '类型id',PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8 COMMENT='相册';
-- ----------------------------
DROP TABLE IF EXISTS `t_leixing`;
CREATE TABLE `t_leixing` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '类型id',`mingzi` varchar(255) DEFAULT NULL COMMENT '名字',PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8 COMMENT='类型';
-- ----------------------------
DROP TABLE IF EXISTS `t_tupian`;
CREATE TABLE `t_tupian` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '图片id',`biaoti` varchar(255) DEFAULT NULL COMMENT '标题',`miaoshu` varchar(500) DEFAULT NULL COMMENT '描述',`shangchuanshijian` varchar(255) DEFAULT NULL COMMENT '上传时间',`tupian` varchar(255) DEFAULT NULL COMMENT '图片',`xiangce` varchar(255) DEFAULT NULL COMMENT '相册',`xiangceid` int(11) DEFAULT NULL COMMENT '相册id',PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8 COMMENT='图片';
[/cc]
查询图片模块:
图片的查询模块实现方式为,在页面中发起tupianmanage.action请求。通过该请求,响应服务器tupianController类中的tupianmanage,在该方法中通过selectByexample进行数据的查询操作。将所有的图片信息查询后,保存到request中的tupianall中,在页面中进行展示,返回tupianmanage.jsp,该部分核心代码如下所示:
生成图片样例类,通过example定义查询条件TupianExample example = new TupianExample();
通过tupiandao的selectByExample方法查询出所有的图片信息List tupianall = tupiandao.selectByExample(example);
将图片信息,保存到request中,在页面通过foreach方法进行展示request.setAttribute("tupianall", tupianall);
返回图片管理界面
return "forward:/tupianmanage.action";
图片控制层:
[cc]package org.mypro.front;
import java.io.File;
import java.io.IOException;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Collections;
import java.util.Date;
import java.util.List;
import javax.jms.Session;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.mypro.service.TupianServiceImp;
import org.mypro.entity.Tupian;
import org.mypro.entity.TupianExample;
import org.mypro.entity.Xiangce;
import org.mypro.entity.XiangceExample;
import org.mypro.dao.XiangceMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.multipart.MultipartFile;
@Controller
@RequestMapping(value = "/")
public class TupianController {
private static final Log logger = LogFactory.getLog(TupianController.class);
@Autowired
private TupianServiceImp tupianservice;
@RequestMapping(value = "addtupian")
public String addtupian(HttpServletRequest request, HttpServletResponse response,HttpSession session,String backurl) {
logger.debug("TupianController.addtupian ......");
tupianservice.addtupian(request,session);
if(backurl != && backurl.indexOf("addtupian.action") == -1){
return "forward:/" + backurl;}
return "addtupian";
}
@RequestMapping(value = "addtupianact")
public String addtupianact(HttpServletRequest request,HttpSession session, HttpServletResponse response,Tupian tupian,String backurl,MultipartFile tupianfile) throws IOException {
logger.debug("TupianController.addtupianact ......");
tupianservice.addtupianact(request,session,tupian,tupianfile);
if(backurl != && backurl.indexOf("addtupianact.action") == -1){
return "forward:/" + backurl;}
return "forward:/tupianmanage.action";
}
@RequestMapping(value = "tupianmanage")
public String tupianmanage(HttpServletRequest request,HttpSession session, HttpServletResponse response,String backurl) {
logger.debug("TupianController.tupianmanage ......");
tupianservice.tupianmanage(request,session);
if(backurl != && backurl.indexOf("tupianmanage.action") == -1){
return "forward:/" + backurl;}
return "tupianmanage";
}
@RequestMapping(value = "tupianview")
public String tupianview(HttpServletRequest request,HttpSession session, HttpServletResponse response,String backurl) {
logger.debug("TupianController.tupianview ......");
tupianservice.tupianview(request,session);
if(backurl != && backurl.indexOf("tupianview.action") == -1){
return "forward:/" + backurl;}
return "tupianview";
}
@RequestMapping(value = "updatetupian")
public String updatetupian(HttpServletRequest request, HttpServletResponse response,HttpSession session,int id,String backurl){
logger.debug("TupianController.updatetupian ......");
tupianservice.updatetupian(request,session,id);
if(backurl != && backurl.indexOf("updatetupian.action") == -1){
return "forward:/" + backurl;}
return "updatetupian";
}
@RequestMapping(value = "updatetupianact")
public String updatetupianact(HttpServletRequest request, HttpServletResponse response,Tupian tupian,HttpSession session,String backurl,MultipartFile tupianfile) throws IOException {
logger.debug("TupianController.updatetupianact ......");
tupianservice.updatetupianact(request,tupian,session,tupianfile);
if(backurl != && backurl.indexOf("updatetupianact.action") == -1){
return "forward:/" + backurl;}
return "forward:/tupianmanage.action";
}
@RequestMapping(value = "deletetupian")
public String deletetupian(HttpServletRequest request, HttpServletResponse response,HttpSession session,int id,String backurl){
logger.debug("TupianController.deletetupian ......");
tupianservice.deletetupian(request,session,id);
if(backurl != && backurl.indexOf("deletetupian.action") == -1){
return "forward:/" + backurl;}
return "forward:/tupianmanage.action";
}
@RequestMapping(value = "searchtupian")
public String searchtupian(HttpServletRequest request, HttpServletResponse response,HttpSession session,String search,String backurl) {
logger.debug("TupianController.searchtupian ......");
tupianservice.searchtupian(request,session,search);
if(backurl != && backurl.indexOf("searchtupian.action") == -1){
return "forward:/" + backurl;}
return "searchtupian";
}
@RequestMapping(value = "tupiandetails")
public String tupiandetails(HttpServletRequest request,HttpSession session, HttpServletResponse response,int id,String backurl) {
logger.debug("TupianController.tupiandetails ......");
tupianservice.tupiandetails(request,session,id);
if(backurl != && backurl.indexOf("tupiandetails.action") == -1){
return "forward:/" + backurl;}
return "tupiandetails";
}
}[/cc]
如需源码,请联系站长
好程序设计,为你提供想要的效果
为你量身定制的程序设计
关于程序设计,我们将尽心尽力为你完成
十年程序经验,尽在好程序设计