SSh开发 班级教学管理系统
开始。SSH架构,整合过程:http://biancheng.dnbcw.net/java/415711.html;
之后进行开发:停车场信息管理系统。核心内容是:分层的逻辑结构,以及调用showcar.jsp中numcar值来进行一系列操作数据处理。
点击删除,同时进行备份到数据历史记录,最后显示汽车信息,可以查看历史记录。
运行步骤:
(2)显示结果
(3)查看历史记录:
后台代码操作:
- 代码结构体系:
-
代码:
- CarAction.java
-
1 package com; 2 3 import java.util.List; 4 5 import org.apache.struts2.ServletActionContext; 6 7 8 import com.bean.CarBackUp; 9 import com.bean.Cartime; 10 import com.opensymphony.xwork2.ActionSupport; 11 import com.service2.ActionManager; 12 13 public class CarAction extends ActionSupport{ 14 private ActionManager dao,dao2; 15 private String numcar; 16 private String player; 17 private String time1; 18 private String time2; 19 private String carid; 20 private String parkid; 21 22 public ActionManager getDao2() { 23 return dao2; 24 } 25 26 public void setDao2(ActionManager dao2) { 27 this.dao2 = dao2; 28 } 29 30 public ActionManager getDao() { 31 return dao; 32 } 33 34 public void setDao(ActionManager dao) { 35 this.dao = dao; 36 } 37 38 public String getNumcar() { 39 return numcar; 40 } 41 42 public void setNumcar(String numcar) { 43 this.numcar = numcar; 44 } 45 46 public String getPlayer() { 47 return player; 48 } 49 50 public void setPlayer(String player) { 51 this.player = player; 52 } 53 54 public String getTime1() { 55 return time1; 56 } 57 58 public void setTime1(String time1) { 59 this.time1 = time1; 60 } 61 62 public String getTime2() { 63 return time2; 64 } 65 66 public void setTime2(String time2) { 67 this.time2 = time2; 68 } 69 70 public String getCarid() { 71 return carid; 72 } 73 74 public void setCarid(String carid) { 75 this.carid = carid; 76 } 77 78 public String getParkid() { 79 return parkid; 80 } 81 82 public void setParkid(String parkid) { 83 this.parkid = parkid; 84 } 85 86 public String show() throws Exception 87 { 88 List<Cartime> allUserList=dao.queryAllCartime(); 89 ServletActionContext.getRequest().setAttribute("allUserList", allUserList); 90 //杩斿洖璇锋眰allUserList缁橪istAllUser.jsp 91 92 return "success"; 93 94 } 95 public String incar() throws Exception 96 { 97 Cartime user=new Cartime(); 98 user.setNumcar(numcar); 99 user.setPlayer(player); 100 user.setTime1(time1); 101 user.setTime2(time2); 102 user.setCarid(carid); 103 user.setParkid(parkid); 104 System.out.println(numcar); 105 if(dao.addCar(user)) 106 { 107 return "success"; 108 } 109 else 110 return "Error"; 111 //return null; 112 113 } 114 //获取被删除的数据; 115 116 //利用被删除的数据 117 //删除,或者修改表,备份 118 public String backup() throws Exception 119 { 120 Cartime user=dao.queryUserByID(numcar); 121 /**出现错误,显示dao.queryUserByID(numcar)为空,主要是appp**。xml中跳转问题比较严重昂 122 * 失误跳到表2中所以为空的值传输*/ 123 ServletActionContext.getRequest().setAttribute("user2",user); 124 125 CarBackUp user2=new CarBackUp(); 126 String BackNumcar=user.getNumcar();//BackNumcar表示备份数据:车牌号 127 String BackPlayer=user.getPlayer();//BackPlayer表示备份数据:记录人 128 String BackTime1=user.getTime1();//BackTime表示备份数据:进入时间 129 String BackTime2=user.getTime2();//BackTime表示备份数据:离开时间 130 String BackCarid=user.getCarid();//BackCarid表示备份数据:停车位 131 String BackParkid=user.getParkid();//BackParkid表示备份数据:停车场 132 //为备份数据赋值 133 user2.setNumcar(BackNumcar); 134 user2.setCarid(BackCarid); 135 user2.setTime1(BackTime1); 136 user2.setTime2(BackTime2); 137 user2.setParkid(BackParkid); 138 user2.setPlayer(BackPlayer); 139 if(dao2.addBackCar(user2))//备份数据 140 System.out.print("备份车牌号"+BackNumcar); 141 //进行删除汽车记录信息 142 if(dao.deleteCar(user)) 143 { 144 return "success"; 145 } 146 else 147 { 148 return "ERROR"; 149 150 } 151 152 } 153 //查看备份信息 154 public String showbackup() throws Exception 155 { 156 157 List<CarBackUp> allUserList=dao2.queryAllCarBackUp(); 158 ServletActionContext.getRequest().setAttribute("allUserList", allUserList); 159 //杩斿洖璇锋眰allUserList缁橪istAllUser.jsp 160 161 return "success"; 162 163 } 164 }
CaoDAO.java
-
1 package com.dao; 2 3 import java.util.List; 4 5 import com.bean.CarBackUp; 6 import com.bean.Cartime; 7 8 9 10 11 public interface CarDAO { 12 /** 13 *列出所有汽车 14 */ 15 public List<Cartime> findAll(); 16 17 //按车辆查询用户 18 public Cartime get(String numcar); 19 20 //添加信息的方法、、2017/4/19 21 public void save(Cartime user); 22 public void delete(Cartime user); 23 24 25 }
- CarDAO2.java
-
1 package com.dao; 2 3 import java.util.List; 4 5 import com.bean.CarBackUp; 6 7 8 9 public interface CarDAO2 { 10 /** 11 *列出所有班级 12 */ 13 public List<CarBackUp> findAll(); 14 15 //按车辆查询用户 16 public CarBackUp get(String numcar); 17 18 //添加信息的方法、、2017/4/19 19 public void save(CarBackUp user); 20 }
CarDAOImpl.java
1 package com.dao.impl; 2 //吕泽坤 3 import java.util.List; 4 5 import org.springframework.orm.hibernate3.support.HibernateDaoSupport; 6 7 import com.bean.CarBackUp; 8 import com.bean.Cartime; 9 10 import com.dao.CarDAO; 11 12 public class CarDAOImpl extends HibernateDaoSupport implements CarDAO { 13 ///查看停车场 14 public List<Cartime> findAll() { 15 // TODO Auto-generated method stub 16 return getHibernateTemplate().find("from com.bean.Cartime"); 17 } 18 //获取汽车数据 19 public Cartime get(String numcar) { 20 // TODO Auto-generated method stub 21 return (Cartime)this.getHibernateTemplate().get(Cartime.class,numcar); 22 } 23 public void save(Cartime user) { 24 // TODO Auto-generated method stub 25 this.getHibernateTemplate().save(user); 26 } 27 public void delete(Cartime user) { 28 // TODO Auto-generated method stub 29 this.getHibernateTemplate().delete(user); 30 } 31 32 33 }
CarDAO2Impl.java
package com.dao.impl; import java.util.List; import org.springframework.orm.hibernate3.support.HibernateDaoSupport; import com.bean.CarBackUp; import com.dao.CarDAO2; public class CarDAO2Impl extends HibernateDaoSupport implements CarDAO2 { ///查看停车场 public List<CarBackUp> findAll() { // TODO Auto-generated method stub return getHibernateTemplate().find("from com.bean.CarBackUp"); } //获取汽车数据 public CarBackUp get(String numcar) { // TODO Auto-generated method stub return (CarBackUp)this.getHibernateTemplate().get(CarBackUp.class,numcar); } public void save(CarBackUp user) { // TODO Auto-generated method stub this.getHibernateTemplate().save(user); } }
ActionManager.java
1 package com.service2; 2 import java.util.List; 3 4 import com.bean.CarBackUp; 5 import com.bean.Cartime; 6 7 8 9 10 import com.dao.CarDAO2; 11 12 import com.dao.CarDAO; 13 14 15 16 public interface ActionManager { 17 18 19 public CarDAO getCarDAO(); 20 public void setCarDAO(CarDAO carDAO); 21 /* 汽车查看列表*/ 22 23 public List<Cartime> queryAllCartime(); 24 25 public boolean addCar(Cartime user); 26 27 //根据车牌号查到汽车的信息 28 public Cartime queryUserByID(String numcar); 29 public boolean deleteCar(Cartime user); 30 31 /*汽车备份数据库*/ 32 public CarDAO2 getCarDAO2(); 33 public void setCarDAO2(CarDAO2 carDAO); 34 //备份数据操作数据 35 public boolean addBackCar(CarBackUp user); 36 //查看备份的数据库5/8 37 public List<CarBackUp> queryAllCarBackUp(); 38 39 40 41 42 }
ActionManagerImpl.java
1 package com.service.impl; 2 3 import java.util.List; 4 5 import com.bean.CarBackUp; 6 import com.bean.Cartime; 7 8 9 import com.dao.CarDAO2; 10 11 import com.dao.CarDAO; 12 13 import com.service2.ActionManager; 14 15 16 17 public class ActionManagerImpl implements ActionManager 18 { 19 private CarDAO carDAO; 20 21 public CarDAO getCarDAO() { 22 // TODO Auto-generated method stub 23 return this.carDAO; 24 } 25 26 public void setCarDAO(CarDAO carDAO) { 27 // TODO Auto-generated method stub 28 this.carDAO=carDAO; 29 } 30 private CarDAO2 carDAO2; 31 32 public CarDAO2 getCarDAO2() { 33 // TODO Auto-generated method stub 34 return this.carDAO2; 35 } 36 37 public void setCarDAO2(CarDAO2 carDAO2) { 38 // TODO Auto-generated method stub 39 this.carDAO2=carDAO2; 40 } 41 42 43 44 //产看汽车。 45 public List<Cartime> queryAllCartime() 46 { 47 // TODO Auto-generated method stub 48 return carDAO.findAll(); 49 } 50 51 public boolean addCar(Cartime user) 52 { 53 // TODO Auto-generated method stub 54 if (carDAO.get(user.getCarid())==null) 55 { 56 57 carDAO.save(user); 58 System.out.println("添加班级成功编号不重复"); 59 } 60 else 61 return false; 62 return true; 63 } 64 // 65 public Cartime queryUserByID(String numcar) 66 { 67 // TODO Auto-generated method stub 68 //System.out.println(carDAO.get(numcar)); 69 return carDAO.get(numcar);//返回查到的值 70 } 71 72 73 74 /***汽车备份操作*/ 75 76 public boolean addBackCar(CarBackUp user) 77 { 78 79 // TODO Auto-generated method stub 80 carDAO2.save(user);//采用了表2,z 81 return true; 82 } 83 84 public boolean deleteCar(Cartime user) 85 { 86 // TODO Auto-generated method stub 87 carDAO.delete(user); 88 89 return true; 90 } 91 // 92 public List<CarBackUp> queryAllCarBackUp() 93 { 94 // TODO Auto-generated method stub 95 return carDAO2.findAll(); 96 } 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 }
showcar.jsp
1 <%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8"%> 3 <%@taglib prefix="s" uri="/struts-tags" %> 4 5 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 6 <html> 7 <head> 8 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 9 <LINK href="css/admin.css" type="text/css" rel="stylesheet"> 10 <LINK href="css/theme.css" type="text/css" rel="stylesheet"> 11 12 <title>Insert title here</title> 13 </head> 14 <body> 15 <center> 16 <s:if test="#request.allUserList.size>0"> 17 停车信息管理 18 <table border="1" class="tab_css_1" width="80%"> 19 <tr> 20 <th>汽车车牌号</th> 21 <th>记录员</th> 22 <th>停车时间</th> 23 <th>离开时间</th> 24 <th>车位号</th> 25 <th>停车场</th> 26 <th colspan="1">操作</th> 27 </tr> 28 <s:iterator value="#request.allUserList" id="u"> 29 <tr class="tr_css" align="center"> 30 <td><s:property value="#u.numcar"/></td> 31 <td><s:property value="#u.player"/></td> 32 <td><s:property value="#u.time1"/></td> 33 <td><s:property value="#u.time2"/></td> 34 <td><s:property value="#u.carid"/>(号)</td> 35 <td><s:property value="#u.parkid"/>(场)</td> 36 37 <td> 38 <s:a href="Backup.action?numcar=%{#u.numcar}" onclick="return confirm('确定删除?');">删除</s:a>
<!-- 用来根据number 获取数据-->
39 </td> 40 </tr> 41 </s:iterator> 42 </table> 43 <s:if test="#request.pb!=null"> 44 45 46 </s:if> 47 </s:if> 48 <s:else> 49 <font size="4" color="red">没有查询到任何记录</font> 50 </s:else> 51 </center> 52 53 </body> 54 </html>
数据库结构