文章目录
代码展示
Dao层实现
UserDaoImpl
IUserDao
ShoppingDaoImpl
Dao层接口
Service层接口
IShoppingService
Service层实现
UserServiceImpl
ShoppingServiceImpl
实体层
User
Shoping
Controller层
ChangeServlet
ClearServlet
CommodityServlet
DeletServlet
InsertUserServlet
LogoutServlet
QueryServlet
RegisterServlet
UpdatenumServlet
前端html
change.jsp
commod.jsp
delete.jsp
enter.jsp
index.jsp
login.jsp
logout.jsp
panduan.jsp
panduan1.jsp
panduan2.jsp
panduan3.jsp
panduan4.jsp
shopping.jsp
css
代码展示
Dao层实现
UserDaoImpl
package org.lyl.taobao.dao.impl; import org.lyl.taobao.api.entity.Shoping; import org.lyl.taobao.api.entity.User; import org.lyl.taobao.dao.IUserDao; import java.sql.*; public class UserDaoImpl implements IUserDao { @Override public boolean insertUser(User user) throws SQLException { boolean x = true; Connection conn = null; try { Class.forName("com.mysql.cj.jdbc.Driver"); conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/runoob","root","asd.123"); } catch (ClassNotFoundException | SQLException e) { e.printStackTrace(); } String sql = "insert into user values(null,?,?,?)"; String sql1 = "select * from user"; java.sql.Statement st = conn.createStatement(); ResultSet rs = st.executeQuery(sql1); while (rs.next()) { String name = rs.getString("uername"); if (name.equals(user.getUserName())) { x = false; } } if (x==true) { PreparedStatement pst = null; pst = conn.prepareStatement(sql); pst.setString(1, user.getUserName()); pst.setString(2, user.getUserPassword()); pst.setString(3, user.getPhone()); int len = pst.executeUpdate(); if (len>0){ return true; } } return false; } @Override public boolean change(User user) throws ClassNotFoundException { Class.forName("com.mysql.cj.jdbc.Driver"); try { Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/runoob", "root", "asd.123"); String sql = "select * from user"; Statement st = conn.createStatement(); ResultSet rs = st.executeQuery(sql); while (rs.next()){ String name = rs.getString("uername"); String phone = rs.getString("phone"); if (name.equals(user.getUserName())&&phone.equals(user.getPhone())){ String sql1 = "UPDATE user SET PASSWORD=? WHERE uername=?"; PreparedStatement ps = conn.prepareStatement(sql1); ps.setString(1,user.getUserPassword()); ps.setString(2,user.getUserName()); ps.execute(); return true; } } } catch (Exception e ) { e.printStackTrace(); return false; } return false; } public static int uid; @Override public boolean register(User user) { try { Shoping shoping = new Shoping(); Class.forName("com.mysql.cj.jdbc.Driver"); Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/runoob","root","asd.123"); String sql = "select * from user"; java.sql.Statement st = conn.createStatement(); ResultSet rs = st.executeQuery(sql); while (rs.next()){ String paw = rs.getString("password"); String name = rs.getString("uername"); int id = rs.getInt("id"); if (paw.equals(user.getUserPassword())&&name.equals(user.getUserName())){ uid = id; return true; } } rs.close(); st.close(); conn.close(); } catch (Exception e) { e.printStackTrace(); } return false; } @Override public boolean delete(User user) { try { Class.forName("com.mysql.cj.jdbc.Driver"); Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/runoob","root","asd.123"); String sql = "delete from user where uername=?"; String sql1 = "select * from user"; String sql2 = "delete from shopping where uid=?"; java.sql.Statement st = conn.createStatement(); ResultSet rs = st.executeQuery(sql1); PreparedStatement pr = conn.prepareStatement(sql); PreparedStatement pr1 = conn.prepareStatement(sql2); while (rs.next()){ String name = rs.getString("uername"); String password = rs.getString("password"); if (name.equals(user.getUserName())&&password.equals(user.getUserPassword())) { pr.setString(1,name); pr1.setInt(1,uid); pr.execute(); pr1.execute(); return true; } } } catch (Exception e) { e.printStackTrace(); return false; } return false; } }
IUserDao
package org.lyl.taobao.dao; import org.lyl.taobao.api.entity.User; import java.sql.SQLException; public interface IUserDao { boolean insertUser(User user) throws SQLException; boolean change(User user) throws ClassNotFoundException; boolean register(User user); boolean delete(User user); }
ShoppingDaoImpl
package org.lyl.taobao.dao.impl; import org.lyl.taobao.api.entity.Shoping; import org.lyl.taobao.dao.IShoppingDao; import java.sql.*; import java.util.ArrayList; import java.util.List; public class ShoppingDaoImpl implements IShoppingDao { @Override public boolean commodity(Shoping shoping) { boolean z = false; try { Class.forName("com.mysql.cj.jdbc.Driver"); Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/runoob","root","asd.123"); String sql = "insert into shopping values(null,?,?,?,?,?)"; String sql1 = "select * from shopping"; String sql2 = "update shopping set num = ? where name = ?"; PreparedStatement pst = conn.prepareStatement(sql); Statement st = conn.createStatement(); ResultSet rs = st.executeQuery(sql1); while (rs.next()) { String name = rs.getString("name"); int uid = rs.getInt("uid"); int num = rs.getInt("num"); if (name.equals(shoping.getName())&&uid==UserDaoImpl.uid){ num ++; PreparedStatement ps = conn.prepareStatement(sql2); ps.setInt(1,num); ps.setString(2,shoping.getName()); ps.execute(); z = true; return true; } } if (z!=true){ pst.setString(1,shoping.getName()); pst.setString(2,shoping.getInformation()); pst.setInt(3,shoping.getPrice()); pst.setInt(4,shoping.getNum()); pst.setInt(5,UserDaoImpl.uid); } int len = pst.executeUpdate(); if (len>0){ return true; } pst.close(); conn.close(); } catch (Exception e) { e.printStackTrace(); return false; } return false; } public static int x = 0; @Override public List<Shoping> query() { // ArrayList<String> list = new ArrayList<>(); List<Shoping> list = new ArrayList<>(); try { Class.forName("com.mysql.cj.jdbc.Driver"); Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/runoob","root","asd.123"); String sql = "select * from shopping"; java.sql.Statement st = conn.createStatement(); ResultSet rs = st.executeQuery(sql); while (rs.next()){ int uid = rs.getInt("uid"); if (uid==UserDaoImpl.uid){ int id = rs.getInt("id"); String name = rs.getString("name"); String information = rs.getString("information"); int price = rs.getInt("price"); int num = rs.getInt("num"); // String info = "商品名:" + name+" | " + "商品信息:" + information +" | "+ "价格:" + price +" | "+"数量:"+num; // list.add(info); Shoping shoping = new Shoping(id,name,information,price,num); list.add(shoping); x += price*num; } } } catch (Exception e) { e.printStackTrace(); } return list; } // @Override // public List queryid() { // ArrayList<Integer> list = new ArrayList<>(); // try { // Class.forName("com.mysql.cj.jdbc.Driver"); // Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/runoob","root","asd.123"); // String sql = "select * from shopping"; // java.sql.Statement st = conn.createStatement(); // ResultSet rs = st.executeQuery(sql); // while (rs.next()){ // int uid = rs.getInt("uid"); // if (uid==UserDaoImpl.uid){ // int id = rs.getInt("id"); // list.add(id); // } // } // } catch (Exception e) { // e.printStackTrace(); // } // return list; // } @Override public boolean delet(Shoping shoping) { try { Class.forName("com.mysql.cj.jdbc.Driver"); Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/runoob","root","asd.123"); String sql = "delete from shopping where id=?"; String sql1 = "select * from shopping"; java.sql.Statement st = conn.createStatement(); ResultSet rs = st.executeQuery(sql1); PreparedStatement pr = conn.prepareStatement(sql); while (rs.next()){ int id = rs.getInt("id"); int uid = rs.getInt("uid"); if (shoping.getId()==id&&uid==UserDaoImpl.uid) { pr.setInt(1,id); pr.execute(); return true; } } } catch (Exception e) { e.printStackTrace(); return false; } return false; } @Override public boolean clear(Shoping shoping) { try { Class.forName("com.mysql.cj.jdbc.Driver"); Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/runoob","root","asd.123"); String sql = "delete from shopping where uid =?"; String sql1 = "select * from shopping"; PreparedStatement pr = conn.prepareStatement(sql); java.sql.Statement st = conn.createStatement(); ResultSet rs = st.executeQuery(sql1); while (rs.next()){ int uid = rs.getInt("uid"); if (UserDaoImpl.uid==uid) { pr.setInt(1,uid); pr.execute(); return true; } } pr.execute(); } catch (Exception e) { e.printStackTrace(); } return true; } @Override public boolean update(Shoping shoping) { try { Class.forName("com.mysql.cj.jdbc.Driver"); Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/runoob","root","asd.123"); String sql1 = "select * from shopping"; String sql2 = "update shopping set num = ? where id = ?"; Statement st = conn.createStatement(); ResultSet rs = st.executeQuery(sql1); while (rs.next()){ int id = rs.getInt("id"); int uid = rs.getInt("uid"); int num = rs.getInt("num"); if (id==shoping.getId()&&uid==UserDaoImpl.uid){ num--; if (num==0){ return false; }else { PreparedStatement ps = conn.prepareStatement(sql2); ps.setInt(1, num); ps.setInt(2, id); ps.execute(); } } } rs.close(); st.close(); conn.close(); } catch (Exception e) { e.printStackTrace(); } return true; } }
Dao层接口
package org.lyl.taobao.dao; import org.lyl.taobao.api.entity.Shoping; import java.util.List; public interface IShoppingDao { boolean commodity(Shoping shoping); List<Shoping> query(); // List queryid(); boolean delet(Shoping shoping); boolean clear(Shoping shoping); boolean update(Shoping shoping); }
Service层接口
package org.lyl.taobao.api; import org.lyl.taobao.api.entity.User; import java.sql.SQLException; public interface IUserService { boolean insertUser(User user) throws SQLException; boolean change(User user) throws ClassNotFoundException; boolean register(User user); boolean delete (User user); }
IShoppingService
package org.lyl.taobao.api; import org.lyl.taobao.api.entity.Shoping; import java.util.List; public interface IShoppingService { boolean commodity(Shoping shoping); List<Shoping> query(); boolean delet(Shoping shoping); boolean clear(Shoping shoping); boolean update(Shoping shoping); }
Service层实现
UserServiceImpl
package org.lyl.taobao.service; import org.lyl.taobao.api.IUserService; import org.lyl.taobao.api.entity.User; import org.lyl.taobao.dao.IUserDao; import org.lyl.taobao.dao.impl.UserDaoImpl; import java.sql.SQLException; public class UserServiceImpl implements IUserService { @Override public boolean insertUser(User user) throws SQLException { IUserDao iUserDao = new UserDaoImpl(); return iUserDao.insertUser(user); } @Override public boolean change(User user) throws ClassNotFoundException { IUserDao iUserDao = new UserDaoImpl(); return iUserDao.change(user); } @Override public boolean register(User user) { IUserDao iUserDao = new UserDaoImpl(); return iUserDao.register(user); } @Override public boolean delete(User user) { IUserDao iUserDao = new UserDaoImpl(); return iUserDao.delete(user); } }
ShoppingServiceImpl
package org.lyl.taobao.service; import org.lyl.taobao.api.IShoppingService; import org.lyl.taobao.api.entity.Shoping; import org.lyl.taobao.dao.IShoppingDao; import org.lyl.taobao.dao.impl.ShoppingDaoImpl; import java.util.List; public class ShoppingServiceImpl implements IShoppingService { @Override public boolean commodity(Shoping shoping) { IShoppingDao iShoppingDao = new ShoppingDaoImpl(); return iShoppingDao.commodity(shoping); } @Override public List<Shoping> query() { IShoppingDao iShoppingDao = new ShoppingDaoImpl(); return iShoppingDao.query(); } @Override public boolean delet(Shoping shoping) { IShoppingDao iShoppingDao = new ShoppingDaoImpl(); return iShoppingDao.delet(shoping); } @Override public boolean clear(Shoping shoping) { IShoppingDao iShoppingDao = new ShoppingDaoImpl(); return iShoppingDao.clear(shoping); } @Override public boolean update(Shoping shoping) { IShoppingDao iShoppingDao = new ShoppingDaoImpl(); return iShoppingDao.update(shoping); } }
实体层
User
package org.lyl.taobao.api.entity; public class User { private String userName; private String userPassword; private String phone; /** * 用户注册和修改密码 * @param userName * @param userPassword * @param phone */ public User(String userName, String userPassword, String phone) { this.userName = userName; this.userPassword = userPassword; this.phone = phone; } /** * 用户登录 * @param userName * @param userPassword */ public User(String userName, String userPassword) { this.userName = userName; this.userPassword = userPassword; } public String getUserName() { return userName; } public String getPhone() { return phone; } public String getUserPassword() { return userPassword; } @Override public String toString() { return "User{" + "userName='" + userName + '\'' + ", userPassword='" + userPassword + '\'' + ", phone=" + phone + '}'; } }
Shoping
package org.lyl.taobao.api.entity; public class Shoping { private int id; private String name; private String information; private int price; private int num; private int uid; public Shoping() { } public Shoping(String name, String information, int price, int num) { this.name = name; this.information = information; this.price = price; this.num = num; } public Shoping(String name, String information, int price) { this.name = name; this.information = information; this.price = price; } public Shoping(int id) { this.id = id; } public Shoping(int id, String name, String information, int price, int num) { this.id = id; this.name = name; this.information = information; this.price = price; this.num = num; } public int getId() { return id; } public String getName() { return name; } public String getInformation() { return information; } public int getPrice() { return price; } public int getNum() { return num; } public int getUid() { return uid; } public void setUid(int uid) { this.uid = uid; } @Override public String toString() { return "Shooping{" + "name='" + name + '\'' + ", information='" + information + '\'' + ", price=" + price + ", num=" + num + '}'; } }
Controller层
ChangeServlet
package org.lyl.taobao.controller; import lombok.SneakyThrows; import org.lyl.taobao.api.IUserService; import org.lyl.taobao.api.entity.User; import org.lyl.taobao.service.UserServiceImpl; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; @WebServlet("/change") public class ChangeServlet extends HttpServlet { static boolean x ; @SneakyThrows @Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { req.setCharacterEncoding("utf-8"); resp.setContentType("text/html;utf-8"); String name = req.getParameter("uname"); String paw = req.getParameter("upaw"); String num = req.getParameter("phone"); if (name==""||paw==""||num==""){ req.setAttribute("msg","输入的值不能为空!!!"); req.getRequestDispatcher("change.jsp").forward(req,resp); }else { User user1 = new User(name,paw,num); IUserService iUserService = new UserServiceImpl(); x = iUserService.change(user1); resp.sendRedirect("panduan1.jsp"); } } public static boolean x() { return x; } }
ClearServlet
package org.lyl.taobao.controller; import org.lyl.taobao.api.IShoppingService; import org.lyl.taobao.api.entity.Shoping; import org.lyl.taobao.service.ShoppingServiceImpl; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; @WebServlet("/clear") public class ClearServlet extends HttpServlet { public static boolean x; @Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { req.setCharacterEncoding("utf-8"); resp.setContentType("text/html;utf-8"); Shoping shoping = new Shoping(); IShoppingService iShoppingService = new ShoppingServiceImpl(); x = iShoppingService.clear(shoping); if (x){ resp.sendRedirect("shopping.jsp"); } } }
CommodityServlet
package org.lyl.taobao.controller; import org.lyl.taobao.api.IShoppingService; import org.lyl.taobao.api.entity.Shoping; import org.lyl.taobao.service.ShoppingServiceImpl; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; @WebServlet("/com") public class CommodityServlet extends HttpServlet { static boolean x; @Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { req.setCharacterEncoding("UTF-8"); resp.setContentType("text/html;utf-8"); String name = req.getParameter("names"); String information = req.getParameter("informations"); int price = Integer.parseInt(req.getParameter("prices")); int num = Integer.parseInt(req.getParameter("num")); Shoping shoping1 = new Shoping(name,information,price,num); IShoppingService iShoppingService = new ShoppingServiceImpl(); x = iShoppingService.commodity(shoping1); resp.sendRedirect("panduan3.jsp"); } public static boolean x(){ return x; } }
DeletServlet
package org.lyl.taobao.controller; import org.lyl.taobao.api.IShoppingService; import org.lyl.taobao.api.entity.Shoping; import org.lyl.taobao.service.ShoppingServiceImpl; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; @WebServlet("/del") public class DeletServlet extends HttpServlet { static boolean x; @Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { req.setCharacterEncoding("UTF-8"); resp.setContentType("text/html;utf-8"); int id = Integer.parseInt(req.getParameter("id")); Shoping shoping = new Shoping(id); IShoppingService iShoppingService = new ShoppingServiceImpl(); x =iShoppingService.delet(shoping); resp.sendRedirect("panduan2.jsp"); } public static boolean x(){ return x; } }
InsertUserServlet
package org.lyl.taobao.controller; import org.lyl.taobao.api.IUserService; import org.lyl.taobao.api.entity.User; import org.lyl.taobao.service.UserServiceImpl; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import java.io.IOException; @WebServlet("/insertUser") public class InsertUserServlet extends HttpServlet { static boolean x; @lombok.SneakyThrows @Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { req.setCharacterEncoding("utf-8"); resp.setContentType("text/html;utf-8"); String name = req.getParameter("names"); String paw = req.getParameter("paw"); String num = req.getParameter("num"); if (name==""||paw==""||num==""){ req.setAttribute("msg","输入的值不能为空!!!"); req.getRequestDispatcher("login.jsp").forward(req,resp); }else { User user = new User(name,paw,num); IUserService iUserService = new UserServiceImpl(); x = iUserService.insertUser(user); resp.sendRedirect("panduan4.jsp"); } } public static boolean x() { return x; } }
LogoutServlet
package org.lyl.taobao.controller; import org.lyl.taobao.api.IUserService; import org.lyl.taobao.api.entity.User; import org.lyl.taobao.service.UserServiceImpl; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; @WebServlet("/lout") public class LogoutServlet extends HttpServlet { public static boolean x; @Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { req.setCharacterEncoding("UTF-8"); resp.setContentType("text/html;utf-8"); String password = req.getParameter("password"); User user = new User(RegisterServlet.name1,password); IUserService iUserService = new UserServiceImpl(); x = iUserService.delete(user); if (x){ resp.sendRedirect("index.jsp"); }else { req.setAttribute("msg","密码错误,注销失败!!!"); req.getRequestDispatcher("logout.jsp").forward(req,resp); } } }
QueryServlet
package org.lyl.taobao.controller; import org.lyl.taobao.api.IShoppingService; import org.lyl.taobao.api.entity.Shoping; import org.lyl.taobao.service.ShoppingServiceImpl; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import java.io.IOException; import java.util.List; @WebServlet("/que") public class QueryServlet extends HttpServlet { @Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { req.setCharacterEncoding("UTF-8"); resp.setContentType("text/html;utf-8"); HttpSession session = req.getSession(); IShoppingService iShoppingService = new ShoppingServiceImpl(); List<Shoping> shopings = iShoppingService.query(); session.setAttribute("shop",shopings); resp.sendRedirect("shopping.jsp"); } // public static List list(){ // Shoping shoping = new Shoping(); // IShoppingService iShoppingService = new ShoppingServiceImpl(); // return iShoppingService.query(shoping); // } }