总结:在这次的测验中看清楚题目的要求,没有分析好项目制作的调理,导致在做的时候比较盲目,所有在制作的后期比较慌乱。并且在此次实验中还犯了一个比较致命的错误,就是在进行数据库的操作过程中运用了和数据库相近的字符,导致添加和修改操作都无法进行,还有就是在数据的类型定义的时候不够认真,在界面中的字符与数据表中的的类型不符合,也导致无法对数据库进行操作,导致无法进行相关操作,所以浪费了大量的时间。
这是在这次项目中所建的文件:这个项目中运用了javabean和Servlet
首先要建立两个数据表,以存放商品信息和仓库物资信息:我建的是shop1和house
然后就是运用javabean,我在com.jdbc.bean包里建立了两个类分别是Shop类和House类
Shop类路径 /house/src/com/jdbc/bean/Shop.java
1 package com.jdbc.bean; 2 3 public class Shop { 4 5 private int id; 6 public Shop(String name, String product, String type, String guige) { 7 // TODO 自动生成的构造函数存根 8 this.name = name; 9 this.guige = guige; 10 this.type = type; 11 this.product = product; 12 } 13 public Shop(int id, String name, String product, String type, String guige) { 14 // TODO 自动生成的构造函数存根 15 this.id = id; 16 this.name = name; 17 this.guige = guige; 18 this.type = type; 19 this.product = product; 20 21 } 22 public int getId() { 23 return id; 24 } 25 public void setId(int id) { 26 this.id = id; 27 } 28 public String getName() { 29 return name; 30 } 31 public void setName(String name) { 32 this.name = name; 33 } 34 public String getProduct() { 35 return product; 36 } 37 public void setProduct(String product) { 38 this.product = product; 39 } 40 public String getType() { 41 return type; 42 } 43 public void setType(String type) { 44 this.type = type; 45 } 46 public String getGuige() { 47 return guige; 48 } 49 public void setGuige(String guige) { 50 this.guige = guige; 51 } 52 private String name; 53 private String product; 54 private String type; 55 private String guige; 56 }
House类:路径 /house/src/com/jdbc/bean/House.java
代码:
1 package com.jdbc.bean; 2 3 import java.sql.Date; 4 import java.sql.Time; 5 import java.sql.Timestamp; 6 7 public class House { 8 9 private int id; 10 public House(String name, String product, String type, String guige, int number, Timestamp timeStamp, 11 String place, String person) { 12 // TODO 自动生成的构造函数存根 13 this.name = name; 14 this.product = product; 15 this.type = type; 16 this.guige = guige; 17 this.number = number; 18 this.date = timeStamp; 19 this.place = place; 20 this.person = person; 21 } 22 public int getId() { 23 return id; 24 } 25 public void setId(int id) { 26 this.id = id; 27 } 28 public String getName() { 29 return name; 30 } 31 public void setName(String name) { 32 this.name = name; 33 } 34 public String getProduct() { 35 return product; 36 } 37 public void setProduct(String product) { 38 this.product = product; 39 } 40 public String getType() { 41 return type; 42 } 43 public void setType(String type) { 44 this.type = type; 45 } 46 public String getGuige() { 47 return guige; 48 } 49 public void setGuige(String guige) { 50 this.guige = guige; 51 } 52 public int getNumber() { 53 return number; 54 } 55 public void setNumber(int number) { 56 this.number = number; 57 } 58 public Timestamp getDate() { 59 return date; 60 } 61 public void setDate(Timestamp date) { 62 this.date = date; 63 } 64 public String getTime() { 65 return time; 66 } 67 public void setTime(String time) { 68 this.time = time; 69 } 70 public String getPlace() { 71 return place; 72 } 73 public void setPlace(String place) { 74 this.place = place; 75 } 76 public String getPerson() { 77 return person; 78 } 79 public void setPerson(String person) { 80 this.person = person; 81 } 82 private String name; 83 private String product; 84 private String type; 85 private String guige; 86 private int number; 87 private Timestamp date; 88 private String time; 89 private String place; 90 private String person; 91 92 93 94 }
然后下一部要建立数据库连接,这部分我放在com.jdbc.util包中实现
在com.jdbc.util建立BaseConnection类,以实现数据库的连接与关闭:
路径 /house/src/com/jdbc/util/BaseConnection.java
代码如下:
1 package com.jdbc.util; 2 3 import java.sql.Connection; 4 import java.sql.DriverManager; 5 import java.sql.ResultSet; 6 import java.sql.SQLException; 7 import java.sql.Statement; 8 9 public class BaseConnection { 10 11 public static Connection getConnection(){//用这个方法获取mysql的连接 12 Connection conn=null; 13 String driver = "com.mysql.jdbc.Driver"; 14 String url = "jdbc:mysql://localhost:3306/sql?characterEncoding=utf8&useSSL=true"; 15 String user = "root"; 16 String password = "gy1212"; 17 try{ 18 Class.forName(driver);//加载驱动类 19 conn=DriverManager. 20 getConnection(url,user,password);//(url数据库的IP地址,user数据库用户名,password数据库密码) 21 }catch(Exception e){ 22 e.printStackTrace(); 23 } 24 return conn; 25 } 26 27 public static void close (Statement state, Connection conn) { 28 if (state != null) { 29 try { 30 state.close(); 31 } catch (SQLException e) { 32 e.printStackTrace(); 33 } 34 } 35 36 if (conn != null) { 37 try { 38 conn.close(); 39 } catch (SQLException e) { 40 e.printStackTrace(); 41 } 42 } 43 } 44 45 public static void close (ResultSet rs, Statement state, Connection conn) { 46 if (rs != null) { 47 try { 48 rs.close(); 49 } catch (SQLException e) { 50 e.printStackTrace(); 51 } 52 } 53 54 if (state != null) { 55 try { 56 state.close(); 57 } catch (SQLException e) { 58 e.printStackTrace(); 59 } 60 } 61 62 if (conn != null) { 63 try { 64 conn.close(); 65 } catch (SQLException e) { 66 e.printStackTrace(); 67 } 68 } 69 } 70 71 72 public static void main(String[] args) { 73 System.out.println("连接成功"); 74 } 75 }
并且要定义两个类对bean进行操作,这里我把它分装在com.jdbc.dao包中,用ShopDao和HouseDao来实现两个类的基本操作。
ShopDao:路径 /house/src/com/jdbc/dao/ShopDao.java
这段代码实现了商品信息的添加,根据四中属性的任意一种进行模糊查询,根据名称删除,修改
代码如下:
1 package com.jdbc.dao; 2 3 import java.sql.Connection; 4 import java.sql.PreparedStatement; 5 import java.sql.ResultSet; 6 import java.sql.SQLException; 7 import java.sql.Statement; 8 import java.util.ArrayList; 9 import java.util.List; 10 11 import com.jdbc.bean.Shop; 12 import com.jdbc.util.BaseConnection; 13 14 public class ShopDao { 15 16 17 public static boolean add(Shop shop) 18 { 19 boolean f = false; 20 Connection conn = BaseConnection.getConnection(); 21 //PreparedStatement ps=null; 22 String sql = "insert into shop1(name, product, type, guige) values('" + shop.getName() + "','" + shop.getProduct() + "','" + shop.getType() + "','" + shop.getGuige() + "')"; 23 //String sql = "insert into course1(name,teacher,classroom) values('" + cour.getName() + "','" + cour.getTeacher() + "','" + cour.getClassroom() + "')'"; 24 Statement state = null; 25 int a = 0; 26 try { 27 state = conn.createStatement(); 28 a = state.executeUpdate(sql); 29 30 31 } catch (SQLException e) { 32 // TODO 自动生成的 catch 块 33 e.printStackTrace(); 34 } 35 36 if(a >0) 37 { 38 System.out.println("添加成功"); 39 f = true; 40 }else { 41 System.out.println("失败"); 42 } 43 return f; 44 } 45 46 public static Shop getByName(String name) 47 { 48 49 String sql = "select * from shop1 where name ='" + name + "'"; 50 Connection conn = BaseConnection.getConnection(); 51 Shop shop = null; 52 Statement state = null; 53 ResultSet rs = null; 54 55 try { 56 state = conn.createStatement(); 57 rs = state.executeQuery(sql); 58 while (rs.next()) { 59 int id = rs.getInt("id"); 60 String product = rs.getString("product"); 61 String type = rs.getString("type"); 62 String guige = rs.getString("guige"); 63 shop = new Shop(id, name, product, type , guige); 64 } 65 } catch (SQLException e) { 66 // TODO 自动生成的 catch 块 67 e.printStackTrace(); 68 }finally { 69 BaseConnection.close(rs, state, conn); 70 } 71 return shop; 72 } 73 74 public static boolean delete(int id) 75 { 76 boolean f = false; 77 String sql = "delete from shop1 where id='" + id + "'"; 78 Statement state = null; 79 Connection conn = BaseConnection.getConnection(); 80 81 int a = 0; 82 83 try { 84 state = conn.createStatement(); 85 a = state.executeUpdate(sql); 86 87 } catch (SQLException e) { 88 // TODO 自动生成的 catch 块 89 e.printStackTrace(); 90 }finally { 91 BaseConnection.close(state, conn); 92 } 93 94 if(a > 0) 95 { 96 System.out.println("删除成功"); 97 f = true; 98 } 99 100 101 102 return f; 103 104 } 105 106 public static List<Shop> find(String name ,String product ,String type , String guige) 107 { 108 109 List<Shop> list = new ArrayList<Shop>(); 110 111 String sql = "select * from shop1 where "; 112 if (name != "") { 113 sql += "name like '%" + name + "%'"; 114 } 115 if (product != "") { 116 sql += "product like '%" + product + "%'"; 117 } 118 if (type != "") { 119 sql += "type like '%" + type + "%'"; 120 } 121 if (guige != "") { 122 sql += "guige like '%" + guige + "%'"; 123 } 124 125 Connection conn = BaseConnection.getConnection(); 126 Statement state = null; 127 ResultSet rs = null; 128 129 try { 130 state = conn.createStatement(); 131 rs = state.executeQuery(sql); 132 Shop shop = null; 133 while (rs.next()) { 134 135 int id = rs.getInt("id"); 136 String name2 = rs.getString("name"); 137 String product2 = rs.getString("product"); 138 String type2 = rs.getString("type"); 139 String guige2 = rs.getString("guige"); 140 shop = new Shop(id, name2, product2, type2 , guige2); 141 list.add(shop); 142 } 143 } catch (SQLException e) { 144 // TODO 自动生成的 catch 块 145 e.printStackTrace(); 146 }finally 147 { 148 BaseConnection.close(rs, state, conn); 149 } 150 return list; 151 } 152 153 public static boolean update(Shop shop ) 154 { 155 boolean f = false; 156 157 Connection conn= BaseConnection.getConnection(); 158 PreparedStatement ps=null; 159 String sql="update shop1 set product=?,type=?,guige=? where name=?"; 160 try{ 161 ps=conn.prepareStatement(sql); 162 163 ps.setString(1,shop.getProduct()); 164 ps.setString(2,shop.getType()); 165 ps.setString(3,shop.getGuige()); 166 ps.setString(4, shop.getName()); 167 int a=ps.executeUpdate(); 168 if(a>0){ 169 f = true; 170 System.out.println("修改成功"); 171 }else{ 172 System.out.println("修改失败"); 173 } 174 }catch(Exception e){ 175 e.printStackTrace(); 176 }finally{ 177 try{ 178 if(ps!=null){ 179 ps.close(); 180 }if(conn!=null){ 181 conn.close(); 182 } 183 }catch(Exception e2){ 184 e2.printStackTrace(); 185 } 186 } 187 188 189 return f; 190 } 191 192 }
HouseDao:路径 /house/src/com/jdbc/dao/HouseDao.java
实现了输的添加和根据商品名称进行模糊查询
代码如下:
1 package com.jdbc.dao; 2 3 import java.sql.Connection; 4 import java.sql.PreparedStatement; 5 import java.sql.ResultSet; 6 import java.sql.SQLException; 7 import java.sql.Statement; 8 import java.sql.Timestamp; 9 import java.util.ArrayList; 10 import java.util.List; 11 12 import com.jdbc.bean.House; 13 import com.jdbc.bean.Shop; 14 import com.jdbc.util.BaseConnection; 15 16 public class HouseDao { 17 18 public static boolean add(House house) 19 { 20 boolean f = false; 21 Connection conn= BaseConnection.getConnection(); 22 23 String sql = "insert into house values(?,?,?,?,?,?,?,?)"; 24 25 PreparedStatement ps=null; 26 try{ 27 28 ps= conn.prepareStatement(sql);//把写好的sql语句传递到数据库,让数据库知道我们要干什么 29 30 ps.setString(1,house.getName()); 31 ps.setString(2,house.getProduct()); 32 ps.setString(3,house.getType()); 33 ps.setString(4,house.getGuige()); 34 ps.setInt(5,house.getNumber()); 35 ps.setTimestamp(6,house.getDate()); 36 ps.setString(7,house.getPlace()); 37 ps.setString(8,house.getPerson()); 38 39 int a=ps.executeUpdate();//这个方法用于改变数据库数据,a代表改变数据库的条数 40 if(a>0){ 41 f = true; 42 System.out.println("添加成功"); 43 }else{ 44 System.out.println("添加失败"); 45 46 } 47 }catch(Exception e){ 48 e.printStackTrace(); 49 }try{ 50 if(ps!=null){ 51 ps.close(); 52 }if(conn!=null){ 53 conn.close(); 54 } 55 }catch(Exception e2){ 56 e2.printStackTrace(); 57 } 58 59 60 return f; 61 } 62 63 public static List<House> find(String name ) 64 { 65 66 List<House> list = new ArrayList<House>(); 67 68 String sql = "select * from house where "; 69 70 sql += "name like '%" + name + "%'";/* 71 80 81 Connection conn = BaseConnection.getConnection(); 82 Statement state = null; 83 ResultSet rs = null; 84 85 try { 86 state = conn.createStatement(); 87 rs = state.executeQuery(sql); 88 House house = null; 89 while (rs.next()) { 90 91 92 String name2 = rs.getString("name"); 93 String product2 = rs.getString("product"); 94 String type2 = rs.getString("type"); 95 String guige2 = rs.getString("guige"); 96 int number = rs.getInt("number"); 97 Timestamp date = rs.getTimestamp("date"); 98 String place = rs.getString("place"); 99 String person = rs.getString("person"); 100 101 house = new House(name2, product2, type2 , guige2,number,date,place,person); 102 list.add(house); 103 } 104 } catch (SQLException e) { 105 // TODO 自动生成的 catch 块 106 e.printStackTrace(); 107 }finally 108 { 109 BaseConnection.close(rs, state, conn); 110 } 111 return list; 112 } 113 }
之后应该处理的就是Servlet类了,这里我建立了两个Servlet类,分别对不同的bean进行操作
HouseServlet:路径 /house/src/com/jdbc/servlet/HouseServlet.java
代码如下
1 package com.jdbc.servlet; 2 3 import java.io.IOException; 4 import java.io.UnsupportedEncodingException; 5 import java.sql.Timestamp; 6 import java.util.Date; 7 import java.util.List; 8 9 import javax.servlet.ServletException; 10 import javax.servlet.annotation.WebServlet; 11 import javax.servlet.http.HttpServlet; 12 import javax.servlet.http.HttpServletRequest; 13 import javax.servlet.http.HttpServletResponse; 14 15 import com.jdbc.bean.House; 16 import com.jdbc.dao.HouseDao; 17 import com.jdbc.dao.ShopDao; 18 19 /** 20 * Servlet implementation class HouseServlet 21 */ 22 @WebServlet("/HouseServlet") 23 public class HouseServlet extends HttpServlet { 24 private static final long serialVersionUID = 1L; 25 26 /** 27 * @see HttpServlet#HttpServlet() 28 */ 29 public HouseServlet() { 30 super(); 31 // TODO Auto-generated constructor stub 32 } 33 34 /** 35 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) 36 */ 37 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 38 // TODO Auto-generated method stub 39 //response.getWriter().append("Served at: ").append(request.getContextPath()); 40 response.setContentType("text/html;charset=UTF-8"); 41 request.setCharacterEncoding("UTF-8"); 42 String method = request.getParameter("method"); 43 44 if(method.equals("add")) 45 { 46 add(request,response); 47 }if (method.equals("find")) { 48 find(request,response); 49 } 50 51 } 52 53 private void find(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 54 // TODO 自动生成的方法存根 55 response.setContentType("text/html;charset=UTF-8"); 56 request.setCharacterEncoding("UTF-8"); 57 58 String name = request.getParameter("name"); 59 List<House> list = HouseDao.find(name) ; 60 request.setAttribute("list", list); 61 request.getRequestDispatcher("houseResult.jsp").forward(request,response); 62 } 63 64 private void add(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 65 // TODO 自动生成的方法存根 66 response.setContentType("text/html;charset=UTF-8"); 67 request.setCharacterEncoding("UTF-8"); 68 69 String name = request.getParameter("name"); 70 String product = request.getParameter("product"); 71 String type = request.getParameter("type"); 72 String guige = request.getParameter("guige"); 73 int number = Integer.parseInt(request.getParameter("number")); 74 Date date = new Date(); 75 Timestamp timeStamp = new Timestamp(date.getTime()); 76 String place = request.getParameter("place"); 77 String person = request.getParameter("person"); 78 79 House house = new House(name, product,type,guige,number,timeStamp,place,person); 80 if (HouseDao.add(house)) { 81 82 request.setAttribute("message", "添加成功"); 83 request.getRequestDispatcher("houseadd.jsp").forward(request,response); 84 }else { 85 request.setAttribute("message", "添加失败"); 86 request.getRequestDispatcher("houseadd.jsp").forward(request,response); 87 } 88 89 90 91 } 92 93 /** 94 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 95 */ 96 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 97 // TODO Auto-generated method stub 98 doGet(request, response); 99 } 100 101 }
ShopServlet:路径 /house/src/com/jdbc/servlet/ShopServlet.java
代码如下:
1 package com.jdbc.servlet; 2 3 import java.io.IOException; 4 import java.io.UnsupportedEncodingException; 5 import java.util.List; 6 7 import javax.servlet.ServletException; 8 import javax.servlet.annotation.WebServlet; 9 import javax.servlet.http.HttpServlet; 10 import javax.servlet.http.HttpServletRequest; 11 import javax.servlet.http.HttpServletResponse; 12 13 import com.jdbc.bean.Shop; 14 import com.jdbc.dao.ShopDao; 15 16 /** 17 * Servlet implementation class ShopServlet 18 */ 19 @WebServlet("/ShopServlet") 20 public class ShopServlet extends HttpServlet { 21 private static final long serialVersionUID = 1L; 22 23 /** 24 * @see HttpServlet#HttpServlet() 25 */ 26 public ShopServlet() { 27 super(); 28 // TODO Auto-generated constructor stub 29 } 30 31 /** 32 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) 33 */ 34 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 35 // TODO Auto-generated method stub 36 //response.getWriter().append("Served at: ").append(request.getContextPath()); 37 response.setContentType("text/html;charset=UTF-8"); 38 request.setCharacterEncoding("UTF-8"); 39 String method = request.getParameter("method"); 40 41 if(method.equals("add")) 42 { 43 add(request,response); 44 }else if (method.equals("getByName")) { 45 getByName(request,response); 46 }else if (method.equals("delete")) { 47 delete(request,response); 48 }else if (method.equals("find")) { 49 find(request,response); 50 }else if (method.equals("update")) { 51 update(request, response); 52 } 53 } 54 55 private void find(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 56 // TODO 自动生成的方法存根 57 response.setContentType("text/html;charset=UTF-8"); 58 request.setCharacterEncoding("UTF-8"); 59 60 String name = request.getParameter("name"); 61 String product = request.getParameter("product"); 62 String type = request.getParameter("type"); 63 String guige = request.getParameter("guige"); 64 List<Shop> list = ShopDao.find(name,product,type,guige); 65 request.setAttribute("list", list); 66 //response.setHeader("refresh", "0;url=findResult.jsp"); 67 request.getRequestDispatcher("findResult.jsp").forward(request,response); 68 } 69 70 private void update(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 71 // TODO 自动生成的方法存根 72 String name = request.getParameter("name"); 73 String product = request.getParameter("product"); 74 String type = request.getParameter("type"); 75 String guige = request.getParameter("guige"); 76 Shop shop = new Shop(name, product, type, guige); 77 if(ShopDao.update(shop)) 78 { 79 request.setAttribute("message", "修改成功"); 80 request.getRequestDispatcher("main.jsp").forward(request, response); 81 }else 82 { 83 request.setAttribute("message", "修改失败"); 84 request.getRequestDispatcher("update.jsp").forward(request, response); 85 } 86 } 87 88 private void delete(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 89 // TODO 自动生成的方法存根 90 request.setCharacterEncoding("UTF-8"); 91 response.setHeader("content-type","text/html;charset=UTF-8"); 92 93 int id = Integer.parseInt(request.getParameter("id")); 94 95 if (ShopDao.delete(id)) { 96 request.setAttribute("message", "删除成功"); 97 request.getRequestDispatcher("main.jsp").forward(request, response); 98 }else { 99 request.setAttribute("message", "删除失败"); 100 request.getRequestDispatcher("delete.jsp").forward(request, response); 101 } 102 } 103 104 private void getByName(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 105 // TODO 自动生成的方法存根 106 request.setCharacterEncoding("UTF-8"); 107 String name = request.getParameter("name"); 108 Shop shop =ShopDao.getByName(name); 109 if(shop == null) 110 { 111 112 request.setAttribute("message", "查无此课程!"); 113 request.getRequestDispatcher("delete.jsp").forward(request,response); 114 }else 115 { 116 System.out.println(shop.getId()); 117 request.setAttribute("shop", shop); 118 request.getRequestDispatcher("del.jsp").forward(request,response); 119 } 120 } 121 122 private void add(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 123 // TODO 自动生成的方法存根 124 request.setCharacterEncoding("UTF-8"); 125 126 String name = request.getParameter("name"); 127 String product = request.getParameter("product"); 128 String type = request.getParameter("type"); 129 String guige = request.getParameter("guige"); 130 131 Shop shop = new Shop(name, product, type, guige); 132 133 if (ShopDao.add(shop)) { 134 request.setAttribute("message", "添加成功"); 135 request.getRequestDispatcher("add.jsp").forward(request,response); 136 }else { 137 request.setAttribute("message", "添加失败"); 138 request.getRequestDispatcher("add.jsp").forward(request,response); 139 } 140 } 141 142 143 144 /** 145 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 146 */ 147 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 148 // TODO Auto-generated method stub 149 doGet(request, response); 150 } 151 152 }
然后就是进行页面的设计了:
首先建立主界面:main.jsp:路径 /house/WebContent/add.jsp
1 <%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8"%> 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 4 <html> 5 <head> 6 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 7 <title>Insert title here</title> 8 </head> 9 <body> 10 <div align="center"> 11 12 <div class="a"> 13 <a href="add.jsp">商品信息添加</a> 14 </div> 15 <div class="a"> 16 <a href="update.jsp">商品信息修改</a> 17 </div> 18 <div class="a"> 19 <a href="delete.jsp">商品信息删除</a> 20 </div> 21 <div class="a"> 22 <a href="find.jsp">商品信息查询</a> 23 </div> 24 <div class="a"> 25 <a href="houseadd.jsp">入库信息添加</a> 26 </div> 27 <div class="a"> 28 <a href="housefind.jsp">入库信息查询</a> 29 </div> 30 </div> 31 </body> 32 </html>
然后是商品信息的添加:add.jsp:路径 /house/WebContent/add.jsp
1 <%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8"%> 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 4 <html> 5 <head> 6 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 7 <title>添加</title> 8 </head> 9 <body> 10 <% 11 Object message = request.getAttribute("message"); 12 if(message!=null && !"".equals(message)){ 13 14 %> 15 <script type="text/javascript"> 16 alert("<%=request.getAttribute("message")%>"); 17 </script> 18 <%} %> 19 <div align="center"> 20 <h1 style="color: black;">商品信息录入</h1> 21 <a href="main.jsp">返回主页</a> 22 <form action="${pageContext.request.contextPath}/ShopServlet?method=add" method="post" onsubmit="return check()"> 23 <div class="a"> 24 商品名称<input type="text" id="name" name="name"/> 25 </div> 26 <div class="a"> 27 生产厂家<input type="text" id="product" name="product" /> 28 </div> 29 <div class="a"> 30 商品型号<input type="text" id="type" name="type" /> 31 </div> 32 <div class="a"> 33 商品规格<input type="text" id="guige" name="guige" /> 34 </div> 35 <div class="a"> 36 <button type="submit" class="b">保 存</button> 37 </div> 38 </form> 39 </div> 40 <script type="text/javascript"> 41 function check() { 42 var name = document.getElementById("name");; 43 var product = document.getElementById("product"); 44 var type = document.getElementById("type"); 45 var guige = document.getElementById("guige"); 46 47 //非空 48 if(name.value == '') { 49 alert('商品名称为空'); 50 name.focus(); 51 return false; 52 } 53 if(product.value == '') { 54 alert('生产厂家为空'); 55 product.focus(); 56 return false; 57 } 58 if(type.value == '') { 59 alert('商品型号为空'); 60 type.focus(); 61 return false; 62 }if(guige.value == '') { 63 alert('商品规格'); 64 guige.focus(); 65 return false; 66 } 67 } 68 </script> 69 </body> 70 </html>
商品删除界面:delete.jsp:路径 /house/WebContent/delete.jsp
代码如下:
1 <%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8"%> 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 4 <html> 5 <head> 6 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 7 <title>删除</title> 8 </head> 9 <body> 10 <% 11 Object message = request.getAttribute("message"); 12 if(message!=null && !"".equals(message)){ 13 14 %> 15 <script type="text/javascript"> 16 alert("<%=request.getAttribute("message")%>"); 17 </script> 18 <%} %> 19 20 <div align="center"> 21 <h1 style="color: black;">商品信息删除</h1> 22 <a href="main.jsp">返回主页</a> 23 <form action="${pageContext.request.contextPath}/ShopServlet?method=getByName" method="post" onsubmit="return check()"> 24 <div class="a"> 25 商品名称<input type="text" id="name" name="name"/> 26 </div> 27 <div class="a"> 28 <button type="submit" class="b">查 找</button> 29 </div> 30 </form> 31 </div> 32 <script type="text/javascript"> 33 function check() { 34 var name = document.getElementById("name");; 35 36 //非空 37 if(name.value == '') { 38 alert('商品名称为空'); 39 name.focus(); 40 return false; 41 } 42 } 43 </script> 44 </body> 45 </html>
然后通过另外一个界面对删除信息进行确认:
del.jsp:路径 /house/WebContent/del.jsp
代码如下:
1 <%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8"%> 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 4 <html> 5 <head> 6 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 7 <title>确认删除</title> 8 </head> 9 <body> 10 <style> 11 .a{ 12 margin-top: 20px; 13 } 14 .b{ 15 font-size: 20px; 16 160px; 17 color: white; 18 background-color: greenyellow; 19 } 20 .tb, td { 21 border: 1px solid black; 22 font-size: 22px; 23 } 24 </style> 25 </head> 26 <body> 27 <div align="center"> 28 <h1 style="color: black;">商品信息删除</h1> 29 <a href="main.jsp">返回主页</a> 30 <table class="tb"> 31 <tr> 32 <td>商品名称</td> 33 <td>${shop.name}</td> 34 </tr> 35 <tr> 36 <td>商品厂家</td> 37 <td>${shop.product}</td> 38 </tr> 39 <tr> 40 <td>商品型号</td> 41 <td>${shop.type}</td> 42 </tr> 43 <tr> 44 <td>商品规格</td> 45 <td>${shop.guige}</td> 46 </tr> 47 </table> 48 <div class="a"> 49 <a onclick="return check()" href="${pageContext.request.contextPath}/ShopServlet?method=delete&id=${shop.id}">删 除</a> 50 </div> 51 </div> 52 <script type="text/javascript"> 53 function check() { 54 if (confirm("真的要删除吗?")){ 55 return true; 56 }else{ 57 return false; 58 } 59 } 60 </script> 61 </body> 62 </html>
商品查找界面:find.jsp:路径 /house/WebContent/find.jsp
代码如下:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>查询</title> </head> <body> <div align="center"> <h1 style="color: black;">商品信息查询</h1> <a href="main.jsp">返回主页</a> <form action="${pageContext.request.contextPath}/ShopServlet?method=find" method="post" onsubmit="return check()"> <div class="a"> 商品名称<input type="text" id="name" name="name"/> </div> <div class="a"> 商品厂家<input type="text" id="product" name="product" /> </div> <div class="a"> 商品型号<input type="text" id="type" name="type" /> </div> <div class="a"> 商品规格<input type="text" id="guige" name="guige" /> </div> <div class="a"> <button type="submit" class="b">查 询</button> </div> </form> </div> <script type="text/javascript"> function check() { var name = document.getElementById("name");; var product = document.getElementById("product"); var type = document.getElementById("type"); var guige = document.getElementById("guige"); //非空 if(name.value == '' && product.value == '' && type.value == '' && guige.value == '') { alert('请填写一个条件'); return false; } } </script> </body> </html>
查找结果的输出:findResult:路径 /house/WebContent/findResult.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 PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>查询结果</title> </head> <body> <div align="center"> <h1 style="color: black;">课程信息列表</h1> <a href="main.jsp">返回主页</a> <table class="tb"> <tr> <td>id</td> <td>商品名称</td> <td>生产厂家</td> <td>商品型号</td> <td>商品规格</td> </tr> <!-- forEach遍历出adminBeans --> <c:forEach items="${list}" var="item" varStatus="status"> <tr> <td>${item.id}</td> <td><a>${item.name}</a></td> <td>${item.product}</td> <td>${item.type}</td> <td>${item.guige}</td> </tr> </c:forEach> </table> </div> </body> </html>
商品信息的修改:路径 /house/WebContent/update.jsp
代码如下:
1 <%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8"%> 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 4 <html> 5 <head> 6 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 7 <title>Insert title here</title> 8 </head> 9 <body> 10 <% 11 Object message = request.getAttribute("message"); 12 if(message!=null && !"".equals(message)){ 13 14 %> 15 <script type="text/javascript"> 16 alert("<%=request.getAttribute("message")%>"); 17 </script> 18 <%} %> 19 <div align="center"> 20 <h1 style="color: black;">商品信息修改</h1> 21 <a href="main.jsp">返回主页</a> 22 <form action="${pageContext.request.contextPath}/ShopServlet?method=update" method="post" onsubmit="return check()"> 23 <div class="a"> 24 商品名称<input type="text" id="name" name="name"/> 25 </div> 26 <div class="a"> 27 生产厂家<input type="text" id="product" name="product" /> 28 </div> 29 <div class="a"> 30 商品型号<input type="text" id="type" name="type" /> 31 </div> 32 <div class="a"> 33 商品规格<input type="text" id="guige" name="guige" /> 34 </div> 35 <div class="a"> 36 <button type="submit" class="b">保 存</button> 37 </div> 38 </form> 39 </div> 40 <script type="text/javascript"> 41 function check() { 42 var name = document.getElementById("name");; 43 var product = document.getElementById("product"); 44 var type = document.getElementById("type"); 45 var guige = document.getElementById("guige"); 46 47 //非空 48 if(name.value == '') { 49 alert('商品名称为空'); 50 name.focus(); 51 return false; 52 } 53 if(product.value == '') { 54 alert('生产厂家为空'); 55 product.focus(); 56 return false; 57 } 58 if(type.value == '') { 59 alert('商品型号为空'); 60 type.focus(); 61 return false; 62 }if(guige.value == '') { 63 alert('商品规格'); 64 guige.focus(); 65 return false; 66 } 67 } 68 </script> 69 </body> 70 </html>
对于仓库信息的添加:houseadd.jsp:路径 /house/WebContent/houseadd.jsp
代码如下:
1 <%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8"%> 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 4 <html> 5 <head> 6 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 7 <title>入库信息录入</title> 8 </head> 9 <body> 10 <% 11 Object message = request.getAttribute("message"); 12 if(message!=null && !"".equals(message)){ 13 14 %> 15 <script type="text/javascript"> 16 alert("<%=request.getAttribute("message")%>"); 17 </script> 18 <%} %> 19 <div align="center"> 20 <h1 style="color: black;">商品信息录入</h1> 21 <a href="main.jsp">返回主页</a> 22 <form action="${pageContext.request.contextPath}/HouseServlet?method=add" method="post" onsubmit="return check()"> 23 <div class="a"> 24 商品名称<input type="text" id="name" name="name"/> 25 </div> 26 <div class="a"> 27 生产厂家<input type="text" id="product" name="product" /> 28 </div> 29 <div class="a"> 30 商品型号<input type="text" id="type" name="type" /> 31 </div> 32 <div class="a"> 33 商品规格<input type="text" id="guige" name="guige" /> 34 </div> 35 <div class="a"> 36 商品数量<input type="text" id="number" name="number" /> 37 </div> 38 <div class="a"> 39 入库单位<input type="text" id="place" name="place" /> 40 </div> 41 <div class="a"> 42 送货人姓名<input type="text" id="person" name="person" /> 43 </div> 44 45 <div class="a"> 46 <button type="submit" class="b">保 存</button> 47 </div> 48 </form> 49 </div> 50 <script type="text/javascript"> 51 function check() { 52 var name = document.getElementById("name");; 53 var product = document.getElementById("product"); 54 var type = document.getElementById("type"); 55 var guige = document.getElementById("guige"); 56 var number = document.getElementById("number"); 57 58 var place = document.getElementById("place"); 59 var person = document.getElementById("person"); 60 61 62 //非空 63 if(name.value == '') { 64 alert('商品名称为空'); 65 name.focus(); 66 return false; 67 } 68 if(product.value == '') { 69 alert('生产厂家为空'); 70 product.focus(); 71 return false; 72 } 73 if(type.value == '') { 74 alert('商品型号为空'); 75 type.focus(); 76 return false; 77 }if(guige.value == '') { 78 alert('商品规格'); 79 guige.focus(); 80 return false; 81 }if(number.value == '') { 82 alert('商品数量为空'); 83 number.focus(); 84 return false; 85 }if(place.value == '') { 86 alert('商品入库单位为空'); 87 place.focus(); 88 return false; 89 }if(person.value == '') { 90 alert('送货人为空'); 91 person.focus(); 92 return false; 93 } 94 } 95 </script> 96 </body> 97 </html>
对于仓库信息的查询:housefind.jsp:路径 /house/WebContent/housefind.jsp
代码如下:
1 <%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8"%> 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 4 <html> 5 <head> 6 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 7 <title>Insert title here</title> 8 </head> 9 <body> 10 <% 11 Object message = request.getAttribute("message"); 12 if(message!=null && !"".equals(message)){ 13 14 %> 15 <script type="text/javascript"> 16 alert("<%=request.getAttribute("message")%>"); 17 </script> 18 <%} %> 19 <div align="center"> 20 <h1 style="color: black;">仓库信息查询</h1> 21 <a href="main.jsp">返回主页</a> 22 <form action="${pageContext.request.contextPath}/HouseServlet?method=find" method="post" onsubmit="return check()"> 23 <div class="a"> 24 商品名称<input type="text" id="name" name="name"/> 25 </div> 26 <div class="a"> 27 <button type="submit" class="b">保 存</button> 28 </div> 29 </form> 30 </div> 31 <script type="text/javascript"> 32 function check() { 33 var name = document.getElementById("name");; 34 35 36 //非空 37 if(name.value == "") { 38 alert('请填写条件'); 39 return false; 40 } 41 } 42 </script> 43 </body> 44 </html>
将查询结果进行输出:houseRseult:路径 /house/WebContent/houseResult.jsp
代码如下:
1 <%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8"%> 3 <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> 4 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 5 <html> 6 <head> 7 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 8 <title>查询结果</title> 9 </head> 10 <body> 11 <div align="center"> 12 <h1 style="color: black;">课程信息列表</h1> 13 <a href="main.jsp">返回主页</a> 14 <table class="tb"> 15 <tr> 16 17 <td>商品名称</td> 18 <td>生产厂家</td> 19 <td>商品型号</td> 20 <td>商品规格</td> 21 <td>数量</td> 22 <td>时间</td> 23 <td>入库单位</td> 24 <td>送货人</td> 25 </tr> 26 <!-- forEach遍历出adminBeans --> 27 <c:forEach items="${list}" var="item" varStatus="status"> 28 <tr> 29 30 <td><a>${item.name}</a></td> 31 <td>${item.product}</td> 32 <td>${item.type}</td> 33 <td>${item.guige}</td> 34 <td>${item.number}</td> 35 <td>${item.date }</td> 36 <td>${item.place }</td> 37 <td>${item.person }</td> 38 </tr> 39 </c:forEach> 40 </table> 41 </div> 42 </body> 43 </html>