本学期学习JSP和Servlet后,老师要求使用MVC模式下编写一个网页购物车,以下是一些主要代码及开发心得
这个是包的截图
先是注册页面,编写一个表单,表单方法调用另一个JSP页面(因为我这个页面是写的JSP页面链接数据库,你也可以直接使用DBDao连接数据库)
checkregister.jsp
String username = new String(request.getParameter("username").getBytes("ISO8859_1"),"utf-8");
String password = new String(request.getParameter("password").getBytes("ISO8859_1"),"utf-8");
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost/userdate?characterEncoding=utf-8";
String usename = "root";
String psw= "123456";
Connection conn = DriverManager.getConnection(url,usename,psw);//得到连接
PreparedStatement pStmt = conn.prepareStatement("select * from servlet where username = '" + username + "'");
ResultSet rs = pStmt.executeQuery();
if(rs.next()){
out.println("");
}else{
PreparedStatement tmt = conn.prepareStatement("Insert into servlet values('" + username + "','" + password + "')");
int rst = tmt.executeUpdate();
if (rst != 0){
out.println("");
}else{
out.println("");
}
注册以后就是登陆,login也和注册一样,写一个表单然后调用另一个jsp页面所以就不写了
request.getSession().setAttribute("username", username);//这个是把用户名和密码存储到session里
if(username.equals("cgh")&&password.equals("12345")){
response.sendRedirect("welcome.jsp?username="+username);
}else{
request.setAttribute("msg","账号密码错误,请重新登录");
request.getRequestDispatcher("login.jsp").forward(request, response);
}//判断方法我是写死的,密码必须是相对应的格式
然后是welcom页面,这个页面就是图书商品的页面,在这个页面你能把图书添加到购物车里,添加图书到购物车是使用哈希表存储的
<%
BookDao bd1 = new BookDao();
ArrayList booklist = new ArrayList();
booklist = bd1.getBooks();
%>
查看购物车
Id
Name
Price
Number
Buy
<%//显示页面的大小
int pageSize = 3;
int pageMax = (int) ((booklist.size() + (pageSize - 1)) / pageSize);
int currentPage = 1;
String a = request.getParameter("i");
if (a != null) {
currentPage = Integer.parseInt(a);
}
%>
//实现分页
<%
for (int i = (currentPage - 1) * pageSize; i < Math.min(currentPage * pageSize, booklist.size()); i++) {
%>
<%=booklist.get(i).getId()%>
<%=booklist.get(i).getName()%>
<%=booklist.get(i).getPrice()%>
<%=booklist.get(i).getNumber()%>
加入购物车
<%
}
%>
//分页
<%
if (currentPage != 1) {
%>
first
<%
}
%>
<%
for (int i = 1; i <= pageMax; i++) {
%>
<%=i%>
<%
}
%>
<%
if (currentPage != pageMax) {
%>
end
<%
}
%>
<%
if (session.getAttribute("cart") == null) {
Cart cart = new Cart();
session.setAttribute("cart", cart);
}//判断购物车是否为空,空的话添加一个购物车到Session里
%>
然后是购物车的
<%
Cart cart = (Cart) session.getAttribute("cart");
ArrayList bl = new ArrayList();//使用表单存储图书
bl = cart.showCart();
double totalPrice = cart.getTotalPrice();
%>