Java项目:基于ssm流浪狗领养系统

作者主页:Java毕设网

 简介:Java领域优质创作者、Java项目、学习资料、技术互助

文末获取源码

一、项目介绍

我国的动物管理正处于起步阶段,注册在线的宠物数量非常有限,信息也很封闭,因此必须发挥民间力量扩容,加强宠物信息的宣传力度,使更多爱护动物的好心人可以领养宠物,同时也就收纳有家宠物信息,以防宠物丢失,恶性伤人的事件发生,由此可见,建立一个规范化,科学化的流浪狗领养系统是非常必要的。

二、环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。

2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;

3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可

4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;

5.是否Maven项目: 是;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目 

6.数据库:MySql 5.7版本;

三、技术栈

1. 后端:Spring SpringMVC MyBatis

2. 前端:JSP+Bootstrap+JQuery

四、使用说明

1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;

2. 将项目中yml配置文件中的数据库配置改为自己的配置

3. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;若为maven项目,导入成功后请执行maven clean;maven install命令,配置tomcat,然后运行;

4.修改DogController.java中第86行及第147行左右的uploadDB,根据自己的系统打开对应代码;

5. 运行项目,输入localhost:8088/ssm-adopt 登录

五、运行截图

前台界面

后台界面


六、相关代码

流浪狗管理控制器

@Controller
@RequestMapping("/dog")
public class DogController extends BaseController{

	@Autowired
	private DogService dogService;
	
	@Autowired
	private AdoptService adoptService;
	
	@RequestMapping("/showDogInfoListPage")
	public String showDogInfoListPage(){
		return "/dog/dogInfoList";
	}
	
	@RequestMapping("/showCreateDogPage")
	public ModelAndView showCreateDogPage(HttpServletRequest request){
		
		ModelAndView mv = new ModelAndView("dog/createDog");
		return mv;
	}
	
	@RequestMapping("/getDogInfoList")
	@ResponseBody
	public JqGridResult getDogInfoList(TDog dog,Integer page){
		if(page == null){
			page = 1;
		}
		JqGridResult jqGridResult = dogService.queryAllDog(dog, page, pageSize);
		return jqGridResult;
	}
	
	@RequestMapping("/delete")
	@ResponseBody
	public AdoptJSONResult deleteDog(Integer dogId){
		 dogService.deleteDog(dogId);
		 return AdoptJSONResult.ok();
	}
	
	@RequestMapping("/saveOrUpdate")
	@ResponseBody
	public AdoptJSONResult saveOrUpdate(TDog dog,@RequestParam(name="file",required=false) MultipartFile file,
			HttpServletRequest request) throws IOException{
		
		// 狗id不为空,则修改狗;狗id为空,则新建狗
		Integer dogId = dog.getId();
		if (dogId != null) {
			dogService.updateDog(dog);
		} else {
			if(file != null){
				//保存到数据库的路径
				String temp=Thread.currentThread().getContextClassLoader().getResource("").getPath(); 
				int num=temp.indexOf(".metadata");
				//String path=temp.substring(1,num).replace('/', '\\')+request.getContextPath().replaceAll("/", "")+"\\src\\main\\webapp\\";
				String path=request.getSession().getServletContext().getRealPath("");
				// windows下使用该路径;
				//String uploadDB = "static\\pages\\img\\dog\\";
				// mac下使用该路径
				String uploadDB = "static/pages/img/dog/";
				String fileName = file.getOriginalFilename();
				String[] fileNames = fileName.split("\\.");	
				String sufixName = fileNames[fileNames.length-1]; 
				fileName = new Date().getTime() + "." +sufixName;
				uploadDB += fileName;
				dog.setFaceImage(uploadDB);
				
				InputStream in = file.getInputStream();
				File finalFile = new File(path+uploadDB);
				OutputStream os = new FileOutputStream(finalFile);
				IOUtils.copy(in, os);
			}
			
			dogService.addDog(dog);
		}		
		return AdoptJSONResult.ok();
	}
	
	@RequestMapping("/saveAdoptUserInfo")
	public String saveOrUpdate(TDog dog,HttpServletRequest request) throws IOException{
		
		HttpSession session = request.getSession();
		
		dogService.addDog(dog);
		int dogId = dog.getId();
		
		TDogUser adopt = new TDogUser();
		
		TUser user = (TUser) session.getAttribute("sessionUser");
		adopt.setUserId(user.getId());
		//type 1:收养  2:送养
		adopt.setType(2);
		adopt.setStatus(0);
		adopt.setDogId(dogId);
		adoptService.addAdoptRecord(adopt);
		return "forward:/frontPage/adoptDog.jsp";
	}
	
	
	@RequestMapping("/showModifyDogPage")
	public ModelAndView showModifyDog(Integer dogId, HttpServletRequest request){
		
		// 查询狗信息
		TDog dogInfo = dogService.queryDogInfoById(dogId);
		
		ModelAndView mv = new ModelAndView("dog/modifyDog");
		mv.addObject("dogInfo", dogInfo);
		
		return mv;
	}
	
	@PostMapping("/upload")
	@ResponseBody
	public AdoptJSONResult faceUpload(MultipartFile file,HttpServletRequest request)throws Exception{
		
		//保存到数据库中的相对路径
		// windows系统
 		String uploadPathDB = "static\\pages\\img\\dog\\";
		try {
			if(file != null){
				//保存到数据库的路径
				String temp=Thread.currentThread().getContextClassLoader().getResource("").getPath(); 
				int num=temp.indexOf(".metadata");
				//String path=temp.substring(1,num).replace('/', '\\')+request.getContextPath().replaceAll("/", "")+"\\src\\main\\webapp\\";
				String path=request.getSession().getServletContext().getRealPath("");

				// mac系统
				//uploadPathDB = "static/pages/img/dog/";
				String fileName = file.getOriginalFilename();
				String[] fileNames = fileName.split("\\.");	
				String sufixName = fileNames[fileNames.length-1]; 
				fileName = new Date().getTime() + "." +sufixName;
				uploadPathDB += fileName;
				
				InputStream in = file.getInputStream();
				File finalFile = new File(path+uploadPathDB);
				OutputStream os = new FileOutputStream(finalFile);
				IOUtils.copy(in, os);
			}else{
				return AdoptJSONResult.errorMsg("上传出错...");
			}
		} catch (Exception e) {
			e.printStackTrace();
			return AdoptJSONResult.errorMsg("上传出错...");
		}  
		
		return AdoptJSONResult.ok(uploadPathDB);
	}
}

用户管理控制器

@Controller
@RequestMapping("/user")
public class UserController extends BaseController {

	final static Logger log = LoggerFactory.getLogger(UserController.class);

	@Autowired
	private UserService userService;

	@Autowired
	private AdoptService adoptService;

	@RequestMapping("/showUserInfoListPage")
	public String showUserInfoListPage(){
		return "/user/userInfoList";
	}

	@RequestMapping("/showCreateUserPage")
	public ModelAndView showCreateUserPage(HttpServletRequest request){

		ModelAndView mv = new ModelAndView("user/createUser");
		return mv;
	}


	@RequestMapping("/delete")
	@ResponseBody
	public AdoptJSONResult deleteUser(Integer userId){
		 userService.deleteUser(userId);
		 return AdoptJSONResult.ok();
	}

	@RequestMapping("/getUserInfoList")
	@ResponseBody
	public JqGridResult getUserInfoList(TUser user,Integer page){
		 if(page == null){
			 page = 1;
		 }
		 JqGridResult jqGridResult = userService.queryAllUser(user, page, pageSize);
		 return jqGridResult;
	}

	@RequestMapping("/saveOrUpdate")
	@ResponseBody
	public AdoptJSONResult saveOrUpdate(TUser user){

		// 用户id不为空,则修改用户;用户id为空,则新建用户
		Integer userId = user.getId();
		if (userId != null) {
			userService.updateUser(user);
		} else {
			userService.addUser(user);
		}
		return AdoptJSONResult.ok();
	}

	@RequestMapping("/modifyUser")
	public ModelAndView showModifyUser(Integer userId, HttpServletRequest request){

		// 查询用户个人信息
		TUser userInfo = userService.queryUserInfoById(userId);

		ModelAndView mv = new ModelAndView("user/modifyUser");
		mv.addObject("userInfo", userInfo);

		return mv;
	}

	/**
	 * 管理员登陆
	 * @param username
	 * @param password
	 * @param request
	 * @return
	 */
	@PostMapping("/login")
	@ResponseBody
	public AdoptJSONResult userLogin(String username, String password,
			HttpServletRequest request) {

		if (StringUtils.isBlank(username) || StringUtils.isBlank(password)) {
			return AdoptJSONResult.errorMap("用户名和密码不能为空");
		} else {

			TAdmin admin = new TAdmin(Integer.parseInt(username), password);
			TAdmin currentAdmin =userService.queryAdminByUsernameAndPassword(admin);
			if(currentAdmin != null){
				request.getSession().setAttribute("sessionAdmin", currentAdmin);
				return AdoptJSONResult.ok();
			}else{
				return AdoptJSONResult.errorMsg("登陆失败,请重试...");
			}
		}

	}

	/**
	 * 用户登陆
	 * @param username
	 * @param password
	 * @param request
	 * @return
	 */
	@PostMapping("/customLogin")
	@ResponseBody
	public AdoptJSONResult customLogin(String username, String password,
			HttpServletRequest request) {

		if (StringUtils.isBlank(username) || StringUtils.isBlank(password)) {
			return AdoptJSONResult.errorMap("用户名和密码不能为空");
		} else {
			TUser user = new TUser(username,password);
			TUser currentUser =userService.queryUserByUsernameAndPassword(user);
			if(currentUser != null){
				request.getSession().setAttribute("sessionUser", currentUser);
				return AdoptJSONResult.ok();
			}else{
				return AdoptJSONResult.errorMsg("登陆失败,请重试...");
			}
		}

	}


	@PostMapping("/customReg")
	@ResponseBody
	public AdoptJSONResult customReg(String username, String password,String tel,
									   HttpServletRequest request) {

		if (StringUtils.isBlank(username) || StringUtils.isBlank(password)) {
			return AdoptJSONResult.errorMap("用户名和密码不能为空");
		} else {
			TUser user = new TUser(username,password);
			//TUser currentUser =userService.queryUserByUsername(username);
			//if(currentUser != null){
			//	return AdoptJSONResult.errorMsg("用户已存在...");
				//request.getSession().setAttribute("sessionUser", currentUser);
				//return AdoptJSONResult.ok();
			//}else{
				TUser user1 = new TUser();
				user1.setUsername(username);
				user1.setPassword(password);
				user1.setTel(tel);
				userService.addUser(user1);
				request.getSession().setAttribute("sessionUser", user1);
				return AdoptJSONResult.ok();
			//}
		}

	}


	/**
	 * 用户注销
	 * @param request
	 * @return
	 */
	@GetMapping("/logout")
	public String logout(HttpServletRequest request) {
		request.getSession().invalidate();
		return "redirect:/frontPage/login.jsp";
	}

	/**
	 * 用户收养流浪狗
	 * @param dogId
	 * @param request
	 * @return
	 * @throws IOException
	 */
	@PostMapping("/adoptDog")
	@ResponseBody
	public AdoptJSONResult saveOrUpdate(Integer dogId,HttpServletRequest request) throws IOException{

		HttpSession session = request.getSession();

		TDogUser adopt = new TDogUser();


		TUser user = (TUser) session.getAttribute("sessionUser");
		adopt.setUserId(user.getId());
		//type 1:收养  2:送养
		adopt.setType(1);
		adopt.setStatus(0);
		adopt.setDogId(dogId);
		adoptService.addAdoptRecord(adopt);

		return AdoptJSONResult.ok();
	}

}

七、如果也想学习本系统,下面领取。关注并回复:031ssm

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值