SSM志愿者系统开发mysql数据库web结构java编程计算机网页源码eclipse项目

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

ssm志愿者服务网站系统


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

二、功能介绍
(1)用户管理:对用户信息进行添加、删除、修改和查看
(2)志愿者管理:对志愿者信息进行添加、删除、修改和查看
(3)志愿活动管理:对志愿活动信息进行添加、删除、修改和查看
(4)成绩评定管理:对成绩评定信息进行添加、删除、修改和查看
(5)用户注册、登录、个人信息修改

数据库设计

[表yonghu] 用户列属性表格

序号字段名称数据类型长度主键描述
1yhidINTEGER11用户编号
2yhmVARCHAR40用户名
3mmVARCHAR40密码
4xmVARCHAR40姓名
5qxVARCHAR40权限
6lxdhVARCHAR40联系电话
7lxdzVARCHAR40联系地址

[表zyz] 志愿者列属性表格

序号字段名称数据类型长度主键描述
1zyzidINTEGER11志愿者编号
2yhmVARCHAR40用户名
3mmVARCHAR40密码
4xmVARCHAR40姓名
5lxdhVARCHAR40联系电话
6lxdzVARCHAR40联系地址
7xbVARCHAR40性别
8nlVARCHAR40年龄

[表zyhd] 志愿活动列属性表格

序号字段名称数据类型长度主键描述
1zyhdidINTEGER11志愿活动编号
2btVARCHAR40标题
3nrVARCHAR40内容
4fbrVARCHAR40发布人
5fbsjVARCHAR40发布时间
6smVARCHAR40说明

[表cjpd] 成绩评定列属性表格

序号字段名称数据类型长度主键描述
1cjpdidINTEGER11成绩评定编号
2zyzVARCHAR40志愿者
3hdVARCHAR40活动
4cjVARCHAR40成绩
5fbsjVARCHAR40发布时间
6tjrVARCHAR40提交人

代码设计

@RequestMapping(value="/add")public String add(zyz zyz,HttpServletRequest request){Map<String,Object> map= new HashMap<String,Object>();//String name=(String)request.getParameter("name");map.put("zyzid", zyz.getZyzid());//志愿者编号map.put("yhm", zyz.getYhm());//用户名map.put("mm", zyz.getMm());//密码map.put("xm", zyz.getXm());//姓名map.put("lxdh", zyz.getLxdh());//联系电话map.put("lxdz", zyz.getLxdz());//联系地址map.put("xb", zyz.getXb());//性别map.put("nl", zyz.getNl());//年龄String zyzid=(String)zyz.getZyzid();//志愿者编号String yhm=(String)zyz.getYhm();//用户名String mm=(String)zyz.getMm();//密码String xm=(String)zyz.getXm();//姓名String lxdh=(String)zyz.getLxdh();//联系电话String lxdz=(String)zyz.getLxdz();//联系地址String xb=(String)zyz.getXb();//性别String nl=(String)zyz.getNl();//年龄DBO db=new DBO();String sql="";ResultSet rs=null;int num=0;try{sql="select count(1) as num from zyz where yhm='"+yhm+"'";rs=db.query(sql);if(rs.next()){num=rs.getInt("num");}if(num>0){request.setAttribute("msg", "<script>alert('添加失败、用户名重复');</script>");}else{zyzdao.save(map);request.setAttribute("msg", "<script>alert('添加成功');</script>");}}catch(Exception e){e.printStackTrace();}finally{db.close();}//request.setAttribute("msg", "<script>alert('添加成功');</script>");System.out.println("addok");return "zyz/zyzadd";}@RequestMapping(value="/zc")public String zc(zyz zyz,HttpServletRequest request){Map<String,Object> map= new HashMap<String,Object>();//String name=(String)request.getParameter("name");map.put("zyzid", zyz.getZyzid());//志愿者编号map.put("yhm", zyz.getYhm());//用户名map.put("mm", zyz.getMm());//密码map.put("xm", zyz.getXm());//姓名map.put("lxdh", zyz.getLxdh());//联系电话map.put("lxdz", zyz.getLxdz());//联系地址map.put("xb", zyz.getXb());//性别map.put("nl", zyz.getNl());//年龄String zyzid=(String)zyz.getZyzid();//志愿者编号String yhm=(String)zyz.getYhm();//用户名String mm=(String)zyz.getMm();//密码String xm=(String)zyz.getXm();//姓名String lxdh=(String)zyz.getLxdh();//联系电话String lxdz=(String)zyz.getLxdz();//联系地址String xb=(String)zyz.getXb();//性别String nl=(String)zyz.getNl();//年龄DBO db=new DBO();String sql="";ResultSet rs=null;int num=0;try{sql="select count(1) as num from zyz where yhm='"+yhm+"'";rs=db.query(sql);if(rs.next()){num=rs.getInt("num");}if(num>0){request.setAttribute("msg", "<script>alert('添加失败、用户名重复');</script>");}else{zyzdao.save(map);request.setAttribute("msg", "<script>alert('添加成功');</script>");}}catch(Exception e){e.printStackTrace();}finally{db.close();}//request.setAttribute("msg", "<script>alert('添加成功');</script>");System.out.println("addok");return "login";}/**删除 * */@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>");zyzdao.del(id);return selectall(null,map,request);}

mybatis 配置

<!-- 添加用户信息 -->
<insert id="insertzyz"  parameterType="java.util.Map">insert  into  zyz(yhm,mm,xm,lxdh,lxdz,xb,nl)  values(#{yhm},#{mm},#{xm},#{lxdh},#{lxdz},#{xb},#{nl})
</insert><delete id="delzyz" parameterType="int">delete  from  zyz where zyzid=#{zyzid}
</delete><update id="updatezyz" parameterType="java.util.Map">
update zyz set yhm=#{yhm},mm=#{mm},xm=#{xm},lxdh=#{lxdh},lxdz=#{lxdz},xb=#{xb},nl=#{nl} where zyzid=#{zyzid}
</update><!--  查询返回的是 list<map> -->
<!-- resultType 就是返回查询结果的类型,而如果是resultMap=则返回的就是你定义的javabean  -->
<select  id="selectzyz"  parameterType="int" resultType="java.util.Map">select  * from zyz where zyzid=#{zyzid}
</select><!-- resultType 就是返回查询结果的类型,而如果是resultMap=则返回的就是你定义的javabean  -->
<select  id="selectall"  parameterType="java.util.Map" resultType="java.util.Map">select  * from zyz where 1=1
<if test=" null != yhm and yhm!=''" >and yhm = #{yhm}
</if>
<if test=" null != mm and mm!=''" >and mm = #{mm}
</if>
<if test=" null != xm and xm!=''" >and xm = #{xm}
</if>
<if test=" null != lxdh and lxdh!=''" >and lxdh = #{lxdh}
</if>
<if test=" null != lxdz and lxdz!=''" >and lxdz = #{lxdz}
</if>
<if test=" null != xb and xb!=''" >and xb = #{xb}
</if>
<if test=" null != nl and nl!=''" >and nl = #{nl}
</if></select>

jsp页面展现设计

   <table width="100%" border="0" cellspacing="0" cellpadding="0"  id="main-tab"><tr><th align="center" valign="middle" class="borderright">用户名</th><th align="center" valign="middle" class="borderright">密码</th><th align="center" valign="middle" class="borderright">姓名</th><th align="center" valign="middle" class="borderright">联系电话</th><th align="center" valign="middle" class="borderright">联系地址</th><th align="center" valign="middle" class="borderright">性别</th><th align="center" valign="middle" class="borderright">年龄</th><th align="center" valign="middle" class="borderright">操作</th></tr><tbody id="table2"><c:forEach items="${mylist}" var="mymap" varStatus="status">  <tr  onMouseOut="this.style.backgroundColor='#ffffff'" onMouseOver="this.style.backgroundColor='#edf5ff'"><td  align="center" height="28"    class="borderright borderbottom" >${mymap.yhm}</td><td  align="center" height="28"    class="borderright borderbottom" >${mymap.mm}</td><td  align="center" height="28"    class="borderright borderbottom" >${mymap.xm}</td><td  align="center" height="28"    class="borderright borderbottom" >${mymap.lxdh}</td><td  align="center" height="28"    class="borderright borderbottom" >${mymap.lxdz}</td><td  align="center" height="28"    class="borderright borderbottom" >${mymap.xb}</td><td  align="center" height="28"    class="borderright borderbottom" >${mymap.nl}</td><td align="center"  class="borderbottom"  ><a href="<%= request.getContextPath()%>/zyz/del?keyid=${mymap.zyzid}"  onClick="javascript:if(confirm('是否删除')){return true;} else{return false;}">删除</a>|
<a href="<%= request.getContextPath()%>/zyz/modify?keyid=${mymap.zyzid}"  >修改</a>|<a href="<%= request.getContextPath()%>/zyz/detail?keyid=${mymap.zyzid}"  >详情</a></td></tr></c:forEach> </tbody></table>


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

四 系统实现

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

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GPT 中文提示词技巧:参照 OpenAI 官方教程

前言 搜了半天什么 prompt engineering 的课&#xff0c;最后会发现 gpt 官方其实是有 prompt 教程的。因此本文主要是学习这篇教程。 概述 - OpenAI API 部分案例是参考&#xff1a;根据吴恩达老师教程总结出中文版prompt教程_哔哩哔哩_bilibili up主的内容。 一、尽可能清…

程序员养生指南:代码世界中的健康之道

作为程序员&#xff0c;长时间坐姿、高强度的思维劳动和熬夜加班是我们日常工作的常态&#xff0c;但这也带来了一系列的亚健康问题。在代码的世界里&#xff0c;如何保持健康&#xff0c;成为了我们必须面对的挑战。本文将分享一些程序员养生的实用指南&#xff0c;助你在代码…

postman接口测试教程与实例分享

postman 的界面图 各个功能区的使用如下&#xff1a; 快捷区&#xff1a; 快捷区提供常用的操作入口&#xff0c;包括运行收藏夹的一组测试数据&#xff0c;导入别人共享的收藏夹测试数据&#xff08;Import from file, Import from folder, Import from link等&#xff09;&…

2023年产业数据价值化峰会暨数栖大会-核心PPT资料下载

一、峰会简介 本次大会由主论坛和3场分论坛组成&#xff0c;嘉宾阵容强大&#xff0c;内容丰富多彩。来自政企学界的百名专家从产学研用多种维度对企业数据管理、产业数据资源化建设等视角展开。大会围绕“产业数据价值化”为主题&#xff0c;秉持“让数据用起来”的使命&…

图扑参展高交会-全球清洁能源创新博览会

“相聚鹏城深圳&#xff0c;共享能源盛宴” 第二十五届中国国际高新技术成果交易会(简称“高交会”)于 11 月 15-18 日在深圳盛大开幕。高交会由商务部、科学技术部、工业和信息化部、国家发展改革委、农业农村部、国家知识产权局、中国科学院、中国工程院和深圳市人民政府共同…

Nacos多数据源插件

Nacos从2.2.0版本开始,可通过SPI机制注入多数据源实现插件,并在引入对应数据源实现后,便可在Nacos启动时通过读取application.properties配置文件中spring.datasource.platform配置项选择加载对应多数据源插件.本文档详细介绍一个多数据源插件如何实现以及如何使其生效。 注意:…

scrapyd及gerapy的使用及docker-compse部署

一、scrapyd的介绍 scrapyd是一个用于部署和运行scrapy爬虫的程序&#xff0c;它允许你通过JSON API(也即是web api)来部署爬虫项目和控制爬虫运行&#xff0c;scrapyd是一个守护进程&#xff0c;监听爬虫的运行和请求&#xff0c;然后启动进程来执行它们 scrapyd的安装 scr…

设置MATLAB启动时弹到上次退出时的工作文件夹

前言 每次关机前退出matlab后&#xff0c;下次打开matlab想完成剩余的工作&#xff0c;还需要回忆工作文件夹&#xff0c;或者依据上次打开的m文件之类的点击跳转&#xff0c;一次两次觉得没什么&#xff0c;多了就觉得很麻烦反感&#xff0c;参考官方知乎博主的解答&#xff…

解决dom4j新增xml节点自动加上xmlns=““的问题

文章目录 问题发生问题原因技术积累问题解决实战演示写在最后 问题发生 有pom.xml文件A&#xff0c;有符合pom.xm格式的l字符串B&#xff1b; 字符串B通过DocumentHelper.parseText(str)转成xml文件&#xff1b; pom.xml文件A通过add(node)方法添加第二步转换完后的pom.xml文件…

Linux系统的常见命令十二,用户管理、、权限设置和组管理

目录 用户管理权限设置组管理 本文主要介绍Linux系统的用户管理、权限设置和组管理。 用户管理 在Linux系统中&#xff0c;用户管理是一个非常重要的部分&#xff0c;它涉及到用户账号的创建、权限的管理、密码的设置等。下面是一些用户管理的基本操作&#xff1a; 添加用户&…

操作系统,并行性:两个或多个事件在同一时刻发生并发性:两个或多个事件在同一时间间隔内发生 ,就绪状态执行状态阻塞状态

操作系统的目的&#xff1a; 方便性 有效性 可扩展性 开放性 操作系统的作用&#xff1a; 作为用户和计算机硬件系统之间的接口 作为计算机系统资源的管理者 实现了对计算机资源的抽象 多道批处理系统的优缺点&#xff1a; 资源利用率高 系统吞吐量大 平均周转时间长 无交互…

Linux破解用户密码【基于redhat9】

Linux破解用户密码【基于redhat9】 操作步骤&#xff1a; 重启虚拟机&#xff0c;选择第二行&#xff0c;按下e键在倒数第二行的末尾加入 rd.break,按下ctrlx键&#xff0c;进入终端界面重新挂载/sysroot为读写切换到bash修改用户密码创建 /.autorelabel 文件使SELinux安全策略…