基于ssm的流浪动物管理系统、宠物管理系统、流浪动物救助网站、宠物领养管理系统,附源码+数据库,适合毕业设计、课程设计

1、项目介绍

基于ssm的流浪动物管理系统、宠物管理系统、流浪动物救助网站、宠物领养管理系统,有用户、志愿者、管理员三个角色。

用户功能有:登录、注册、个人信息管理、义卖商品管理、收容宠物查看、投喂宠物查看、活动查看

志愿者:登录、注册、个人信息管理、任务管理、宠物收容管理

管理员:登录、管理员管理、志愿者管理、用户管理、宠物管理、任务管理、活动管理、义卖商品管理、统计分析

2、技术框架

编程语言:Java

系统架构:B/S

前端框架:JSP+Layui

后端框架:SSM(springMVC+spring+Mybatis)

数据库:MySQL

Maven项目:否

运行环境:JDK8+MySQL5.6+Tomcat8.5+Idea

3、演示视频

B站视频地址:

基于ssm的流浪动物管理系统、宠物管理系统、流浪动物救助网站、宠物领养管理系统,附源码+数据库,适合毕业设计、课程设计

基于ssm的流浪动物管理系统、宠物管理系统、流浪动物救助网站、宠物领养管理系统,附源码+数据库,适合毕业设计、课程设计_哔哩哔哩_bilibili

4、项目截图

4.1、首页

基于ssm的流浪动物管理系统、宠物管理系统、流浪动物救助网站、宠物领养管理系统,附源码+数据库,适合毕业设计、课程设计_第1张图片

基于ssm的流浪动物管理系统、宠物管理系统、流浪动物救助网站、宠物领养管理系统,附源码+数据库,适合毕业设计、课程设计_第2张图片

4.2、收容宠物

基于ssm的流浪动物管理系统、宠物管理系统、流浪动物救助网站、宠物领养管理系统,附源码+数据库,适合毕业设计、课程设计_第3张图片

基于ssm的流浪动物管理系统、宠物管理系统、流浪动物救助网站、宠物领养管理系统,附源码+数据库,适合毕业设计、课程设计_第4张图片

4.3、投喂宠物

基于ssm的流浪动物管理系统、宠物管理系统、流浪动物救助网站、宠物领养管理系统,附源码+数据库,适合毕业设计、课程设计_第5张图片

基于ssm的流浪动物管理系统、宠物管理系统、流浪动物救助网站、宠物领养管理系统,附源码+数据库,适合毕业设计、课程设计_第6张图片

4.4、活动

基于ssm的流浪动物管理系统、宠物管理系统、流浪动物救助网站、宠物领养管理系统,附源码+数据库,适合毕业设计、课程设计_第7张图片

基于ssm的流浪动物管理系统、宠物管理系统、流浪动物救助网站、宠物领养管理系统,附源码+数据库,适合毕业设计、课程设计_第8张图片

4.5、义卖商品

基于ssm的流浪动物管理系统、宠物管理系统、流浪动物救助网站、宠物领养管理系统,附源码+数据库,适合毕业设计、课程设计_第9张图片

基于ssm的流浪动物管理系统、宠物管理系统、流浪动物救助网站、宠物领养管理系统,附源码+数据库,适合毕业设计、课程设计_第10张图片

基于ssm的流浪动物管理系统、宠物管理系统、流浪动物救助网站、宠物领养管理系统,附源码+数据库,适合毕业设计、课程设计_第11张图片

4.6、注册

基于ssm的流浪动物管理系统、宠物管理系统、流浪动物救助网站、宠物领养管理系统,附源码+数据库,适合毕业设计、课程设计_第12张图片

4.7、登录

基于ssm的流浪动物管理系统、宠物管理系统、流浪动物救助网站、宠物领养管理系统,附源码+数据库,适合毕业设计、课程设计_第13张图片

4.8、用户-个人信息

基于ssm的流浪动物管理系统、宠物管理系统、流浪动物救助网站、宠物领养管理系统,附源码+数据库,适合毕业设计、课程设计_第14张图片

4.9、用户-义卖商品管理

基于ssm的流浪动物管理系统、宠物管理系统、流浪动物救助网站、宠物领养管理系统,附源码+数据库,适合毕业设计、课程设计_第15张图片

基于ssm的流浪动物管理系统、宠物管理系统、流浪动物救助网站、宠物领养管理系统,附源码+数据库,适合毕业设计、课程设计_第16张图片

基于ssm的流浪动物管理系统、宠物管理系统、流浪动物救助网站、宠物领养管理系统,附源码+数据库,适合毕业设计、课程设计_第17张图片

基于ssm的流浪动物管理系统、宠物管理系统、流浪动物救助网站、宠物领养管理系统,附源码+数据库,适合毕业设计、课程设计_第18张图片

4.10、志愿者-个人信息管理

基于ssm的流浪动物管理系统、宠物管理系统、流浪动物救助网站、宠物领养管理系统,附源码+数据库,适合毕业设计、课程设计_第19张图片

4.11、志愿者-任务管理

基于ssm的流浪动物管理系统、宠物管理系统、流浪动物救助网站、宠物领养管理系统,附源码+数据库,适合毕业设计、课程设计_第20张图片

基于ssm的流浪动物管理系统、宠物管理系统、流浪动物救助网站、宠物领养管理系统,附源码+数据库,适合毕业设计、课程设计_第21张图片

4.12、志愿者-宠物收容

基于ssm的流浪动物管理系统、宠物管理系统、流浪动物救助网站、宠物领养管理系统,附源码+数据库,适合毕业设计、课程设计_第22张图片

4.13、管理员-管理员管理

基于ssm的流浪动物管理系统、宠物管理系统、流浪动物救助网站、宠物领养管理系统,附源码+数据库,适合毕业设计、课程设计_第23张图片

4.14、管理员-志愿者管理

基于ssm的流浪动物管理系统、宠物管理系统、流浪动物救助网站、宠物领养管理系统,附源码+数据库,适合毕业设计、课程设计_第24张图片

4.15、管理员-用户管理

基于ssm的流浪动物管理系统、宠物管理系统、流浪动物救助网站、宠物领养管理系统,附源码+数据库,适合毕业设计、课程设计_第25张图片

4.16、管理员-宠物管理

基于ssm的流浪动物管理系统、宠物管理系统、流浪动物救助网站、宠物领养管理系统,附源码+数据库,适合毕业设计、课程设计_第26张图片

基于ssm的流浪动物管理系统、宠物管理系统、流浪动物救助网站、宠物领养管理系统,附源码+数据库,适合毕业设计、课程设计_第27张图片

基于ssm的流浪动物管理系统、宠物管理系统、流浪动物救助网站、宠物领养管理系统,附源码+数据库,适合毕业设计、课程设计_第28张图片

4.17、管理员-任务管理

基于ssm的流浪动物管理系统、宠物管理系统、流浪动物救助网站、宠物领养管理系统,附源码+数据库,适合毕业设计、课程设计_第29张图片

基于ssm的流浪动物管理系统、宠物管理系统、流浪动物救助网站、宠物领养管理系统,附源码+数据库,适合毕业设计、课程设计_第30张图片

4.18、管理员-活动管理

基于ssm的流浪动物管理系统、宠物管理系统、流浪动物救助网站、宠物领养管理系统,附源码+数据库,适合毕业设计、课程设计_第31张图片

4.19、管理员-商品管理

基于ssm的流浪动物管理系统、宠物管理系统、流浪动物救助网站、宠物领养管理系统,附源码+数据库,适合毕业设计、课程设计_第32张图片

基于ssm的流浪动物管理系统、宠物管理系统、流浪动物救助网站、宠物领养管理系统,附源码+数据库,适合毕业设计、课程设计_第33张图片

4.20、管理员-统计分析

基于ssm的流浪动物管理系统、宠物管理系统、流浪动物救助网站、宠物领养管理系统,附源码+数据库,适合毕业设计、课程设计_第34张图片

基于ssm的流浪动物管理系统、宠物管理系统、流浪动物救助网站、宠物领养管理系统,附源码+数据库,适合毕业设计、课程设计_第35张图片

5、代码示例

package com.animal.controller;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.animal.dao.*;
import com.animal.model.*;
import com.animal.util.*;
@Controller
@RequestMapping("/alterPwd/alterPassword")
public class AlterPasswordController {
	@Autowired
	AdminInfoMapper adminInfoMapper;
	@Autowired
	VoInfoMapper voInfoMapper;
	@Autowired
	UserInfoMapper userInfoMapper;
	/**
	进入修改密码页面接口
	*/
	@RequestMapping("")
	public Object alterPassword( ModelMap modelMap,
	HttpServletRequest request, HttpServletResponse response) {
		LoginModel user = (LoginModel) request.getSession().getAttribute(CommonVal.sessionName);
		modelMap.addAttribute("login", user);
		return "alter_password";
	}
	/**
	提交修改密码请求接口
	*/
	@RequestMapping("submit")
	@ResponseBody
	public Object submit( ModelMap modelMap,String password1,String password2,
	String password3,
	HttpServletRequest request, HttpServletResponse response) {
		Map rs = new HashMap();
		LoginModel user = (LoginModel) request.getSession().getAttribute(CommonVal.sessionName);
		if(password1==null||password2==null||password3==null){
			rs.put("rs", 0);
			rs.put("msg", "系统异常");
			return rs;
		}
		if(password2.equals(password3)==false){
			rs.put("rs", 0);
			rs.put("msg", "两次密码输入不一致");
			return rs;
		}
		if(user==null){
			rs.put("rs", 0);
			rs.put("msg", "尚未登录");
			return rs;
		}
		if(user.getLoginType()==1){//管理员角色修改密码
			AdminInfo l  =adminInfoMapper.selectByPrimaryKey(user.getId());
			if(l.getPassword().equals(password1)==false){//检查该账号原有密码
				rs.put("code",0);
				rs.put("msg","旧密码输入错误");
				return rs;
			}
			if(l.getPassword().equals(password2)){//新密码不能和原密码一样
				rs.put("code",0);
				rs.put("msg","新密码不能和原密码一致");
				return rs;
			}
			l.setPassword(password2);//设置为新密码
			adminInfoMapper.updateByPrimaryKeySelective(l);
		}
		if(user.getLoginType()==2){//志愿者角色修改密码
			VoInfo l  =voInfoMapper.selectByPrimaryKey(user.getId());
			if(l.getPassword().equals(password1)==false){//检查该账号原有密码
				rs.put("code",0);
				rs.put("msg","旧密码输入错误");
				return rs;
			}
			if(l.getPassword().equals(password2)){//新密码不能和原密码一样
				rs.put("code",0);
				rs.put("msg","新密码不能和原密码一致");
				return rs;
			}
			l.setPassword(password2);//设置为新密码
			voInfoMapper.updateByPrimaryKeySelective(l);
		}
		if(user.getLoginType()==3){//用户角色修改密码
			UserInfo l  =userInfoMapper.selectByPrimaryKey(user.getId());
			if(l.getPassword().equals(password1)==false){//检查该账号原有密码
				rs.put("code",0);
				rs.put("msg","旧密码输入错误");
				return rs;
			}
			if(l.getPassword().equals(password2)){//新密码不能和原密码一样
				rs.put("code",0);
				rs.put("msg","新密码不能和原密码一致");
				return rs;
			}
			l.setPassword(password2);//设置为新密码
			userInfoMapper.updateByPrimaryKeySelective(l);
		}
		rs.put("rs", 1);
		rs.put("msg", "密码修改成功,会在下次登录生效");
		return rs;
	}
}
package com.animal.controller;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.animal.controller.LoginModel;
import com.animal.util.CommonVal;
import  com.animal.model.*;
import com.animal.dao.*;
import com.animal.util.*;
import java.text.SimpleDateFormat;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.ArrayList;
import java.util.*;
@Controller
@RequestMapping("/login")
public class LoginController{
	SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
	SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd");
	SimpleDateFormat sdf3 = new SimpleDateFormat("yyyyMMddHHmmss");
	@Autowired
	UserInfoMapper userInfoMapper;
	@Autowired
	AdminInfoMapper adminInfoMapper;
	@Autowired
	VoInfoMapper voInfoMapper;
	/**
	进入登录页面接口
	*/
	@RequestMapping(value="sys_login")
	public String sys_login(ModelMap modelMap,String msg){
		modelMap.addAttribute("msg",msg);
		return "sys_login";
	}
	/**
	退出接口
	*/
	@RequestMapping(value="sys_logout")
	public String sys_logout(ModelMap modelMap,String msg,HttpServletRequest request){
		request.getSession().removeAttribute(CommonVal.sessionName);
		return "redirect:/login/sys_login";
	}
	/**
	提交登录验证信息接口
	*/
	@RequestMapping("sysSubmit")
	@ResponseBody
	public Object sysSubmit(LoginModel user,String imgCode,ModelMap modelMap,HttpServletRequest request,HttpServletResponse response) {
		HttpSession session = request.getSession();
		Map rs = new HashMap();
		//图片验证码验证,从session中查询验证码并校验
		if(imgCode==null||imgCode.trim().equals("")){
			rs.put("code",0);
			rs.put("msg","请输入图片验证码");
			return rs;
		}
		if (!imgCode.toLowerCase().equals(request.getSession().getAttribute(CommonVal.code).toString().toLowerCase())){
			rs.put("code",0);
			rs.put("msg","图片验证码错误");
			return rs;
		}
		if(user.getLoginType()==null){
			rs.put("code",0);
			rs.put("msg","请选择登录角色");
			return rs;
		}
		if(user.getName()==null||user.getName().equals("")){
			rs.put("code",0);
			rs.put("msg","请输入登录名");
			return rs;
		}
		if(user.getPassword()==null||user.getPassword().equals("")){
			rs.put("code",0);
			rs.put("msg","请输入密码");
			return rs;
		}
		if(user.getLoginType()==1){
			AdminInfoExample te = new AdminInfoExample();//验证管理员账号密码
			AdminInfoExample.Criteria tc = te.createCriteria();
			tc.andLoginNameEqualTo(user.getName());
			tc.andPasswordEqualTo(user.getPassword());
			List tl = adminInfoMapper.selectByExample(te);
			if(tl.size()==0){//从数据库中查询不到账号
				rs.put("code",0);
				rs.put("msg","登录名或密码错误");
				return rs;
			}else{
				LoginModel login = new LoginModel();
				login.setId(tl.get(0).getId());
				login.setLoginType(1);
				login.setName(user.getName());
				request.getSession().setAttribute(CommonVal.sessionName, login);//设置登录session,保持会话
				rs.put("code",1);
				rs.put("msg","登录成功");
				return rs;
			}
		}
		if(user.getLoginType()==2){
			VoInfoExample te = new VoInfoExample();//验证志愿者账号密码
			VoInfoExample.Criteria tc = te.createCriteria();
			tc.andLoginNameEqualTo(user.getName());
			tc.andPasswordEqualTo(user.getPassword());
			List tl = voInfoMapper.selectByExample(te);
			if(tl.size()==0){//从数据库中查询不到账号
				rs.put("code",0);
				rs.put("msg","登录名或密码错误");
				return rs;
			}else{
				LoginModel login = new LoginModel();
				login.setId(tl.get(0).getId());
				login.setLoginType(2);
				login.setName(user.getName());
				request.getSession().setAttribute(CommonVal.sessionName, login);//设置登录session,保持会话
				rs.put("code",1);
				rs.put("msg","登录成功");
				return rs;
			}
		}
		if(user.getLoginType()==3){
			UserInfoExample te = new UserInfoExample();//验证用户账号密码
			UserInfoExample.Criteria tc = te.createCriteria();
			tc.andLoginNameEqualTo(user.getName());
			tc.andPasswordEqualTo(user.getPassword());
			List tl = userInfoMapper.selectByExample(te);
			if(tl.size()==0){//从数据库中查询不到账号
				rs.put("code",0);
				rs.put("msg","登录名或密码错误");
				return rs;
			}else{
				LoginModel login = new LoginModel();
				login.setId(tl.get(0).getId());
				login.setLoginType(3);
				login.setName(user.getName());
				request.getSession().setAttribute(CommonVal.sessionName, login);//设置登录session,保持会话
				rs.put("code",1);
				rs.put("msg","登录成功");
				return rs;
			}
		}
		rs.put("code",0);
		rs.put("msg","系统出错");
		return rs;
	}
}

你可能感兴趣的:(宠物,数据库,课程设计,java,mysql)