实现爱心宠物诊所系统功能,主要功能需求如下:
“爱心”宠物诊所的职员在工作中需要查阅和管理如下信息:诊所的兽医、客户以及客户的宠物。
“爱心”宠物诊所的职员需要使用系统提供的如下功能:
简单的登录,没什么好说的.要注意的就是设置过滤器,确认用户登录后,才可进行其他接口,页面的操作!
public class ManagerFilter implements Filter { @Override public void init(FilterConfig filterConfig) throws ServletException { } @Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { HttpServletRequest httpServletRequest= (HttpServletRequest) servletRequest; String uri = httpServletRequest.getRequestURI(); //过滤登录请求 if ( uri.equals(httpServletRequest.getContextPath()+"/login") ||uri.equals(httpServletRequest.getContextPath()+"jsp/login.jsp") ||uri.equals(httpServletRequest.getContextPath()+"/") ){ filterChain.doFilter(servletRequest, servletResponse); } else { User user= (User) httpServletRequest.getSession().getAttribute("user"); if (user==null){ servletRequest.getRequestDispatcher("/jsp/login.jsp").forward(servletRequest, servletResponse); }else { filterChain.doFilter(servletRequest, servletResponse); } } } @Override public void destroy() { } }
123456789101112131415161718192021222324252627282930313233
这里主要是JSP页面的代码,不放了,毕竟我们是面向后端的.这里展管理员的基础功能列表,详细的看后面.
主要工作就是数据库的查询,还有删除与添加,记得提交事务.否则不进行修改操作.
前端发送Ajax请求,在对获得的数据进行处理即可.
@WebServlet(urlPatterns = "/getVets") public class GetVetsServlet extends BaseServlet{ private VetDao vetDao=new VetDaoImpl(); @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { List<Vet> vetList = vetDao.getVetList(); JdbcUtils.commitAndClose(); Gson gson = new Gson(); resp.setCharacterEncoding("utf-8"); resp.setContentType("application/json"); resp.getWriter().write(String.valueOf(gson.toJson(vetList))); } } 12345678910111213 3.3.2添加删除兽医(代码大致一样就放一块了)
@WebServlet(urlPatterns = "/addVet") public class AddVetServlet extends BaseServlet{ private VetDao vetDao = new VetDaoImpl(); @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { req.setCharacterEncoding("utf-8"); Vet vet = WebUtils.copyParamToBean(req.getParameterMap(), new Vet()); int i = vetDao.addVet(vet); JdbcUtils.commitAndClose(); //页面重定向 resp.sendRedirect(req.getContextPath() + "/jsp/getVet.jsp"); } } @WebServlet(urlPatterns = "/deleteVet") public class DeleteVetServlet extends BaseServlet{ private VetDao vetDao=new VetDaoImpl(); @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String id = req.getParameter("id"); vetDao.deleteVetById( WebUtils.parseInt(id, 0)); JdbcUtils.commitAndClose(); } }
12345678910111213141516171819202122232425
展示客户信息,删除一个客户,同样也是一个Ajax发送请求的事.改变就诊状态也一样.都是Ajax请求,这里贴一下改变就诊状态的后端代码.其余那些差不多的.
@WebServlet("/revIsSeeDoctor") public class RevIsSeeDoctorServlet extends BaseServlet{ private CustomerDao customerDao=new CustomerDaoImpl(); @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { int id = WebUtils.parseInt(req.getParameter("id"), 0); String isSeeDoctor = customerDao.getCustomerById(id).getIsSeeDoctor(); if ("就诊中".equals(isSeeDoctor)){ customerDao.updateIsSeeDoctorById(id,"就诊完"); } else { customerDao.updateIsSeeDoctorById(id,"就诊中"); } JdbcUtils.commitAndClose(); } }
12345678910111213141516
同样是前端发送Aajx请求,对获得的数据进行处理.不放代码啦,需要的话可以看后面联系方式,开源给大家.
获取前端的表单内容,对内容处理即可.
后端代码:
@WebServlet(urlPatterns = "/addCustomer") public class AddCustomer extends BaseServlet{ private CustomerService customerService=new CustomerSericeImpl(); @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { req.setCharacterEncoding("utf-8"); Customer customer = WebUtils.copyParamToBean(req.getParameterMap(), new Customer()); customerService.saveCustomer(customer); JdbcUtils.commitAndClose(); resp.sendRedirect(req.getContextPath() + "/jsp/getCustomer.jsp"); } } 123456789101112
实现和前面的大致一样.其实很多代码工作都是差不多的,主要就是前端的排版问题.还有Ajax访问
我怕一个Ajax都没贴出来,表达不明确,这里就是给大家看一个前端的Ajax请求.
例子:是宠物信息jsp页面的Ajax请求.
function LoadCustomerData() { $.ajax({ url: $("#PageContext").val()+"/getCustomer", type: "get", dataType: "json", success: function (data) { //清除旧的数据 $("#information").html(""); //添加新的数据 $.each(data, function (i, n) { $("#information").append("<tr>") .append("<td>" + n.id + "</td>") .append("<td>" + n.petName + "</td>") .append("<td>" + n.petGender + "</td>") .append("<td>" + n.createTime + "</td>") .append("<td>" + n.illness + "</td>") .append("<td>" + n.isSeeDoctor + "<button οnclick='javascript:return RevIsSeeDoctor("+n.id+")' class='layui-btn layui-btn-sm layui-btn-primary'><i class='layui-icon layui-icon-senior' style='font-size: 15px; color: #1E9FFF;'></i></button></td>") .append("<td><button οnclick='javascript:return Access("+n.id+")' class='layui-btn layui-btn-sm layui-btn-primary'><i class='layui-icon layui-icon-survey' style='font-size: 15px; color: #715555;'></i></button></td>") .append("<td>"+"<button οnclick='javascript:return GetCustomer("+n.id+")' class='layui-btn layui-btn-sm layui-btn-primary'><i class='layui-icon layui-icon-user' style='font-size: 15px;'></i></button></td>") .append("<td><button οnclick='javascript:return Del("+n.id+")' class='layui-btn layui-btn-sm layui-btn-primary'><i class='layui-icon layui-icon-delete' style='font-size: 15px; color: red;'></i></button></td>") .append("</tr>") }); }, }) } //ajax 删除请求 function Del(id){ var msg = "确认删除?"; if (confirm(msg)==true){ // alert(id+"--"+pageNum) id=parseInt(id) // alert(id) $.ajax({ url: $("#PageContext").val()+"/deleteCustomer", type: "post", data : { id:id }, success: function () { //情况旧数据 LoadCustomerData(); layer.msg('删除成功'); } }) }else{ return false; } } function RevIsSeeDoctor(id){ var msg = "确认修改就诊状态?"; if (confirm(msg)==true){ // alert(id+"--"+pageNum) id=parseInt(id) // alert(id) $.ajax({ url: $("#PageContext").val()+"/revIsSeeDoctor", type: "post", data : { id:id }, success: function () { //情况旧数据 LoadCustomerData(); layer.msg('修改成功'); } }) }else{ return false; } } function GetCustomer(id){ id=parseInt(id) $.ajax({ url: $("#PageContext").val()+"/getCustomer", type: "get", data : { id:id }, success: function (data) { console.log(data) layer.open({ title: '主人信息', // area: ['500px', '300px'], content: "姓名:"+data.name+"</br>"+ "性别:"+data.customerGender+"</br>"+ "电话:"+data.phone+"</br>"+ "居住地址:"+data.address+"</br>" }); } }) } // 添加访问弹出框, 显示弹框,传递对应的Id function Access(id){ //赋值id,方便传递到后台 $("#id").val(id); $("#createFileTitle").text("添加访问"); $('#addVisitModal').modal('show'); }
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899项目开源:
V1版本
https://gitee.com/langshixiansheng/pet-clinic
V2版本:修改了数据库和美化了点页面,让程序更美观了,数据也更合理了
https://gitee.com/langshixiansheng/pet-clinic_V2
相关知识
软件工程课设
单片机课设
数据库课设—宠物网站管理信息系统
开源h5游戏 宠物
探索爱犬世界的奇妙之旅:TinDog 开源项目
毕设
探索狗狗世界的神器 —— Dog API 开源项目深度解析
幼儿教师说课大赛评分标准
推荐开源项目:DesktopPet
开源期刊OA=水刊?带你重新认识
网址: 开源课设 https://m.mcbbbk.com/newsview473490.html
上一篇: “爱心宠物诊所”系统设计 |
下一篇: JSP爱心宠物诊所系统设计与实现 |