SSM图书捐赠网站系统开发mysql数据库web结构java编程计算机网页源码eclipse项目

一、源码特点
  SSM  图书捐赠网站系统是一套完善的信息系统,结合springMVC框架完成本系统,对理解JSP java编程开发语言有帮助系统采用SSM框架(MVC模式开发),系统具有完整的源代码和数据库
,系统主要采用B/S模式开发。

ssm图书捐赠系统1


前段主要技术 html.css jquery
后端主要技术 SSM
数据库 mysql
开发工具 eclipse  JDK1.8 TOMCAT 8.5

二、功能介绍


1.需要用户实现登录,注册功能,(受助人,志愿者)
2.还有图书的管理(增删改查)和图书的信息
3.用户的管理(普通用户和管理员用户以及用户的增删改查)
用户如果忘记密码,管理员可以帮用户初始化固定密码。
普通用户就是志愿者用户还有需要帮助人的基本信息,个人和团体也可以
在网站前台报名注册,管理员审核通过之后才能登录,没有审核通过的无效
管理员可以根据条件对系统志愿者进行搜索,按照地区统计,职业统计
4.还有赠书管理,捐赠的书籍信息
5.受助信息管理,受助人的基本信息,需要的书籍信息,受助人发布受助信息必须要
管理员审核才能发布,否则无效
6.救助管理(发布受助人需要书籍的详细信息,在前台公开展示并接受
系统中其他志愿者和爱心人士的捐赠)
7.留言管理,同样也是需要审核
9.审核系统(志愿者注册后审核通过就可以参加救助捐赠书籍,发布救助捐赠信息,参加活动,审核志愿者上传的图书是否完好)

数据库设计 

(1)字典信息表如表4.1所示:

表4.1 字典信息表

序号

字段名称

数据类型

长度

主键

描述

1

zdid

INTEGER

11

字典编号

2

zd

VARCHAR

40

字典

3

lx

VARCHAR

40

类型

(2)用户信息表如表4.2所示:

表4.2 用户信息表

序号

字段名称

数据类型

长度

主键

描述

1

yhid

INTEGER

11

用户编号

2

yhm

VARCHAR

40

用户名

3

mm

VARCHAR

40

密码

4

xm

VARCHAR

40

姓名

5

qx

VARCHAR

40

权限

6

lxdh

VARCHAR

40

联系电话

7

lxdz

VARCHAR

40

联系地址

8

zt

VARCHAR

40

状态

9

dq

VARCHAR

40

地区

10

zy

VARCHAR

40

职业

(3)图书信息表如表4.3所示:

表4.3 图书信息表

序号

字段名称

数据类型

长度

主键

描述

1

tsid

INTEGER

11

图书编号

2

sm

VARCHAR

40

书名

3

sh

VARCHAR

40

书号

4

tp

VARCHAR

40

图片

5

js

VARCHAR

40

介绍

6

zz

VARCHAR

40

作者

7

cbs

VARCHAR

40

出版社

(4)捐书信息表如表4.4所示:

表4.4 捐书信息表

序号

字段名称

数据类型

长度

主键

描述

1

jsxxid

INTEGER

11

捐书信息编号

2

bt

VARCHAR

40

标题

3

ts

VARCHAR

40

图书

4

sl

VARCHAR

40

数量

5

sm

VARCHAR

40

说明

6

yh

VARCHAR

40

用户

7

zt

VARCHAR

40

状态

8

sfwh

VARCHAR

40

是否完好

(5)受助信息表如表4.5所示:

表4.5 受助信息表

序号

字段名称

数据类型

长度

主键

描述

1

szxxid

INTEGER

11

受助信息编号

2

bt

VARCHAR

40

标题

3

ts

VARCHAR

40

图书

4

sl

VARCHAR

40

数量

5

sm

VARCHAR

40

说明

6

yh

VARCHAR

40

用户

7

zt

VARCHAR

40

状态

(6)参加活动信息表如表4.6所示:

表4.6 参加活动信息表

序号

字段名称

数据类型

长度

主键

描述

1

cjhdid

INTEGER

11

参加活动编号

2

ts

VARCHAR

40

活动

3

sl

VARCHAR

40

数量

4

yh

VARCHAR

40

用户

5

sm

VARCHAR

40

说明

6

cjsj

VARCHAR

40

参加时间

(7)救助捐赠数据信息表如表4.7所示:

表4.7 救助捐赠数据信息表

序号

字段名称

数据类型

长度

主键

描述

1

jzjzxxid

INTEGER

11

救助捐赠信息编号

2

bt

VARCHAR

40

标题

3

nr

VARCHAR

40

内容

4

fbsj

VARCHAR

40

发布时间

系统ER图

代码设计

@RequestMapping(value="/add")
	public String add(jzjzxx jzjzxx,HttpServletRequest request){
		Map<String,Object> map= new HashMap<String,Object>();
		//String name=(String)request.getParameter("name");

		map.put("jzjzxxid", jzjzxx.getJzjzxxid());//救助捐赠信息编号

		map.put("bt", jzjzxx.getBt());//标题

		map.put("nr", jzjzxx.getNr());//内容

		map.put("fbsj", jzjzxx.getFbsj());//发布时间



		String jzjzxxid=(String)jzjzxx.getJzjzxxid();//救助捐赠信息编号

		String bt=(String)jzjzxx.getBt();//标题

		String nr=(String)jzjzxx.getNr();//内容

		String fbsj=(String)jzjzxx.getFbsj();//发布时间

		jzjzxxdao.save(map);
		
		
		request.setAttribute("msg", "<script>alert('添加成功');</script>");
		System.out.println("addok");
		return "jzjzxx/jzjzxxadd";
	}
	
	/**删除 
	 * 
	 */
	@RequestMapping(value="/del")
	public String  del(Integer id,HttpServletRequest request,Map<String,Object> map){
	//	Map<String,Object> map= new HashMap<String,Object>();
		String a=(String)request.getParameter("keyid");
		id=Integer.parseInt(a);
		request.setAttribute("msg", "<script>alert('删除成功');</script>");
		jzjzxxdao.del(id);
		return selectall(null,map,request);
	}
	/**
	 * 修改jzjzxx信息
	 */
	@RequestMapping(value="/update")
	public String update(jzjzxx jzjzxx,HttpServletRequest request,Map<String,Object> map1){
		Map<String,Object> map= new HashMap<String,Object>();
		map.put("jzjzxxid", jzjzxx.getJzjzxxid());//救助捐赠信息编号

		map.put("bt", jzjzxx.getBt());//标题

		map.put("nr", jzjzxx.getNr());//内容

		map.put("fbsj", jzjzxx.getFbsj());//发布时间



		String jzjzxxid=(String)jzjzxx.getJzjzxxid();//救助捐赠信息编号

		String bt=(String)jzjzxx.getBt();//标题

		String nr=(String)jzjzxx.getNr();//内容

		String fbsj=(String)jzjzxx.getFbsj();//发布时间

		request.setAttribute("msg", "<script>alert('修改成功');</script>");
		jzjzxxdao.update(map);
		return selectall(null,map1,request);
	}
	/**
	 * 查询jzjzxx信息
	 */
	@RequestMapping(value="/modify")
	public String modify(Integer id,Map<String,Object> map,HttpServletRequest request){
		String keyid=(String)request.getParameter("keyid");
		List<Map<String,Object>> list= new  ArrayList<Map<String,Object>>();
		list=jzjzxxdao.select(Integer.parseInt(keyid));
		request.setAttribute("jzjzxxid", list.get(0).get("jzjzxxid"));//救助捐赠信息编号

		request.setAttribute("bt", list.get(0).get("bt"));//标题

		request.setAttribute("nr", list.get(0).get("nr"));//内容

		request.setAttribute("fbsj", list.get(0).get("fbsj"));//发布时间

		
		return "jzjzxx/jzjzxxmodify";
	}

mybatis 配置文件

<insert id="insertjzjzxx"  parameterType="java.util.Map">
 insert  into  jzjzxx(bt,nr,fbsj)  values(#{bt},#{nr},#{fbsj})
</insert>

<delete id="deljzjzxx" parameterType="int">
 delete  from  jzjzxx where jzjzxxid=#{jzjzxxid}
</delete>

<update id="updatejzjzxx" parameterType="java.util.Map">
update jzjzxx set bt=#{bt},nr=#{nr},fbsj=#{fbsj} where jzjzxxid=#{jzjzxxid}
</update>

<!--  查询返回的是 list<map> -->
<!-- resultType 就是返回查询结果的类型,而如果是resultMap=则返回的就是你定义的javabean  -->
<select  id="selectjzjzxx"  parameterType="int" resultType="java.util.Map">
  select  * from jzjzxx where jzjzxxid=#{jzjzxxid}
</select>

三、注意事项
1、管理员账号:admin密码:admin 数据库配置文件datasource.properties
2、开发环境为eclipse开发,数据库为mysql,使用java语言开发。
3、数据库文件名是jspssmsxca.sql 系统名称ssmsxca
4、地址:http://127.0.0.1:8080/ssmsxca/qt/index.jsp

四 系统实现

源码获取 下方联系卡片↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/192015.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

BigDecimal的使用全面总结

BigDecimal BigDecimal可以表示任意大小&#xff0c;任意精度的有符号十进制数。所以不用怕精度问题&#xff0c;也不用怕大小问题&#xff0c;放心使用就行了。就是要注意的是&#xff0c;使用的时候有一些注意点。还有就是要注意避免创建的时候存在精度问题&#xff0c;尤其…

LeetCode Hot100 124.二叉树中的最大路径和

题目&#xff1a; 二叉树中的 路径 被定义为一条节点序列&#xff0c;序列中每对相邻节点之间都存在一条边。同一个节点在一条路径序列中 至多出现一次 。该路径 至少包含一个 节点&#xff0c;且不一定经过根节点。 路径和 是路径中各节点值的总和。 给你一个二叉树的根节点…

一起学docker系列之十docker安装tomcat实践

目录 前言1 安装tomcat的步骤步骤 1: 查找并拉取 Tomcat 镜像步骤 2: 运行 Tomcat 容器步骤 3: 管理 Tomcat 容器步骤 4: 访问 Tomcat 首页 2 解决访问首页的404访问不到的问题2.1 Tomcat 10 的默认设置问题2.2 端口映射或防火墙问题 3 推荐使用 Tomcat 8.5 版本总结 前言 当安…

玉渊谭天对电影色彩分析的“蚊香图”复现-python

视频教程链接&#xff1a;https://www.bilibili.com/video/BV1Lu4y1t7FG/ 最终的实现效果如下&#xff1a; 前几天刷抖音刷到了玉渊谭天对于电影抽取画面制作“蚊香图”&#xff0c;相关视频片段如下。 这种制作”蚊香图“的特效当时有点触动到到我&#xff0c;根据色彩来分…

【服务器能干什么】搭建一个短网址平台,可以查看数据详情!

昨天在 YouTube 上看到又一个搭建自己短网址的视频教程&#xff0c;用的是开源的 polr&#xff0c;但是按照步骤一步步搭建下来&#xff0c;最后一步都会出现 顺哥轻创 PLAINTEXT Whoops, looks like something went wrong百度、谷歌查了一圈也没找到有效的解决方法。&#x…

qt pdf 模块简介

文章目录 1. 技术平台2. Qt pdf 模块3. cmake 使用模块4. 许可证5. 简单示例5.1 CMakeLists.txt5.2 main.cpp 6. 总结 1. 技术平台 项目说明OSwin10 x64Qt6.6compilermsvc2022构建工具cmake 2. Qt pdf 模块 Qt PDF模块包含用于呈现PDF文档的类和函数。 QPdfDocument 类加载P…

浏览器中实现可视化的方式有哪几种?带你盘点一下

前言 &#x1f4eb; 大家好&#xff0c;我是南木元元&#xff0c;热衷分享有趣实用的文章&#xff0c;希望大家多多支持&#xff0c;一起进步&#xff01; &#x1f345; 个人主页&#xff1a;南木元元 目录 可视化的含义 浏览器中实现可视化的4种方式 1. HTMLCSS 2. SVG …

Java小游戏 王者荣耀

GameFrame类 所需图片&#xff1a; package 王者荣耀;import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.io.File; import java.util.ArrayLis…

霍夫丁不等式(Hoeffding‘s inequality)

参考资料&#xff1a;Hoeffdings inequality | encyclopedia article by TheFreeDictionary 霍夫丁不等式&#xff08;Hoeffdings inequality&#xff09;描述了随机变量的和、与和的期望之差的上限&#xff1b;或者表述为&#xff1a;随机变量的均值、与均值的期望之差的上限。…

Node.js与npm的准备与操作

1.下载 Node.js官网&#xff1a;Node.jsNode.js is a JavaScript runtime built on Chromes V8 JavaScript engine.https://nodejs.org/en 打开后的界面如下&#xff1a; LTS&#xff08;Long Term Support&#xff09;&#xff1a;长期支持版&#xff0c;稳定版 Current&am…

IDEA出现cannot download sources解决方案

IDEA出现cannot download sources解决方案 问题描述 当我想看第三方库的源码的注释时需要下载源码。 点击Dodnload Sources后可能会出现cannot download sources的问题。 解决方案 这时我们只需在根目录下打开Terminal后执行下面一行代码 mvn dependency:resolve -Dclassi…

【element优化经验】el-dialog修改title样式

目录 前言 解决之路 1.把默认的这个图标隐藏&#xff0c;官方的api有这个属性&#xff1a;showClose值设置false. 2.title插槽定制&#xff1a;左边定制标题&#xff0c;右边定制按钮区域。 3.背景颜色修改&#xff1a;默认title是有padding的需要把它重写调&#xff0c;然…

QQ录屏保存到哪了?教你快速找到保存位置

qq录屏是许多用户常用的屏幕录制工具&#xff0c;可是一旦录制结束&#xff0c;许多人不清楚如何找到和管理录制的视频文件。那么&#xff0c;您知道qq录屏保存到哪了吗&#xff1f;本文将深入研究qq录制视频功能&#xff0c;以帮助您了解如何存储和管理这些重要的录制视频文件…

网络爬虫(Python:Selenium、Scrapy框架;爬虫与反爬虫笔记)

网络爬虫&#xff08;Python&#xff1a;Selenium、Scrapy框架&#xff1b;爬虫与反爬虫笔记&#xff09; SeleniumWebDriver 对象提供的相关方法定位元素ActionChains的基本使用selenium显示等待和隐式等待显示等待隐式等待 Scrapy&#xff08;异步网络爬虫框架&#xff09;Sc…

AIGC|LangChain新手入门指南,5分钟速读版!

如果你用大语言模型来构建AI应用&#xff0c;那你一定不可能绕过LangChain,LangChain是现在最热门的AI应用框架之一&#xff0c;去年年底才刚刚发布&#xff0c;它在github上已经有了4.6万颗星的点赞了&#xff0c;在github社区上&#xff0c;每天都有众多大佬&#xff0c;用它…

数据结构 | 堆排序

数据结构 | 堆排序 文章目录 数据结构 | 堆排序建立大堆排序结果以及全部代码 如果没有看过堆的实现的话可以先看前面的一章堆的实现&#xff0c;然后再来看这个堆排序&#xff0c;都是比较简单的~~ 这里堆排序首先建堆&#xff0c;建堆是要建小堆还是大堆呢&#xff1f; 在堆排…

HT97226 免输出电容立体声耳机放大器的应用与曲线

HT97226应用&#xff1a; ・耳机 ・多媒体音频接口 ・机顶盒 ・ 蓝光/DVD播放器 ・LCD电视 ・音频消费电子产品 HT97226应用图于曲线&#xff1a; HT97226是一款差分输入/单端输入、可直接输出驱动的耳机放大器。5V供…

在vue页面中添加组件到底有多方便

修改vue写的前端页面到底有多方便&#xff1f;如果熟练的话&#xff0c;出乎你想象的快。 原来的页面&#xff1a;/admin/stock 原来的文件地址&#xff1a;src\views\admin\stock\Stock.vue 另一个页面有个入库功能&#xff0c;需要转移到上面的页面中&#xff1a; 路径&…

MindStudio学习记录三:推理应用开发 acl mindx sdk

1.推理应用流程 1.1.创建工程 1.2.模型转换 1.3代码开发 1.3.1ACL代码 1.3.2MindX SDK开发 可视化模块化设计 中间的图片与处理 是基于AIPP的可视化处理 1.5.编译 交叉编译 1.6.运行与调试 1.7 调优工具 profiling性能分析 2.开发举例 resnet-50 2.1 准备工程 2.2.准备模型…

C#-基础及扩展合集(持续更新)

一、基础 Ⅰ 关键字 1、record record&#xff08;记录&#xff09;&#xff0c;编译器会在后台创建一个类。支持类似于结构的值定义&#xff0c;但被实现为一个类&#xff0c;方便创建不可变类型&#xff0c;成员在初始化后不能再被改变 &#xff08;C#9新增&#xff09; …
最新文章