📄 goodsview.java~49~
字号:
package cartservlet;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import data.*;
public class GoodsView extends HttpServlet {
private static final String CONTENT_TYPE = "text/html; charset=GBK";
public void init() throws ServletException {
}
//doPost方法
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//设置取得字符串的编码机制
request.setCharacterEncoding("GBK");
//设置字符输出的编码机制
response.setContentType(CONTENT_TYPE);
//取得html代码输出类
PrintWriter out = response.getWriter();
//通过HttpServlet类的getServletContext方法取得application的对象
ServletContext application = getServletContext();
//创建session对象
HttpSession session = request.getSession();
//声明页面转向类
RequestDispatcher requestDispatcher = null;
//取得按钮的字符
String action = request.getParameter("action");
if(action.equals("商品浏览页面")){
//取得顾客的名字
String name = request.getParameter("name");
if(name.trim().length() == 0){
//创建页面转向类
requestDispatcher = application.getRequestDispatcher("/error.jsp");
request.setAttribute("infor", "请输入顾客的名字.");
requestDispatcher.forward(request, response);
}else{
//创建购物车类
Cart cart = new Cart();
cart.setCustomer(name);
//将购物车类加入session对象
session.setAttribute("cart", cart);
//创建页面转向类
requestDispatcher = application.getRequestDispatcher("/category.jsp");
//将定义的页面在servlet页面显示
requestDispatcher.forward(request, response);
}
return;
}
if(action.equals("加入购物车")){
if(session.getAttribute("cart") == null){
//创建页面转向类
requestDispatcher = application.getRequestDispatcher("/error.jsp");
request.setAttribute("infor", "请输入顾客的名字.<a href=\"login.jsp\">"
+ "登陆页面</a>");
requestDispatcher.forward(request, response);
return;
}
//取得类别ID和名称
String categoryId = request.getParameter("categoryId");
String categoryName = request.getParameter("categoryName");
//从session对象取得购物车对象
Cart cart = (Cart)session.getAttribute("cart");
int idsLength = Integer.parseInt(request.getParameter("idsLength"));
String goodsStr = "";
String[] oneGoodsStrs = new String[4];
//创建商品集合类
Hashtable goods = new Hashtable();
for(int i = 0; i < idsLength; i++){
//检查是否选择购买选择框
if(request.getParameter("goodsId" + i) != null){
//取得商品字符串
goodsStr = request.getParameter("goodsId" + i).trim();
//分解商品字符串
oneGoodsStrs = cart.decodeGoodsStr(goodsStr);
//检查商品数量字符串是否是整数并且大于等于0
if(!(new NumberVerify().verifyNum(request.getParameter("quantity" + i)))){
//创建页面转向类
requestDispatcher = application.getRequestDispatcher("/error.jsp");
request.setAttribute("infor", oneGoodsStrs[1] +
"的购买数量需要输入整数并且大于等于0.");
requestDispatcher.forward(request, response);
return;
}
//添加商品
goods.put(oneGoodsStrs[0], oneGoodsStrs[1] + "@@" + oneGoodsStrs[2]
+ "@@" + oneGoodsStrs[3] + "@@"
+ request.getParameter("quantity" + i));
}
}
//将购买商品放入购物车
cart.addGoods(goods);
response.sendRedirect("product.jsp?categoryId=" + categoryId + "&categoryName=" + categoryName);
//创建页面转向类
requestDispatcher = application.getRequestDispatcher("/product.jsp?categoryId="
+ categoryId + "&categoryName=" + categoryName);
requestDispatcher.forward(request, response);
}
if(action.equals("查看购物车")){
if(session.getAttribute("cart") == null){
//创建页面转向类
requestDispatcher = application.getRequestDispatcher("/error.jsp");
request.setAttribute("infor", "请输入顾客的名字.<a href=\"login.jsp\">"
+ "登陆页面</a>");
requestDispatcher.forward(request, response);
return;
}
//创建页面转向类
response.sendRedirect("cartview.jsp");
}
}
public void destroy() {
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -