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

四 系统实现

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

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

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

相关文章

Jmeter组件执行顺序与作用域

一、Jmeter重要组件 1&#xff09;配置元件---Config Element&#xff1a; 用于初始化默认值和变量&#xff0c;以便后续采样器使用。配置元件大其作用域的初始阶段处理&#xff0c;配置元件仅对其所在的测试树分支有效&#xff0c;如&#xff0c;在同一个作用域的任何采样器…

shareMouse 使用中遇到的问题

一、shareMouse 使用中遇到的问题 1、鼠标不能移动到另一个显示器 明明是两个显示器&#xff0c;但是 只显示一个&#xff0c;鼠标也不能移到另一个显示器上 后来&#xff0c; 设置了 wrap mouse pointer around display就好了&#xff0c;虽然还是显示一个显示器&#xff0c…

基于SpringBoot的图书推荐系统的

摘 要 网络信息技术的高速发展&#xff0c;使得高校图书馆的服务空间日益扩大&#xff0c;依据个人特点的针对性服务逐渐成为新服务模式的主导趋势。对于大多数用户而言&#xff0c;很难在大量的学术图书馆中快速找到他们想要的材料。另外&#xff0c;随着时代的不断发展&…

RocketMQ阅读源码前的准备

本文将讲解如何在IDEA中导入 RocketMQ 源码&#xff0c;并运行 Broker 和 NameServer&#xff0c;编写一个消息发送与消息消费的示例。 一. 源码导入及调试 1.1 导入源码 RocketMQ 原先是阿里巴巴集团内部的消息中间件&#xff0c;于2016年提交至Apache基金会孵化&#xff0…

高压功率放大器的应用领域有哪些

高压功率放大器是一种特殊的电子设备&#xff0c;用于放大低电压信号到较高的功率水平。它在许多应用领域中发挥着重要作用。下面西安安泰将详细介绍高压功率放大器的几个常见应用领域。 声学领域&#xff1a;高压功率放大器在声学领域中广泛应用。例如&#xff0c;在音响系统和…

第一节:认识微服务

一、微服务技术对比 Dubbo SpringCloudSpringCloudAlibaba注册中心zookeeper、Redis Eureka、ConsulNacos、Eureka服务远程调用Dubbo协议Feign&#xff08;http协议&#xff09;Dubbo、Feign配置中心无SpringCloudGateway、ZuulSpringCloudConfig、Nacos服务网…

VR 实现 Splash Screen 效果

文章目录 背景官方实现逆向分析 背景 手机 App 在实现 Splash Screen 的时候&#xff0c;目前都有成熟的方案可以参考&#xff0c;但是在做 VR 开发时&#xff0c;要如何实现一个 App 自己的 Splash Screen &#xff0c;下面是我们基于 PICO & OCULUS 进行业务开发时经过探…

继承 和 多肽(超重点 ! ! !)

[本节目标] 1.继承 2.组合 3.多肽 1.继承 1.1 为什么要继承 Java中使用类对现实世界中实体来进行描述&#xff0c;类经过实例化之后的产物对象&#xff0c;则可以用来表示现实中的实体&#xff0c;但是现实世界错综复杂&#xff0c;事物之间可能会存在一些关联&#xff0…

Prometheus+Grafana搭建日志采集

介绍 一、什么是日志数据采集 日志数据采集是指通过各种手段获取应用程序运行时产生的各类日志信息&#xff0c;并将这些信息存储到特定的地方&#xff0c;以便后续分析和使用。通常情况下&#xff0c;这些日志信息包括系统运行状态、错误信息、用户操作记录等等。通过对这些…

网络基础:网络通信基础

目录 1.网络通信基本单位 2.网络通信基础 3.调制技术 4.解调技术 5.载波调制 6.编码技术 6.1基本编码 6.2应用型编码 1.曼彻斯特编码 2.差分曼彻斯特编码 3.MLT-3编码 4.mB/nB编码 1.网络通信基本单位 Byte&#xff08;字节&#xff09;是用于计量存储容量的一种…

【动手学深度学习】(八)数值稳定和模型初始化

文章目录 一、理论知识 一、理论知识 1.神经网络的梯度 考虑如下有d层的神经网络 计算损失l关于参数Wt的梯度&#xff08;链式法则&#xff09; 2.数值稳定性常见的两个问题 3.梯度爆炸 4.梯度爆炸的问题 值超出阈值 对于16位浮点数尤为严重 对学习率敏感 如果学习率太大…

游戏反Frida注入检测方案

在游戏安全对抗过程中&#xff0c;有不少外挂的实现基于对游戏内存模块进行修改&#xff0c;这类外挂通常会使用内存修改器&#xff0c;除此之外&#xff0c;还有一种门槛相对更高、也更难检测的「注入挂」。 据FairGuard游戏安全数据统计&#xff0c;在游戏面临的众多安全风险…

oops-framework框架 之 创建项目(二)

引擎&#xff1a; CocosCreator 3.8.0 环境&#xff1a; Mac Gitee: oops-game-kit 构建 本篇博客将使用oops-game-kit 构建一个新的开发项目&#xff0c; 关于 oops-framework 框架的了解&#xff0c;可参考上篇博客&#xff1a; oops-framework框架 之 初始了解(一) 大概…

11.2每日一题(函数定义域)

因为等式的左边是单调增的&#xff0c;所以右边的等式也需要单调增从而确定函数的定义域

【C语言】【字符串函数的模拟实现】strcpy,strcat,strcmp,strncpy,strncat,strstr

1.strcpy char* strcpy(char*destination,const char* source)源字符串必须以’\0’结尾会将原字符串中的‘\0’拷贝到目标字符串中目标空间必须足够大&#xff0c;能放得下源字符串 模拟实现&#xff1a; char *my_strcpy(char* des,const char *sour) {char* retdes;asser…

接口测试探索基础

接口基础知识理解&#xff1a; 接口一般来说有两种&#xff1a;程序接口和协议接口 程序接口&#xff1a;程序内部的接口、倾向于方法间的调通信方式 协议接口&#xff1a;系统对外的接口、其他应用通过授权或认证后获取数据的方式 常见的的接口&#xff1a; 1、webService接口…

海云安谢朝海:开发安全领域大模型新实践 人工智能助力高效安全左移

2023年11月29日&#xff0c;2023中国&#xff08;深圳&#xff09;金融科技大会成功举行&#xff0c;该会议是深圳连续举办的第七届金融科技主题年度会议&#xff0c;也是2023深圳国际金融科技节重要活动之一。做好金融工作&#xff0c;需要兼顾创新与安全&#xff0c;当智能体…

Adobe:真正持续突破需要更多增长

如果我们调出 Adobe&#xff08;NASDAQ&#xff1a;ADBE &#xff09;的长期图表&#xff0c;我们会发现自 2011 年以来&#xff0c;长期投资者尤其获得了非常丰厚的回报。此外&#xff0c;该股票在去年 9 月为投资者提供了绝佳的机会由于股票在过去 14 个月里的回报率远超 100…

SQL Server 数据库,使用函数查询统计信息

4.1 在查询中使用函数 在前面章节已经学习了一些简单的增、删、改、查询的T-SOL.语句&#xff0c;但是为了更方便快捷地完 成大量的任务&#xff0c;SOLServer提供了一些内部函数&#xff0c;可以和SOLServer的SELECT语句联合使用&#xff0c;也可 以与UPDATE和INSERT一起使用&…

SQL Server 2016(分离和附加数据库)

1、实验环境。 基于上一个实验《SQL Server&#xff08;创建数据库&#xff09;》 2、需求描述。 class数据库的数据文件和事务日志文件都位于C:\db_class目录下。现在需要把class数据库的数据文件和事务日志文件分开存放&#xff0c;数据文件class.mdf存放于原位置&#xff0…