Hướng dẫn tạo giỏ hàng bằng session trong jsp servlet năm 2024
Sau đó bạn viết các lớp nối đến database phục vụ cho việc lấy dữ liệu. Có 2 lớp, lớp ConnectDBFactory dùng để kết nối đến database, ở đây chúng ta kết nối đến hệ quản trị cơ sở dữ liệu MySQL và lớp XulyDB bao gồm các thao tác xử lý căn bản. package www.vvh.com.db; import java.sql.Connection; import java.sql.DriverManager; public class ConnectDBFactory { private static Connection con; public static Connection CreateMySqlConnection (String database)throws Exception{ }
} package www.vvh.com.db; import java.sql.Connection; import java.sql.ResultSet; import java.sql.Statement; public class XulyDB { private Connection con; public XulyDB(){ }
public SanPham getSanPham(String ms){ }
public ResultSet getAllProducts(){ }
}
Để cho việc kết nối thành công chúng ta cần phải copy driver của MySQL đến thư mục WEB-INF\lib.Tiếp theo ta phải đặc tả 1 giỏ hàng để client có thể sử dụng. Ta nhận thấy rằng 1 giỏ hàng chứa nhiều món hàng, mỗi món hàng giữ thông tin về mã số của sản phẩm, số lượng đang có trong giỏ và đơn giá của mỗi sản phẩm. Đơn giá trong đối tượng này có thể không cần vì ta có thể dựa vào mã số sản phẩm có thể lấy được, tuy nhiên ở đây ý tôi muốn nói là bạn có thể lấy giá trong database làm giá cơ bản, bạn thêm vào các loại phí,… để tạo thành giá bán. Code cho đối tượng món hàng như sau: package www.vvh.com.spc; public class MonHang { private String msMH; private int soluong; private double dongia; public double getDongia() { }
public void setDongia() {
}
public MonHang(String msMH, int soluong, double dongia) { }
public String getMsMH() { }
public void setMsMH(String msMH) { }
public int getSoluong() { }
public void setSoluong(int soluong) { }
public void setDongia(double dongia) { }
@Override
public int hashCode() { }
@Override
public boolean equals(Object obj) { }
@Override
public String toString() { }
}
Trong đối tượng giỏ hàng ta dùng 1 ArrayList để lưu trữ 1 danh sách các món hàng. Ở đây tôi chỉ viết 2 thao tác là thêm hàng vào giỏ và tính tổng giá tiền của giỏ hàng còn những phương thức khác như Xóa món hàng khỏi giỏ,… bạn có thể bổ sung thêm.package www.vvh.com.spc;
import java.util.ArrayList;
public class Giohang {
private ArrayList Bạn tạo 1 file có tên build.bat với nội dung sau javac -d . -encoding UTF-8 *.java pause Thực thi file này, đảm bảo bạn không nhìn thấy lỗi nào. Sau đó tiến hành đóng gói nó, bạn tạo file pack.bat có nội dung sau: Bài trước mình có giới thiệu cho các bạn qua đối tượng HttpSeesion . Hôm nay mình làm thêm 1 demo về 1 giỏ hàng đơn giản thông qua đối tượng httpsession. Hy vọng bài viết giúp ích các bạn . Cấu trúc thư mục 😦 Ở đây mình dùng Servlet 3.0 ) nên các bạn để ý . Mình sẻ dùng luôn thằng @webservlets (/duongdan). Nếu các bạn sử dụng phiên bản về trước thì phải mapping thằng servlet trong file web.xml (nếu ai thắc mắc thì có thề liên hệ mình rồi mình hướng dẫn). Hình ảnh của ứng ụng : Tạo đối tượng Book.java package shopping; /
package shopping; import java.util.ArrayList; /
Servlet Shop.java package shopping; import java.io.IOException; import java.io.PrintWriter; 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; /
Servlet Process package shopping; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.RequestDispatcher; 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; /
|