一、源码特点
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] 用户列属性表格 | |||||
序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
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 | 否 | 联系地址 |
[表zyz] 志愿者列属性表格 | |||||
序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
1 | zyzid | INTEGER | 11 | 是 | 志愿者编号 |
2 | yhm | VARCHAR | 40 | 否 | 用户名 |
3 | mm | VARCHAR | 40 | 否 | 密码 |
4 | xm | VARCHAR | 40 | 否 | 姓名 |
5 | lxdh | VARCHAR | 40 | 否 | 联系电话 |
6 | lxdz | VARCHAR | 40 | 否 | 联系地址 |
7 | xb | VARCHAR | 40 | 否 | 性别 |
8 | nl | VARCHAR | 40 | 否 | 年龄 |
[表zyhd] 志愿活动列属性表格 | |||||
序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
1 | zyhdid | INTEGER | 11 | 是 | 志愿活动编号 |
2 | bt | VARCHAR | 40 | 否 | 标题 |
3 | nr | VARCHAR | 40 | 否 | 内容 |
4 | fbr | VARCHAR | 40 | 否 | 发布人 |
5 | fbsj | VARCHAR | 40 | 否 | 发布时间 |
6 | sm | VARCHAR | 40 | 否 | 说明 |
[表cjpd] 成绩评定列属性表格 | |||||
序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
1 | cjpdid | INTEGER | 11 | 是 | 成绩评定编号 |
2 | zyz | VARCHAR | 40 | 否 | 志愿者 |
3 | hd | VARCHAR | 40 | 否 | 活动 |
4 | cj | VARCHAR | 40 | 否 | 成绩 |
5 | fbsj | VARCHAR | 40 | 否 | 发布时间 |
6 | tjr | VARCHAR | 40 | 否 | 提交人 |
代码设计
@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
四 系统实现
源码获取 下方联系卡片↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓