📄 goodsview.java~29~
字号:
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{ //创建购物车类 CartForWeb cart = new CartForWeb(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对象取得购物车对象 CartForWeb cart = (CartForWeb)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 = (new CartMethod()).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); //创建页面转向类 requestDispatcher = application.getRequestDispatcher("/product.jsp“); 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 + -