1. 程式人生 > >商品資訊系統

商品資訊系統

entity層

package com.hjf.entity; public class Course {  private int id;
 private String name;
 private String place;
 private String guige;
 private String number;  public int getId()
 {
  return id;
 }  public void setId(int id)
 {
  this.id = id;
 }  public String getName()
 {
  return name;
 }  public void setName(String name)
 {
  this.name = name;
 }  public String getPlace()
 {
  return place;
 }  public void setPlace(String place)
 {
  this.place = place;
 }  public String getGuige()
 {
  return guige;
 }  public void setGuige(String guige)
 {
  this.guige = guige;
 }  public String getNumber()
 {
  return number;
 }  public void setNumber(String number)
 {
  this.number = number;
 }  public Course() {}
 
 public Course(int id, String name, String teacher, String classroom,String number) {
  this.id = id;
  this.name = name;
  this.place = place;
  this.guige = guige;
  this.number=number;
 }
 
 public Course(String name, String teacher, String classroom,String number) {
  this.name = name;
  this.place = place;
  this.guige = guige;
  this.number=number;
 }
 
 dao層 package com.hjf.dao; import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List; import com.hjf.entity.Course;
import com.hjf.util.DBUtil; /**
 * 商品Dao
 * Dao層操作資料
 * @author L
 *
 */
public class CourseDao {  /**
  * 新增
  * @param course
  * @return
  */
 public boolean add(Course course) {
  String sql = "insert into course(name, place, guige,number) values('" + course.getName() + "','" + course.getPlace() + "','" + course.getGuige() + "','" + course.getNumber()+"')";
  Connection conn = DBUtil.getConn();
  Statement state = null;
  boolean f = false;
  int a = 0;
  
  try {
   state = conn.createStatement();
   state.executeUpdate(sql);
  } catch (Exception e) {
   e.printStackTrace();
  } finally {
   DBUtil.close(state, conn);
  }
  
  if (a > 0) {
   f = true;
  }
  return f;
 }  /**
  * 刪除
  *
  * @param id
  * @return
  */
 public boolean delete (int id) {
  boolean f = false;
  String sql = "delete from course where id='" + id + "'";
  Connection conn = DBUtil.getConn();
  Statement state = null;
  int a = 0;
  
  try {
   state = conn.createStatement();
   a = state.executeUpdate(sql);
  } catch (SQLException e) {
   e.printStackTrace();
  } finally {
   DBUtil.close(state, conn);
  }
  
  if (a > 0) {
   f = true;
  }
  return f;
 }  /**
  * 修改
  * @param name
  * @param pass
  */
 public boolean update(Course course) {
  String sql = "update course set name='" + course.getName() + "', place='" + course.getPlace() + "', guige='" + course.getGuige()+"', number='" + course.getNumber()
   + "' where id='" + course.getId() + "'";
  Connection conn = DBUtil.getConn();
  Statement state = null;
  boolean f = false;
  int a = 0;   try {
   state = conn.createStatement();
   a = state.executeUpdate(sql);
  } catch (SQLException e) {
   e.printStackTrace();
  } finally {
   DBUtil.close(state, conn);
  }
  
  if (a > 0) {
   f = true;
  }
  return f;
 }
 
 /**
  * 驗證課程名稱是否唯一
  * true --- 不唯一
  * @param name
  * @return
  */
 public boolean name(String name) {
  boolean flag = false;
  String sql = "select name from course where name = '" + name + "'";
  Connection conn = DBUtil.getConn();
  Statement state = null;
  ResultSet rs = null;
  
  try {
   state = conn.createStatement();
   rs = state.executeQuery(sql);
   while (rs.next()) {
    flag = true;
   }
  } catch (SQLException e) {
   e.printStackTrace();
  } finally {
   DBUtil.close(rs, state, conn);
  }
  return flag;
 }
 
 /**
  * 通過ID得到類
  * @param id
  * @return
  */
 public Course getCourseById(int id) {
  String sql = "select * from course where id ='" + id + "'";
  Connection conn = DBUtil.getConn();
  Statement state = null;
  ResultSet rs = null;
  Course course = null;
  
  try {
   state = conn.createStatement();
   rs = state.executeQuery(sql);
   while (rs.next()) {
    String name = rs.getString("name");
    String place = rs.getString("place");
    String guige = rs.getString("guige");
    String number = rs.getString("number");
    course = new Course(id, name, place,guige,number);
   }
  } catch (Exception e) {
   e.printStackTrace();
  } finally {
   DBUtil.close(rs, state, conn);
  }
  
  return course;
 }
 
 /**
  * 通過name得到Course
  * @param name
  * @return
  */
 public Course getCourseByName(String name) {
  String sql = "select * from course where name ='" + name + "'";
  Connection conn = DBUtil.getConn();
  Statement state = null;
  ResultSet rs = null;
  Course course = null;
  
  try {
   state = conn.createStatement();
   rs = state.executeQuery(sql);
   while (rs.next()) {
    int id = rs.getInt("id");
    String place = rs.getString("place");
    String guige = rs.getString("guige");
    String number = rs.getString("number");
    course = new Course(id, name, place, guige,number);
   }
  } catch (Exception e) {
   e.printStackTrace();
  } finally {
   DBUtil.close(rs, state, conn);
  }
  
  return course;
 }
 
 /**
  * 查詢
  * @param name
  * @param place
  * @param guige
  * @param number
  * @return
  */
 public List<Course> search(String name, String place, String guige,String number) {
  String sql = "select * from course where ";
  if (name != "") {
   sql += "name like '%" + name + "%'";
  }
  if (place != "") {
   sql += "place like '%" + place + "%'";
  }
  if (guige != "") {
   sql += "guige like '%" + guige + "%'";
  }
  if (number != "") {
   sql += "name like '%" + number + "%'";
  }
  List<Course> list = new ArrayList<>();
  Connection conn = DBUtil.getConn();
  Statement state = null;
  ResultSet rs = null;   try {
   state = conn.createStatement();
   rs = state.executeQuery(sql);
   Course bean = null;
   while (rs.next()) {
    int id = rs.getInt("id");
    String name2 = rs.getString("name");
    String place2 = rs.getString("place");
    String guige2 = rs.getString("guige");
    String number2 = rs.getString("number2");
    bean = new Course(id, name2, place2, guige2,number2);
    list.add(bean);
   }
  } catch (SQLException e) {
   e.printStackTrace();
  } finally {
   DBUtil.close(rs, state, conn);
  }
  
  return list;
 }
 
 /**
  * 全部資料
  * @param name
  * @param place
  * @param guige
  * @return
  */
 public List<Course> list() {
  String sql = "select * from course";
  List<Course> list = new ArrayList<>();
  Connection conn = DBUtil.getConn();
  Statement state = null;
  ResultSet rs = null;   try {
   state = conn.createStatement();
   rs = state.executeQuery(sql);
   Course bean = null;
   while (rs.next()) {
    int id = rs.getInt("id");
    String name2 = rs.getString("name");
    String place2 = rs.getString("place");
    String guige2 = rs.getString("guige");
    String number2 = rs.getString("number2");
    bean = new Course(id, name2, place2, guige2,number2);
    list.add(bean);
   }
  } catch (SQLException e) {
   e.printStackTrace();
  } finally {
   DBUtil.close(rs, state, conn);
  }
  
  return list;
 } }   增刪改查方法的set層 package com.hjf.service; import java.util.List; import com.hjf.dao.CourseDao;
import com.hjf.entity.Course; /**
 * CourseService
 * 服務層
 * @author L
 *
 */
public class CourseService {  CourseDao cDao = new CourseDao();
 
 /**
  * 新增
  * @param course
  * @return
  */
 public boolean add(Course course) {
  boolean f = false;
  if(!cDao.name(course.getName())) {
   cDao.add(course);
   f = true;
  }
  return f;
 }
 
 /**
  * 刪除
  */
 public void del(int id) {
  cDao.delete(id);
 }
 
 /**
  * 修改
  * @return
  */
 public void update(Course course) {
  cDao.update(course);
 }
 
 /**
  * 通過ID得到一個Course
  * @return
  */
 public Course getCourseById(int id) {
  return cDao.getCourseById(id);
 }  /**
  * 通過name得到一個Course
  * @return
  */
 public Course getCourseByName(String name) {
  return cDao.getCourseByName(name);
 }
 
 /**
  * 查詢
  * @return
  */
 public List<Course> search(String name, String place, String guige,String number) {
  return cDao.search(name, place, guige,number);
 }
 
 /**
  * 全部資料
  * @return
  */
 public List<Course> list() {
  return cDao.list();
 }
} servelet層 package com.hjf.service; import java.util.List; import com.hjf.dao.CourseDao;
import com.hjf.entity.Course; /**
 * CourseService
 * 服務層
 * @author Hu
 *
 */
public class CourseService {  CourseDao cDao = new CourseDao();
 
 /**
  * 新增
  * @param course
  * @return
  */
 public boolean add(Course course) {
  boolean f = false;
  if(!cDao.name(course.getName())) {
   cDao.add(course);
   f = true;
  }
  return f;
 }
 
 /**
  * 刪除
  */
 public void del(int id) {
  cDao.delete(id);
 }
 
 /**
  * 修改
  * @return
  */
 public void update(Course course) {
  cDao.update(course);
 }
 
 /**
  * 通過ID得到一個Course
  * @return
  */
 public Course getCourseById(int id) {
  return cDao.getCourseById(id);
 }  /**
  * 通過name得到一個Course
  * @return
  */
 public Course getCourseByName(String name) {
  return cDao.getCourseByName(name);
 }
 
 /**
  * 查詢
  * @return
  */
 public List<Course> search(String name, String place, String guige,String number) {
  return cDao.search(name, place, guige,number);
 }
 
 /**
  * 全部資料
  * @return
  */
 public List<Course> list() {
  return cDao.list();
 }
}   連線資料庫的DButil package com.hjf.util; import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement; /**
 * 資料庫連線工具
 * @author Hu
 *
 */
public class DBUtil {
 
 public static String db_url = "jdbc:mysql://localhost:3306/test?&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC";
 public static String db_user = "root";
 public static String db_pass = "root";
 
 public static Connection getConn () {
  Connection conn = null;
  
  try {
   Class.forName("com.mysql.cj.jdbc.Driver");//連線資料庫
   conn = DriverManager.getConnection(db_url, db_user, db_pass);
  } catch (Exception e) {
   e.printStackTrace();
  }
  
  return conn;
 }
 
 /**
  * 關閉連線
  * @param state
  * @param conn
  */
 public static void close (Statement state, Connection conn) {
  if (state != null) {
   try {
    state.close();
   } catch (SQLException e) {
    e.printStackTrace();
   }
  }
  
  if (conn != null) {
   try {
    conn.close();
   } catch (SQLException e) {
    e.printStackTrace();
   }
  }
 }
 
 public static void close (ResultSet rs, Statement state, Connection conn) {
  if (rs != null) {
   try {
    rs.close();
   } catch (SQLException e) {
    e.printStackTrace();
   }
  }
  
  if (state != null) {
   try {
    state.close();
   } catch (SQLException e) {
    e.printStackTrace();
   }
  }
  
  if (conn != null) {
   try {
    conn.close();
   } catch (SQLException e) {
    e.printStackTrace();
   }
  }
 } }   二、JSP add.jsp <%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<style>
 .a{
  margin-top: 20px;
 }
 .b{
  font-size: 20px;
  width: 160px;
  color: white;
  background-color: greenyellow;
 }
</style>
</head>
<body>  <%
      Object message = request.getAttribute("message");
      if(message!=null && !"".equals(message)){
 
 %>
      <script type="text/javascript">
           alert("<%=request.getAttribute("message")%>");
      </script>
 <%} %>
 <div align="center">
  <h1 style="color: red;">物資資訊錄入</h1>
  <a href="index.jsp">返回主頁</a>
  <form action="CourseServlet method=add" method="post" onsubmit="return check()">
   <div class="a">
    物資名稱<input type="text" id="name" name="name"/>
   </div>
   <div class="a">
    生產廠家<input type="text" id="place" name="place" />
   </div>
   <div class="a">
    生產規格<input type="text" id="guige" name="guige" />
   </div>
   <div class="a">
    生產型號<input type="text" id="number" name="number" />
   </div>
   <div class="a">
    <button type="submit" class="b">保&nbsp;&nbsp;&nbsp;存</button>
   </div>
  </form>
 </div>
 <script type="text/javascript">
  function check() {
   var name = document.getElementById("name");;
   var place = document.getElementById("place");
   var guige = document.getElementById("guige");
   var number = document.getElementById("number");
   
   //非空
   if(name.value == '')
   {
    alert('物資名稱為空');
    name.focus();
    return false;
   }
   
   if(place.value == '')
   {
    alert('生產廠家為空');
    place.focus();
    return false;
   }
   
   if(guige.value == '')
   {
    alert('生產規格為空');
    guige.focus();
    return false;
   }
   
   if(number.value == '')
   {
    alert('生產型號為空');
    guige.focus();
    return false;
   }
}
  
 </script>
</body>
</html>   del.jsp <%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<style>
 .a{
  margin-top: 20px;
 }
 .b{
  font-size: 20px;
  width: 160px;
  color: white;
  background-color: greenyellow;
 }
</style>
</head>
<body>
 <%
      Object message = request.getAttribute("message");
      if(message!=null && !"".equals(message)){
 
 %>
      <script type="text/javascript">
           alert("<%=request.getAttribute("message")%>");
      </script>
 <%} %>
 <div align="center">
  <h1 style="color: red;">物資資訊刪除</h1>
  <a href="index.jsp">返回主頁</a>
  <form action="CourseServlet?method=getcoursebyname" method="post" onsubmit="return check()">
   <div class="a">
    物資名稱<input type="text" id="name" name="name"/>
   </div>
   <div class="a">
    <button type="submit" class="b">查&nbsp;&nbsp;&nbsp;找</button>
   </div>
  </form>
 </div>
 <script type="text/javascript">
  function check()
  {
   var name = document.getElementById("name");
   
   //非空
   if(name.value == '')
   {
    alert('物資名稱為空');
    name.focus();
    return false;
   }
  }
 </script>
</body>
</html>   detail.jsp (刪除) <%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<style>
 .a{
  margin-top: 20px;
 }
 .b{
  font-size: 20px;
  width: 160px;
  color: white;
  background-color: greenyellow;
 }
 .tb, td {
  border: 1px solid black;
  font-size: 22px;
 }
</style>
</head>
<body>
 <div align="center">
  <h1 style="color: red;">物資資訊刪除</h1>
  <a href="index.jsp">返回主頁</a>
  <table class="tb">
   <tr>
    <td>物資名稱</td>
    <td>${course.name}</td>
   </tr>
   <tr>
    <td>生產廠家</td>
    <td>${course.place}</td>
   </tr>
   <tr>
    <td>生產規格</td>
    <td>${course.guige}</td>
   </tr>
   <tr>
    <td>生產型號</td>
    <td>${course.number}</td>
   </tr>
  </table>
  <div class="a">
   <a onclick="return check()" href="CourseServlet?method=del&id=${course.id}">刪&nbsp;&nbsp;&nbsp;除</a>
  </div>
 </div>
 <script type="text/javascript">
  function check() {
   if (confirm("真的要刪除嗎?"))
   {
    return true;
   }
   else
   {
    return false;
   }
  }
 </script>
</body>
</html>   detail2.jsp (修改) <%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<style>
 .a{
  margin-top: 20px;
 }
 .b{
  font-size: 20px;
  width: 160px;
  color: white;
  background-color: greenyellow;
 }
</style>
</head>
<body>
 <%
      Object message = request.getAttribute("message");
      if(message!=null && !"".equals(message)){
 
 %>
      <script type="text/javascript">
           alert("<%=request.getAttribute("message")%>");
      </script>
 <%} %>
 <div align="center">
  <h1 style="color: red;">物資資訊修改</h1>
  <a href="index.jsp">返回主頁</a>
  <form action="CourseServlet?method=update" method="post" onsubmit="return check()">
   <div class="a">
    物資名稱<input type="text" id="name" name="name" value="${course.name}"/>
   </div>
   <div class="a">
    生產廠家<input type="text" id="place" name="place" value="${course.place}"/>
   </div>
   <div class="a">
    生產規格<input type="text" id="guige" name="guige" value="${course.guige}"/>
   </div>
   <div class="a">
    生產型號<input type="text" id="number" name="number" value="${course.number}"/>
   </div>
   <input type="hidden" id="id" name="id" value="${course.id}"/>
   <div class="a">
    <button type="submit" class="b">修&nbsp;&nbsp;&nbsp;改</button>
   </div>
  </form>
 </div>
 <script type="text/javascript">
  function check()
  {
   var name = document.getElementById("name");;
   var place = document.getElementById("place");
   var guige = document.getElementById("guige");
   var number = document.getElementById("number");
   
   //非空
   if(name.value == '')
   {
    alert('物資名稱為空');
    name.focus();
    return false;
   }
   
   if(place.value == '')
   {
    alert('生產廠家為空');
    place.focus();
    return false;
   }
   
   if(guige.value == '')
   {
    alert('生產規格為空');
    guige.focus();
    return false;
   }
   
   if(number.value == '')
   {
    alert('生產型號為空');
    guige.focus();
    return false;
   }
   
  }
 </script>
</body>
</html>   index.jsp(初始介面) <%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>首頁</title>
<style>
 .a{
  font-size: 26px;
  margin-top: 20px;
 }
</style>
</head>
<body>
 <div align="center">
  <h1 style="color: red;">庫存物資管理系統</h1>
  <div class="a">
   <a href="add.jsp">物資資訊錄入</a>
  </div>
  <div class="a">
   <a href="CourseServlet?method=list">物資資訊修改</a>
  </div>
  <div class="a">
   <a href="del.jsp">物資資訊刪除</a>
  </div>
  <div class="a">
   <a href="search.jsp">物資資訊查詢</a>
  </div>
 </div>
</body>
</html>   list.jsp(查詢選單) <%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>首頁</title>
<style>
 .a{
  font-size: 26px;
  margin-top: 20px;
 }
</style>
</head>
<body>
 <div align="center">
  <h1 style="color: red;">庫存物資管理系統</h1>
  <div class="a">
   <a href="add.jsp">物資資訊錄入</a>
  </div>
  <div class="a">
   <a href="CourseServlet?method=list">物資資訊修改</a>
  </div>
  <div class="a">
   <a href="del.jsp">物資資訊刪除</a>
  </div>
  <div class="a">
   <a href="search.jsp">物資資訊查詢</a>
  </div>
 </div>
</body>
</html>   search.jsp (搜尋顯示介面) <%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>首頁</title>
<style>
 .a{
  font-size: 26px;
  margin-top: 20px;
 }
</style>
</head>
<body>
 <div align="center">
  <h1 style="color: red;">庫存物資管理系統</h1>
  <div class="a">
   <a href="add.jsp">物資資訊錄入</a>
  </div>
  <div class="a">
   <a href="CourseServlet?method=list">物資資訊修改</a>
  </div>
  <div class="a">
   <a href="del.jsp">物資資訊刪除</a>
  </div>
  <div class="a">
   <a href="search.jsp">物資資訊查詢</a>
  </div>
 </div>
</body>
</html>   searchlist.jsp (遍歷層) <%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<style>
 .a{
  margin-top: 20px;
 }
 .b{
  font-size: 20px;
  width: 160px;
  color: white;
  background-color: greenyellow;
 }
 .tb, td {
  border: 1px solid black;
  font-size: 22px;
 }
</style>
</head>
<body>
 <div align="center">
  <h1 style="color: red;">物資資訊列表</h1>
  <a href="index.jsp">返回主頁</a>
  <table class="tb">
   <tr>
    <td>id</td>
    <td>物資名稱</td>
    <td>生產廠家</td>
    <td>生產規格</td>
    <td>生產型號</td>
   </tr>
   <!-- forEach遍歷出adminBeans -->
   <c:forEach items="${courses}" var="item" varStatus="status">
    <tr>
     <td>${item.id}</td>
     <td><a>${item.name}</a></td>
     <td>${item.place}</td>
     <td>${item.guige}</td>
     <td>${item.number}</td>
    </tr>
   </c:forEach>
  </table>
 </div>
</body>
</html>   總結:革命尚未成功,同志仍需努力