0、效果展示

1、概述

一个宠物收容所吸引顾客的优势所是它良好的周密的收养服务,这点是宠物收容所赢得信誉的必要条件。而随着收容所的不断发展,靠手工记账进行宠物的管理已经明显力不从心。另外宠物种类不断增加而产生的需求日益旺盛,也使以往的收容所管理模式无法适应新型收容所的需要。如何运用现代的信息技术来使收容所达到快速、高效的市场反应能力,从而使收容所得到更高的效率成为宠物收容所经营收容所关心的问题。因此,宠物收容所经营者应该宠物收容所现代化经营作为努力开拓的目标,从而掌握当今市场发展的这一走向,这样就可以做到经营活络、财源茂盛。但这种方式为管理者带来很大的不便,更容易造成文件的损坏和信息查询的不便等。如果能有一套针对性的宠物收养管理系统来做这一切,不仅会达到预想不到的效果,也会更好的为宠物收容所带来盈利[14]。

2、搭建环境

本文以实现一个流浪动物管理系统 宠物收容所管理为目标,从环境搭建到编码实现全过程讲述

我们使用javaweb、J2EE来构建流浪动物管理系统 宠物收容所管理,环境使用最新版jdk和tomcat,配合mysql数据库

开发工具使用idea(也可以使用eclipse),数据库管理工具使用Navicat Premium

开发框架使用JavaBean Servlet MVC结构;

没有使用SSH(Struts+Spring+Hibernate)或SSM(Spring+SpringMVC+MyBatis),这两个框架我们在别的项目中再介绍开发过程

在项目中会引入My97DatePicker作为前端日期时间选择工具,使用fckeditor作为富媒体编辑器(也可以使用百度的ueditor)

使用DWR(Direct Web Remoting)用于改善web页面与Java类交互,实现远程服务器端AJAX读取登录数据。

使用JSTL(Java server pages standarded tag library,即JSP标准标签库),此库是由JCP(Java community Proces)所制定的标准规范,它主要提供给Java Web开发人员一个标准通用的标签库,并由Apache的Jakarta小组来维护。开发人员可以利用这些标签取代JSP页面上的Java代码,从而提高程序的可读性,降低程序的维护难度。

3、数据表结构

表 shouyang 收养表

名称

类型

说明

id

int

编号

danjuhao

varchar(50)

单据号

shijian

datetime

时间

zongjiage

int

价格

jingshouren

varchar(50)

经手人

beizhu

varchar(50)

备注

表 catelog 分类表

名称

类型

说明

id

int

编号

name

varchar(50)

名称

jieshao

varchar(5000)

介绍

​4、后端代码示例

package com.action;import java.io.IOException;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;import javax.servlet.RequestDispatcher;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import com.dao.DB;
import com.orm.Tdongwu;
import com.service.liuService;import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;public class dongwu_servlet extends HttpServlet
{ public void service(HttpServletRequest req,HttpServletResponse res)throws ServletException, IOException {String type=req.getParameter("type");if(type.endsWith("dongwuAdd1")){dongwuAdd1(req, res);}if(type.endsWith("dongwuAdd")){dongwuAdd(req, res);}if(type.endsWith("dongwuMana")){dongwuMana(req, res);}if(type.endsWith("dongwuDel")){dongwuDel(req, res);}if(type.endsWith("edit")){edit(req, res);}
//      if(type.endsWith("dongwuSearch"))
//      {
//          dongwuSearch(req, res);
//      }if(type.endsWith("photo")){photo(req, res);}}public void photo(HttpServletRequest req,HttpServletResponse res) throws ServletException, IOException{int id=Integer.parseInt(req.getParameter("id"));List dongwuList=new ArrayList();String sql="select * from t_dongwu where id="+id;Object[] params={};DB mydb=new DB();try{mydb.doPstm(sql, params);ResultSet rs=mydb.getRs();while(rs.next()){Tdongwu dongwu=new Tdongwu();dongwu.setId(rs.getInt("id"));dongwu.setCatelog_id(rs.getInt("catelog_id"));dongwu.setName(rs.getString("name"));dongwu.setBeizhu(rs.getString("beizhu"));dongwu.setChandi(rs.getString("chandi"));dongwu.setSex(rs.getString("sex"));dongwu.setZhongliang(rs.getString("zhongliang"));dongwu.setPhoto(rs.getString("photo"));dongwu.setAge(rs.getString("age"));dongwu.setCatelog_name(liuService.getCatelogName(rs.getInt("catelog_id")));dongwuList.add(dongwu);}rs.close();}catch(Exception e){e.printStackTrace();}mydb.closed();System.out.println(dongwuList.size());req.setAttribute("dongwuList", dongwuList);req.setAttribute("id", id);req.getRequestDispatcher("admin/dongwu/photo.jsp").forward(req, res);}public void edit(HttpServletRequest req,HttpServletResponse res) throws ServletException, IOException{//System.out.println(req.getParameter("userId")+"**");List dongwuList=new ArrayList();String sql="select * from t_dongwu where id="+Integer.parseInt(req.getParameter("id"));Object[] params={};DB mydb=new DB();try{mydb.doPstm(sql, params);ResultSet rs=mydb.getRs();while(rs.next()){Tdongwu dongwu=new Tdongwu();dongwu.setId(rs.getInt("id"));dongwu.setCatelog_id(rs.getInt("catelog_id"));dongwu.setName(rs.getString("name"));dongwu.setBeizhu(rs.getString("beizhu"));dongwu.setChandi(rs.getString("chandi"));dongwu.setSex(rs.getString("sex"));dongwu.setZhongliang(rs.getString("zhongliang"));dongwu.setPhoto(rs.getString("photo"));dongwu.setAge(rs.getString("age"));dongwu.setCatelog_name(liuService.getCatelogName(rs.getInt("catelog_id")));dongwu.setCatelog_id(rs.getInt("catelog_id"));dongwuList.add(dongwu);}rs.close();}catch(Exception e){e.printStackTrace();}mydb.closed();req.setAttribute("dongwuList", dongwuList);req.getRequestDispatcher("admin/dongwu/dongwuEditPre.jsp").forward(req, res);}public void dongwuAdd(HttpServletRequest req,HttpServletResponse res){int catelog_id=Integer.parseInt(req.getParameter("catelog_id"));String name=req.getParameter("name");String chandi=req.getParameter("chandi");String sex=req.getParameter("sex");String zhongliang=req.getParameter("zhongliang");String beizhu=req.getParameter("beizhu");String photo=req.getParameter("fujian");String age=req.getParameter("age");String del="no";String sql="insert into t_dongwu (`catelog_id`, `name`, `chandi`, `sex`, `zhongliang`, `beizhu`, `del`, `photo`,`age`)  values(?,?,?,?,?,?,?,?,?)";Object[] params={catelog_id,name,chandi,sex,zhongliang,beizhu,del,photo,age};DB mydb=new DB();mydb.doPstm(sql, params);mydb.closed();req.setAttribute("message", "操作成功");req.setAttribute("path", "dongwu?type=dongwuMana");String targetURL = "/common/success.jsp";dispatch(targetURL, req, res);}   public void dongwuAdd1(HttpServletRequest req,HttpServletResponse res){int catelog_id=Integer.parseInt(req.getParameter("catelog_id"));String name=req.getParameter("name");String chandi=req.getParameter("chandi");String sex=req.getParameter("sex");String zhongliang=req.getParameter("zhongliang");String beizhu=req.getParameter("beizhu");String photo=req.getParameter("fujian");String age=req.getParameter("age");String sql="update t_dongwu set catelog_id="+catelog_id+",name='"+name+"',chandi='"+chandi+"',sex='"+sex+"',zhongliang='"+zhongliang+"',beizhu='"+beizhu+"',photo='"+photo+"',age='"+age+"' where id="+Integer.parseInt(req.getParameter("id"));;Object[] params={};DB mydb=new DB();mydb.doPstm(sql, params);mydb.closed();req.setAttribute("message", "操作成功");req.setAttribute("path", "dongwu?type=dongwuMana");String targetURL = "/common/success.jsp";dispatch(targetURL, req, res);}public void dongwuDel(HttpServletRequest req,HttpServletResponse res){int id=Integer.parseInt(req.getParameter("id"));System.out.println("dddd");String sql="update t_dongwu set del='yes' where id="+id;Object[] params={};DB mydb=new DB();mydb.doPstm(sql, params);mydb.closed();req.setAttribute("message", "操作成功");req.setAttribute("path", "dongwu?type=dongwuMana");String targetURL = "/common/success.jsp";dispatch(targetURL, req, res);}public void dongwuMana(HttpServletRequest req,HttpServletResponse res) throws ServletException, IOException{String page1=req.getParameter("page");if(page1==null){page1="1";}//分页设置int EVERYPAGENUM=10;//每页条数int page=Integer.parseInt(page1);   //传递过来的当前页int cou = 1;//得到信息总数 int pagecount=1;  //总页数String sql1="select count(*) as cou from t_dongwu where del='no'";if(req.getParameter("name")!=null)sql1+=" and name like '%"+req.getParameter("name").trim()+"%'";Object[] params1={};DB mydb1=new DB();try{mydb1.doPstm(sql1, params1);ResultSet rs=mydb1.getRs();while(rs.next()){cou= rs.getInt("cou");}rs.close();}catch(Exception e){e.printStackTrace();}mydb1.closed();if (cou % EVERYPAGENUM == 0) {pagecount= cou / EVERYPAGENUM;} else {pagecount=cou / EVERYPAGENUM + 1;}   req.setAttribute("EVERYPAGENUM", EVERYPAGENUM);   req.setAttribute("page", page);req.setAttribute("cou", cou);req.setAttribute("pagecount", pagecount);List dongwuList=new ArrayList();String sql="select * from t_dongwu where del='no' ";if(req.getParameter("name")!=null)sql+=" and name like '%"+req.getParameter("name").trim()+"%'";sql+=" order by id desc";Object[] params={};DB mydb=new DB();try{mydb.doPstm(sql, params);ResultSet rs=mydb.getRs();for (int i = 0; i < (page - 1) * EVERYPAGENUM; i++) {rs.next();}for (int t = 0; t < EVERYPAGENUM; t++) {if (rs.next()) {Tdongwu dongwu=new Tdongwu();dongwu.setId(rs.getInt("id"));dongwu.setCatelog_id(rs.getInt("catelog_id"));dongwu.setName(rs.getString("name"));dongwu.setBeizhu(rs.getString("beizhu"));dongwu.setChandi(rs.getString("chandi"));dongwu.setSex(rs.getString("sex"));dongwu.setZhongliang(rs.getString("zhongliang"));dongwu.setPhoto(rs.getString("photo"));dongwu.setAge(rs.getString("age"));dongwu.setCatelog_name(liuService.getCatelogName(rs.getInt("catelog_id")));dongwuList.add(dongwu);} else {break; //减少空循环的时间}}rs.close();}catch(Exception e){e.printStackTrace();}mydb.closed();req.setAttribute("dongwuList", dongwuList);req.getRequestDispatcher("admin/dongwu/dongwuMana.jsp").forward(req, res);}/*  public void dongwuSearch(HttpServletRequest req,HttpServletResponse res) throws ServletException, IOException{List dongwuList=new ArrayList();String sql="select * from t_dongwu where del='no' and name like '%"+req.getParameter("name").trim()+"%'";Object[] params={};DB mydb=new DB();try{mydb.doPstm(sql, params);ResultSet rs=mydb.getRs();while(rs.next()){
Tdongwu dongwu=new Tdongwu();dongwu.setId(rs.getInt("id"));dongwu.setCatelog_id(rs.getInt("catelog_id"));dongwu.setName(rs.getString("name"));dongwu.setBeizhu(rs.getString("beizhu"));dongwu.setChandi(rs.getString("chandi"));dongwu.setSex(rs.getString("sex"));dongwu.setZhongliang(rs.getString("zhongliang"));dongwu.setPhoto(rs.getString("photo"));dongwu.setCatelog_name(liuService.getCatelogName(rs.getInt("catelog_id")));dongwuList.add(dongwu);            }rs.close();}catch(Exception e){e.printStackTrace();}mydb.closed();req.setAttribute("dongwuList", dongwuList);req.getRequestDispatcher("admin/dongwu/dongwuMana.jsp").forward(req, res);}
*/  public void dispatch(String targetURI,HttpServletRequest request,HttpServletResponse response) {RequestDispatcher dispatch = getServletContext().getRequestDispatcher(targetURI);try {dispatch.forward(request, response);return;} catch (ServletException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}public void init(ServletConfig config) throws ServletException {super.init(config);}public void destroy() {}
}

5、前端代码示例

<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<jsp:useBean id="loginService" scope="page" class="com.service.loginService"></jsp:useBean>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%><%@ page isELIgnored="false" %>
<%
String path = request.getContextPath();
%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><link rel="stylesheet" type="text/css" href="<%=path %>/css/base.css" /><script type="text/javascript" src="<%=path %>/js/popup.js"></script><script language="javascript">function dongwuDel(id){if(confirm('您确定删除吗?')){window.location.href="<%=path %>/dongwu?type=dongwuDel&id="+id;}}function dongwuAdd(){var url="<%=path %>/admin/dongwu/dongwuAdd.jsp";//var n="";//var w="480px";//var h="500px";//var s="resizable:no;help:no;status:no;scroll:yes";//window.location.href=url;window.location.href=url;}function photo(photo){var url="<%=path %>/dongwu?type=photo&id="+photo;var pop=new Popup({ contentType:1,isReloadOnClose:false,width:400,height:300});pop.setContent("contentUrl",url);pop.setContent("title","");pop.build();pop.show();}function edit(id){window.location.href="<%=path %>/dongwu?type=edit&id="+id;}</script></head><body leftmargin="2" topmargin="2" background='<%=path %>/images/allbg.gif'><table width='98%'  border='0'style="margin-top:8px;margin-left: 5px;"><tr><td width="200"><input type="button" value="添加" style="width: 80px;" onclick="dongwuAdd()" /></td><form action="<%=path %>/dongwu?type=dongwuMana" name="formAdd" method="post"><td><input type="text" name="name" size="20" value="<%if(request.getParameter("name")!=null){request.getParameter("name");} %>"/><input  type="submit" value="搜索" style="width:40px;"  /></td></form>     </tr></table>    <table width="98%" border="0" cellpadding="1" cellspacing="1" bgcolor="#D1DDAA" align="center" style="margin-top:8px"><tr bgcolor="#E7E7E7"><td height="14" colspan="9"  class="title">&nbsp;动物管理&nbsp;</td></tr><tr align="center" bgcolor="#FAFAF1" height="22"><td >类别</td><td>名称</td><td>产地</td><td>公母</td><td>重量</td><td>年龄</td><td>备注</td><td>图片</td><td>选项</td></tr> <c:forEach items="${requestScope.dongwuList}" var="dongwu"><tr align='center' bgcolor="#FFFFFF" onMouseMove="javascript:this.bgColor='red';" onMouseOut="javascript:this.bgColor='#FFFFFF';" height="22"><td bgcolor="#FFFFFF" align="center">${dongwu.catelog_name}</td><td bgcolor="#FFFFFF" align="center">${dongwu.name}</td><td bgcolor="#FFFFFF" align="center">${dongwu.chandi}</td><td bgcolor="#FFFFFF" align="center">${dongwu.sex}</td><td bgcolor="#FFFFFF" align="center">${dongwu.zhongliang} kg</td><td bgcolor="#FFFFFF" align="center">${dongwu.age}</td><td bgcolor="#FFFFFF" align="center">${dongwu.beizhu}</td><td bgcolor="#FFFFFF" align="center"><c:if test="${dongwu.photo!=''&&dongwu.photo!=null}">    <a style="color: red" href="#" onclick="photo(${dongwu.id})">动物图片</a></c:if></td><td bgcolor="#FFFFFF" align="center"><input type="button" value="删除" onclick="dongwuDel(${dongwu.id})"/><input type="button" value="修改" onclick="edit(${dongwu.id})"/></td></tr></c:forEach></table><table width='98%'  border='0'style="margin-top:8px;margin-left: 5px;"><TR align="right"><TD ><form action="" method="post" name="formpage"><input type="hidden" name="pageCount" value="${requestScope.pagecount}" /><!--//用于给上面javascript传值--><input type="hidden" name="page" value="${requestScope.page}" /><!--//用于给上面javascript传值--><input type="hidden" name="jumpurl" value="<%=path%>/dongwu?type=dongwuMana&" /><!--//用于给上面javascript传值--> <a href="#" onClick="PageTop()"><strong>首页</strong></a>&nbsp;&nbsp;&nbsp; <a href="#" onClick='PagePre()'><strong>上一页</strong></a>&nbsp;&nbsp;&nbsp;共${requestScope.cou}条记录,共计${requestScope.pagecount}页,当前第${requestScope.page}页&nbsp;&nbsp;&nbsp; <a href="#" onClick="PageNext()"><strong>下一页</strong></a>&nbsp;&nbsp;&nbsp; <a href="#" onClick="PageLast()"><strong>尾页</strong></a> 第<input name="busjump" type="text" size="3" value="${requestScope.page}" style=" width:15px"/>页<a href="#" onClick="bjump()"><strong>跳转</strong></a>&nbsp;&nbsp;&nbsp;</form><script type="text/javascript" src="<%=path%>/js/page.js"></script></TD></TR></table></body>
</html>

SSM框架流浪动物管理系统宠物寄样收养领养宠物收容所管理(idea开发javaweb-javaee-j2ee-springboot)相关推荐

  1. 计算机毕业设计ssm流浪动物管理系统q5cx7系统+程序+源码+lw+远程部署

    计算机毕业设计ssm流浪动物管理系统q5cx7系统+程序+源码+lw+远程部署 计算机毕业设计ssm流浪动物管理系统q5cx7系统+程序+源码+lw+远程部署 本源码技术栈: 项目架构:B/S架构 开 ...

  2. (附源码)计算机毕业设计SSM流浪动物管理系统

    (附源码)计算机毕业设计SSM流浪动物管理系统 项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(Intel ...

  3. 计算机毕业设计ssm基于SSM框架的众筹管理系统f5244系统+程序+源码+lw+远程部署

    计算机毕业设计ssm基于SSM框架的众筹管理系统f5244系统+程序+源码+lw+远程部署 计算机毕业设计ssm基于SSM框架的众筹管理系统f5244系统+程序+源码+lw+远程部署 本源码技术栈: ...

  4. Java精品项目源码第53期流浪动物管理系统

    Java精品项目源码第53期流浪动物管理系统 大家好,小辰今天给大家介绍一个流浪动物管理系统,演示视频公众号(小辰哥的java)对号查询观看即可 文章目录 Java精品项目源码第53期流浪动物管理系统 ...

  5. 基于ssm框架的汽车出租管理系统源码

    项目介绍: 基于ssm框架的汽车出租管理系统源码 高清视频演示: https://www.bilibili.com/video/BV1TY411u7X2/ 下载地址: https://download ...

  6. 基于ssm框架超市销售管理系统

    Java 基于ssm框架超市销售管理系统 1. 此系统是基于J2EE的会员管理系统 :根据实际需求,通过建立一些相关的接口,对相关功能进行实现,同时可采用框架技术进行合理的搭建设计,能简化代码的实现, ...

  7. 基于SSM框架的酒店管理系统

    基于SSM框架的酒店管理系统 开发工具(eclipse/idea/vscode等): 数据库(sqlite/mysql/sqlserver等): 功能模块(请用文字描述,至少200字): 看每个等级模 ...

  8. 基于SSM框架的学籍管理系统

    下载地址:https://download.csdn.net/download/ouyangxiaobai123/20722172 项目介绍 基于SSM框架的学籍管理系统 系统说明 基于SSM框架的学 ...

  9. SSM框架之酒店管理系统十四(C端完善前台用户登录、计算日期之间的天数、房间预订)

    SSM框架之酒店管理系统十四(C端完善前台用户登录.计算日期之间的天数.房间预订) 当用户点击预定的时候,判断是否有登录的session 1.修改用户登录时保存的sessuin中的key 如果不修改的 ...

  10. 计算机毕业设计ssm基于SSM框架的药店管理系统ghao1系统+程序+源码+lw+远程部署

    计算机毕业设计ssm基于SSM框架的药店管理系统ghao1系统+程序+源码+lw+远程部署 计算机毕业设计ssm基于SSM框架的药店管理系统ghao1系统+程序+源码+lw+远程部署 本源码技术栈: ...

最新文章

  1. 沫沫金:Java快速合并两个数组【绝技】
  2. 网络营销立足于网站自身的优化与运营
  3. 剑指offer三:从尾到头打印链表
  4. 初学python者自学anaconda的正确姿势
  5. B站回港受热捧——破圈下的资本新故事
  6. 今日头条Java后台Java研发三面题目
  7. 盘点数据处理工具,手把手教你做数据清洗和转换
  8. 于iOS跳转到应用程序AppStore
  9. 【学习率预热】Warm up
  10. 客户端与服务器之间通信收不到信息——readLine()
  11. error page怎么解决_Firefox 登录feedly时出现PR_CONNECT_RESET_ERROR的解决方案
  12. Resource punkt not found
  13. 【CVRP】基于matlab节约算法求解带容量的车辆路径规划问题【含Matalb源码 157期】
  14. 如何写好一篇议论文章
  15. JavaWeb项目分层结构
  16. 服务器集成显卡性能,主流显卡参数和性能对比
  17. python 模拟用户点击浏览器_浏览器行为模拟之requests、selenium模块
  18. Python学习笔记-2017.5.4thon学习笔记-2017.5.14
  19. jser必看的破解javascript各种加密的反向思维方法 转自脚本之家
  20. Python的列表解析式,集合解析式,字典解析式

热门文章

  1. wireshark出现rst的原因_多次RST以及不同场景下的RST报文的差异
  2. numpy学习线性回归, 并用matplotlib画动态图
  3. Unity IOS微信登录
  4. 11G rac修改监听端口
  5. 安装ruby1.9.3-p0及redmon来监控redis
  6. 又一程序员猝死...
  7. 练习:用swiper实现图片滑动
  8. Unity开发VR项目(二)——SteamVR按键设置
  9. api接口—闲鱼搜索的数据
  10. win10装win7进入不了bios的解决方法