how2j.cn

-->
下载区
文件名 文件大小
请先登录 3m
增值内容 3m
3m

解压rar如果失败,请用5.21版本或者更高版本的winrar

点击下载 winrar5.21
步骤 1 : 先运行,看到效果,再学习   
步骤 2 : 模仿和排错   
步骤 3 : 页面截图   
步骤 4 : 在分类管理页面上添加产品管理的超链   
步骤 5 : ProductServlet类   
步骤 6 : web.xml   
步骤 7 : listProduct.jsp+editProduct.jsp   
步骤 8 : 查询功能讲解   
步骤 9 : 增加功能讲解   
步骤 10 : 编辑功能讲解   
步骤 11 : 修改功能讲解   
步骤 12 : 删除功能讲解   
步骤 13 : 自己做一遍   

步骤 1 :

先运行,看到效果,再学习

edit
增值内容,请先登录
完整的J2EE模仿天猫项目,使用J2SE、前端技术(包含所有前端jsp文件)、J2EE一整套技术栈, 从无到有涵盖全部147个知识点,475个开发步骤, 充实J2EE项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买
使用爬虫已经被系统记录,请勿使用爬虫,增大封号风险。 如果是误封 ,请联系站长,谢谢
增值内容,请先登录
完整的J2EE模仿天猫项目,使用J2SE、前端技术(包含所有前端jsp文件)、J2EE一整套技术栈, 从无到有涵盖全部147个知识点,475个开发步骤, 充实J2EE项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买
使用爬虫已经被系统记录,请勿使用爬虫,增大封号风险。 如果是误封 ,请联系站长,谢谢
增值内容,请先登录
完整的J2EE模仿天猫项目,使用J2SE、前端技术(包含所有前端jsp文件)、J2EE一整套技术栈, 从无到有涵盖全部147个知识点,475个开发步骤, 充实J2EE项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买
使用爬虫已经被系统记录,请勿使用爬虫,增大封号风险。 如果是误封 ,请联系站长,谢谢
页面截图
步骤 4 :

在分类管理页面上添加产品管理的超链

edit
增值内容,请先登录
完整的J2EE模仿天猫项目,使用J2SE、前端技术(包含所有前端jsp文件)、J2EE一整套技术栈, 从无到有涵盖全部147个知识点,475个开发步骤, 充实J2EE项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买
使用爬虫已经被系统记录,请勿使用爬虫,增大封号风险。 如果是误封 ,请联系站长,谢谢
在分类管理页面上添加产品管理的超链
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" import="java.util.*"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@include file="../include/admin/adminHeader.jsp"%> <%@include file="../include/admin/adminNavigator.jsp"%> <script> $(function(){ $("#addForm").submit(function(){ if(!checkEmpty("name","分类名称")) return false; if(!checkEmpty("categoryPic","分类图片")) return false; return true; }); }); </script> <title>分类管理</title> <div class="workingArea"> <h1 class="label label-info" >分类管理</h1> <br> <br> <div class="listDataTableDiv"> <table class="table table-striped table-bordered table-hover table-condensed"> <thead> <tr class="success"> <th>ID</th> <th>图片</th> <th>分类名称</th> <th>属性管理</th> <th>产品管理</th> <th>编辑</th> <th>删除</th> </tr> </thead> <tbody> <c:forEach items="${thecs}" var="c"> <tr> <td>${c.id}</td> <td><img height="40px" src="img/category/${c.id}.jpg"></td> <td>${c.name}</td> <td><a href="admin_property_list?cid=${c.id}"><span class="glyphicon glyphicon-th-list"></span></a></td> <td><a href="admin_product_list?cid=${c.id}"><span class="glyphicon glyphicon-shopping-cart"></span></a></td> <td><a href="admin_category_edit?id=${c.id}"><span class="glyphicon glyphicon-edit"></span></a></td> <td><a deleteLink="true" href="admin_category_delete?id=${c.id}"><span class=" glyphicon glyphicon-trash"></span></a></td> </tr> </c:forEach> </tbody> </table> </div> <div class="pageDiv"> <%@include file="../include/admin/adminPage.jsp" %> </div> <div class="panel panel-warning addDiv"> <div class="panel-heading">新增分类</div> <div class="panel-body"> <form method="post" id="addForm" action="admin_category_add" enctype="multipart/form-data"> <table class="addTable"> <tr> <td>分类名称</td> <td><input id="name" name="name" type="text" class="form-control"></td> </tr> <tr> <td>分类圖片</td> <td> <input id="categoryPic" accept="image/*" type="file" name="filepath" /> </td> </tr> <tr class="submitTR"> <td colspan="2" align="center"> <button type="submit" class="btn btn-success">提 交</button> </td> </tr> </table> </form> </div> </div> </div> <%@include file="../include/admin/adminFooter.jsp"%>
步骤 5 :

ProductServlet类

edit
增值内容,请先登录
完整的J2EE模仿天猫项目,使用J2SE、前端技术(包含所有前端jsp文件)、J2EE一整套技术栈, 从无到有涵盖全部147个知识点,475个开发步骤, 充实J2EE项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买
使用爬虫已经被系统记录,请勿使用爬虫,增大封号风险。 如果是误封 ,请联系站长,谢谢
package tmall.servlet; import java.util.Date; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import tmall.bean.Category; import tmall.bean.Product; import tmall.bean.Property; import tmall.bean.PropertyValue; import tmall.util.Page; public class ProductServlet extends BaseBackServlet { public String add(HttpServletRequest request, HttpServletResponse response, Page page) { int cid = Integer.parseInt(request.getParameter("cid")); Category c = categoryDAO.get(cid); String name= request.getParameter("name"); String subTitle= request.getParameter("subTitle"); float orignalPrice = Float.parseFloat(request.getParameter("orignalPrice")); float promotePrice = Float.parseFloat(request.getParameter("promotePrice")); int stock = Integer.parseInt(request.getParameter("stock")); Product p = new Product(); p.setCategory(c); p.setName(name); p.setSubTitle(subTitle); p.setOrignalPrice(orignalPrice); p.setPromotePrice(promotePrice); p.setStock(stock); p.setCreateDate(new Date()); productDAO.add(p); return "@admin_product_list?cid="+cid; } public String delete(HttpServletRequest request, HttpServletResponse response, Page page) { int id = Integer.parseInt(request.getParameter("id")); Product p = productDAO.get(id); productDAO.delete(id); return "@admin_product_list?cid="+p.getCategory().getId(); } public String edit(HttpServletRequest request, HttpServletResponse response, Page page) { int id = Integer.parseInt(request.getParameter("id")); Product p = productDAO.get(id); request.setAttribute("p", p); return "admin/editProduct.jsp"; } public String editPropertyValue(HttpServletRequest request, HttpServletResponse response, Page page) { int id = Integer.parseInt(request.getParameter("id")); Product p = productDAO.get(id); request.setAttribute("p", p); List<Property> pts= propertyDAO.list(p.getCategory().getId()); propertyValueDAO.init(p); List<PropertyValue> pvs = propertyValueDAO.list(p.getId()); request.setAttribute("pvs", pvs); return "admin/editProductValue.jsp"; } public String updatePropertyValue(HttpServletRequest request, HttpServletResponse response, Page page) { int pvid = Integer.parseInt(request.getParameter("pvid")); String value = request.getParameter("value"); PropertyValue pv =propertyValueDAO.get(pvid); pv.setValue(value); propertyValueDAO.update(pv); return "%success"; } public String update(HttpServletRequest request, HttpServletResponse response, Page page) { int cid = Integer.parseInt(request.getParameter("cid")); Category c = categoryDAO.get(cid); int id = Integer.parseInt(request.getParameter("id")); int stock = Integer.parseInt(request.getParameter("stock")); float orignalPrice = Float.parseFloat(request.getParameter("orignalPrice")); float promotePrice = Float.parseFloat(request.getParameter("promotePrice")); String subTitle= request.getParameter("subTitle"); String name= request.getParameter("name"); Product p = new Product(); p.setName(name); p.setSubTitle(subTitle); p.setOrignalPrice(orignalPrice); p.setPromotePrice(promotePrice); p.setStock(stock); p.setId(id); p.setCategory(c); productDAO.update(p); return "@admin_product_list?cid="+p.getCategory().getId(); } public String list(HttpServletRequest request, HttpServletResponse response, Page page) { int cid = Integer.parseInt(request.getParameter("cid")); Category c = categoryDAO.get(cid); List<Product> ps = productDAO.list(cid, page.getStart(),page.getCount()); int total = productDAO.getTotal(cid); page.setTotal(total); page.setParam("&cid="+c.getId()); request.setAttribute("ps", ps); request.setAttribute("c", c); request.setAttribute("page", page); return "admin/listProduct.jsp"; } }
增值内容,请先登录
完整的J2EE模仿天猫项目,使用J2SE、前端技术(包含所有前端jsp文件)、J2EE一整套技术栈, 从无到有涵盖全部147个知识点,475个开发步骤, 充实J2EE项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买
使用爬虫已经被系统记录,请勿使用爬虫,增大封号风险。 如果是误封 ,请联系站长,谢谢
<?xml version="1.0" encoding="UTF-8"?> <web-app> <servlet> <servlet-name>CategoryServlet</servlet-name> <servlet-class>tmall.servlet.CategoryServlet</servlet-class> </servlet> <servlet> <servlet-name>ProductServlet</servlet-name> <servlet-class>tmall.servlet.ProductServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>ProductServlet</servlet-name> <url-pattern>/productServlet</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>CategoryServlet</servlet-name> <url-pattern>/categoryServlet</url-pattern> </servlet-mapping> <servlet> <servlet-name>PropertyServlet</servlet-name> <servlet-class>tmall.servlet.PropertyServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>PropertyServlet</servlet-name> <url-pattern>/propertyServlet</url-pattern> </servlet-mapping> <filter> <filter-name>EncodingFilter</filter-name> <filter-class>tmall.filter.EncodingFilter</filter-class> </filter> <filter-mapping> <filter-name>EncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <filter> <filter-name>BackServletFilter</filter-name> <filter-class>tmall.filter.BackServletFilter</filter-class> </filter> <filter-mapping> <filter-name>BackServletFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> </web-app>
步骤 7 :

listProduct.jsp+editProduct.jsp

edit
增值内容,请先登录
完整的J2EE模仿天猫项目,使用J2SE、前端技术(包含所有前端jsp文件)、J2EE一整套技术栈, 从无到有涵盖全部147个知识点,475个开发步骤, 充实J2EE项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买
使用爬虫已经被系统记录,请勿使用爬虫,增大封号风险。 如果是误封 ,请联系站长,谢谢
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" import="java.util.*"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@include file="../include/admin/adminHeader.jsp"%> <%@include file="../include/admin/adminNavigator.jsp"%> <script> $(function() { $("#addForm").submit(function() { if (!checkEmpty("name", "产品名称")) return false; // if (!checkEmpty("subTitle", "小标题")) // return false; if (!checkNumber("orignalPrice", "原价格")) return false; if (!checkNumber("promotePrice", "优惠价格")) return false; if (!checkInt("stock", "库存")) return false; return true; }); }); </script> <title>产品管理</title> <div class="workingArea"> <ol class="breadcrumb"> <li><a href="admin_category_list">所有分类</a></li> <li><a href="admin_product_list?cid=${c.id}">${c.name}</a></li> <li class="active">产品管理</li> </ol> <div class="listDataTableDiv"> <table class="table table-striped table-bordered table-hover table-condensed"> <thead> <tr class="success"> <th>ID</th> <th>图片</th> <th>产品名称</th> <th>产品小标题</th> <th width="53px">原价格</th> <th width="80px">优惠价格</th> <th width="80px">库存数量</th> <th width="80px">图片管理</th> <th width="80px">设置属性</th> <th width="42px">编辑</th> <th width="42px">删除</th> </tr> </thead> <tbody> <c:forEach items="${ps}" var="p"> <tr> <td>${p.id}</td> <td> <c:if test="${!empty p.firstProductImage}"> <img width="40px" src="img/productSingle/${p.firstProductImage.id}.jpg"> </c:if> </td> <td>${p.name}</td> <td>${p.subTitle}</td> <td>${p.orignalPrice}</td> <td>${p.promotePrice}</td> <td>${p.stock}</td> <td><a href="admin_productImage_list?pid=${p.id}"><span class="glyphicon glyphicon-picture"></span></a></td> <td><a href="admin_product_editPropertyValue?id=${p.id}"><span class="glyphicon glyphicon-th-list"></span></a></td> <td><a href="admin_product_edit?id=${p.id}"><span class="glyphicon glyphicon-edit"></span></a></td> <td><a deleteLink="true" href="admin_product_delete?id=${p.id}"><span class=" glyphicon glyphicon-trash"></span></a></td> </tr> </c:forEach> </tbody> </table> </div> <div class="pageDiv"> <%@include file="../include/admin/adminPage.jsp"%> </div> <div class="panel panel-warning addDiv"> <div class="panel-heading">新增产品</div> <div class="panel-body"> <form method="post" id="addForm" action="admin_product_add"> <table class="addTable"> <tr> <td>产品名称</td> <td><input id="name" name="name" type="text" class="form-control"></td> </tr> <tr> <td>产品小标题</td> <td><input id="subTitle" name="subTitle" type="text" class="form-control"></td> </tr> <tr> <td>原价格</td> <td><input id="orignalPrice" value="99.98" name="orignalPrice" type="text" class="form-control"></td> </tr> <tr> <td>优惠价格</td> <td><input id="promotePrice" value="19.98" name="promotePrice" type="text" class="form-control"></td> </tr> <tr> <td>库存</td> <td><input id="stock" value="99" name="stock" type="text" class="form-control"></td> </tr> <tr class="submitTR"> <td colspan="2" align="center"> <input type="hidden" name="cid" value="${c.id}"> <button type="submit" class="btn btn-success">提 交</button> </td> </tr> </table> </form> </div> </div> </div> <%@include file="../include/admin/adminFooter.jsp"%>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" import="java.util.*"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@include file="../include/admin/adminHeader.jsp"%> <%@include file="../include/admin/adminNavigator.jsp"%> <title>编辑产品</title> <script> $(function() { $("#editForm").submit(function() { if (!checkEmpty("name", "产品名称")) return false; // if (!checkEmpty("subTitle", "小标题")) // return false; if (!checkNumber("orignalPrice", "原价格")) return false; if (!checkNumber("promotePrice", "优惠价格")) return false; if (!checkInt("stock", "库存")) return false; return true; }); }); </script> <div class="workingArea"> <ol class="breadcrumb"> <li><a href="admin_category_list">所有分类</a></li> <li><a href="admin_product_list?cid=${p.category.id}">${p.category.name}</a></li> <li class="active">${p.name}</li> <li class="active">编辑产品</li> </ol> <div class="panel panel-warning editDiv"> <div class="panel-heading">编辑产品</div> <div class="panel-body"> <form method="post" id="editForm" action="admin_product_update"> <table class="editTable"> <tr> <td>产品名称</td> <td><input id="name" name="name" value="${p.name}" type="text" class="form-control"></td> </tr> <tr> <td>产品小标题</td> <td><input id="subTitle" name="subTitle" type="text" value="${p.subTitle}" class="form-control"></td> </tr> <tr> <td>原价格</td> <td><input id="orignalPrice" value="${p.orignalPrice}" name="orignalPrice" type="text" class="form-control"></td> </tr> <tr> <td>优惠价格</td> <td><input id="promotePrice" value="${p.promotePrice}" name="promotePrice" type="text" class="form-control"></td> </tr> <tr> <td>库存</td> <td><input id="stock" value="${p.stock}" name="stock" type="text" class="form-control"></td> </tr> <tr class="submitTR"> <td colspan="2" align="center"> <input type="hidden" name="id" value="${p.id}"> <input type="hidden" name="cid" value="${p.category.id}"> <button type="submit" class="btn btn-success">提 交</button></td> </tr> </table> </form> </div> </div> </div>
步骤 8 :

查询功能讲解

edit
增值内容,请先登录
完整的J2EE模仿天猫项目,使用J2SE、前端技术(包含所有前端jsp文件)、J2EE一整套技术栈, 从无到有涵盖全部147个知识点,475个开发步骤, 充实J2EE项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买
使用爬虫已经被系统记录,请勿使用爬虫,增大封号风险。 如果是误封 ,请联系站长,谢谢
查询功能讲解
public String list(HttpServletRequest request, HttpServletResponse response, Page page) { int cid = Integer.parseInt(request.getParameter("cid")); Category c = categoryDAO.get(cid); List<Product> ps = productDAO.list(cid, page.getStart(),page.getCount()); int total = productDAO.getTotal(cid); page.setTotal(total); page.setParam("&cid="+c.getId()); request.setAttribute("ps", ps); request.setAttribute("c", c); request.setAttribute("page", page); return "admin/listProduct.jsp"; }
<c:forEach items="${ps}" var="p"> <tr> <td>${p.id}</td> <td> <c:if test="${!empty p.firstProductImage}"> <img width="40px" src="img/productSingle/${p.firstProductImage.id}.jpg"> </c:if> </td> <td>${p.name}</td> <td>${p.subTitle}</td> <td>${p.orignalPrice}</td> <td>${p.promotePrice}</td> <td>${p.stock}</td> <td><a href="admin_productImage_list?pid=${p.id}"><span class="glyphicon glyphicon-picture"></span></a></td> <td><a href="admin_product_editPropertyValue?id=${p.id}"><span class="glyphicon glyphicon-th-list"></span></a></td> <td><a href="admin_product_edit?id=${p.id}"><span class="glyphicon glyphicon-edit"></span></a></td> <td><a deleteLink="true" href="admin_product_delete?id=${p.id}"><span class=" glyphicon glyphicon-trash"></span></a></td> </tr> </c:forEach>
步骤 9 :

增加功能讲解

edit
增值内容,请先登录
完整的J2EE模仿天猫项目,使用J2SE、前端技术(包含所有前端jsp文件)、J2EE一整套技术栈, 从无到有涵盖全部147个知识点,475个开发步骤, 充实J2EE项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买
使用爬虫已经被系统记录,请勿使用爬虫,增大封号风险。 如果是误封 ,请联系站长,谢谢
增加功能讲解
<form method="post" id="addForm" action="admin_product_add"> <table class="addTable"> <tr> <td>产品名称</td> <td><input id="name" name="name" type="text" class="form-control"></td> </tr> <tr> <td>产品小标题</td> <td><input id="subTitle" name="subTitle" type="text" class="form-control"></td> </tr> <tr> <td>原价格</td> <td><input id="orignalPrice" value="99.98" name="orignalPrice" type="text" class="form-control"></td> </tr> <tr> <td>优惠价格</td> <td><input id="promotePrice" value="19.98" name="promotePrice" type="text" class="form-control"></td> </tr> <tr> <td>库存</td> <td><input id="stock" value="99" name="stock" type="text" class="form-control"></td> </tr> <tr class="submitTR"> <td colspan="2" align="center"> <input type="hidden" name="cid" value="${c.id}"> <button type="submit" class="btn btn-success">提 交</button> </td> </tr> </table> </form>
public String add(HttpServletRequest request, HttpServletResponse response, Page page) { int cid = Integer.parseInt(request.getParameter("cid")); Category c = categoryDAO.get(cid); String name= request.getParameter("name"); String subTitle= request.getParameter("subTitle"); float orignalPrice = Float.parseFloat(request.getParameter("orignalPrice")); float promotePrice = Float.parseFloat(request.getParameter("promotePrice")); int stock = Integer.parseInt(request.getParameter("stock")); Product p = new Product(); p.setCategory(c); p.setName(name); p.setSubTitle(subTitle); p.setOrignalPrice(orignalPrice); p.setPromotePrice(promotePrice); p.setStock(stock); productDAO.add(p); return "@admin_product_list?cid="+cid; }
步骤 10 :

编辑功能讲解

edit
增值内容,请先登录
完整的J2EE模仿天猫项目,使用J2SE、前端技术(包含所有前端jsp文件)、J2EE一整套技术栈, 从无到有涵盖全部147个知识点,475个开发步骤, 充实J2EE项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买
使用爬虫已经被系统记录,请勿使用爬虫,增大封号风险。 如果是误封 ,请联系站长,谢谢
编辑功能讲解
public String edit(HttpServletRequest request, HttpServletResponse response, Page page) { int id = Integer.parseInt(request.getParameter("id")); Product p = productDAO.get(id); request.setAttribute("p", p); return "admin/editProduct.jsp"; }
	public String edit(HttpServletRequest request, HttpServletResponse response, Page page) {
		int id = Integer.parseInt(request.getParameter("id"));
		Product p = productDAO.get(id);
		request.setAttribute("p", p);
		return "admin/editProduct.jsp";		
	}
<input type="hidden" name="id" value="${p.id}"> <input type="hidden" name="cid" value="${p.category.id}">


						<input type="hidden" name="id" value="${p.id}">
						<input type="hidden" name="cid" value="${p.category.id}">
步骤 11 :

修改功能讲解

edit
增值内容,请先登录
完整的J2EE模仿天猫项目,使用J2SE、前端技术(包含所有前端jsp文件)、J2EE一整套技术栈, 从无到有涵盖全部147个知识点,475个开发步骤, 充实J2EE项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买
使用爬虫已经被系统记录,请勿使用爬虫,增大封号风险。 如果是误封 ,请联系站长,谢谢
修改功能讲解
public String update(HttpServletRequest request, HttpServletResponse response, Page page) { int cid = Integer.parseInt(request.getParameter("cid")); Category c = categoryDAO.get(cid); int id = Integer.parseInt(request.getParameter("id")); int stock = Integer.parseInt(request.getParameter("stock")); float orignalPrice = Float.parseFloat(request.getParameter("orignalPrice")); float promotePrice = Float.parseFloat(request.getParameter("promotePrice")); String subTitle= request.getParameter("subTitle"); String name= request.getParameter("name"); Product p = new Product(); p.setName(name); p.setSubTitle(subTitle); p.setOrignalPrice(orignalPrice); p.setPromotePrice(promotePrice); p.setStock(stock); p.setId(id); p.setCategory(c); productDAO.update(p); return "@admin_product_list?cid="+p.getCategory().getId(); }
步骤 12 :

删除功能讲解

edit
增值内容,请先登录
完整的J2EE模仿天猫项目,使用J2SE、前端技术(包含所有前端jsp文件)、J2EE一整套技术栈, 从无到有涵盖全部147个知识点,475个开发步骤, 充实J2EE项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买
使用爬虫已经被系统记录,请勿使用爬虫,增大封号风险。 如果是误封 ,请联系站长,谢谢
删除功能讲解
public String delete(HttpServletRequest request, HttpServletResponse response, Page page) { int id = Integer.parseInt(request.getParameter("id")); Product p = productDAO.get(id); productDAO.delete(id); return "@admin_product_list?cid="+p.getCategory().getId(); }
	public String delete(HttpServletRequest request, HttpServletResponse response, Page page) {
		int id = Integer.parseInt(request.getParameter("id"));
		Product p = productDAO.get(id);
		productDAO.delete(id);
		return "@admin_product_list?cid="+p.getCategory().getId();
	}
增值内容,请先登录
完整的J2EE模仿天猫项目,使用J2SE、前端技术(包含所有前端jsp文件)、J2EE一整套技术栈, 从无到有涵盖全部147个知识点,475个开发步骤, 充实J2EE项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买
使用爬虫已经被系统记录,请勿使用爬虫,增大封号风险。 如果是误封 ,请联系站长,谢谢


HOW2J公众号,关注后实时获知最新的教程和优惠活动,谢谢。


问答区域    
2021-01-24 请问我的图片为何显示不出来
zxl271211




rt
加载中

							

							


2 个答案

LXC001
答案时间:2021-11-25
我也是图片显示不了,看了数据库里面的数据感觉就没有图片啊?老哥你解决了吗

how2j
答案时间:2021-02-02
这里下载里有分类图片,是否忘记加进去了呢? https://how2j.cn/k/tmall-j2ee/tmall-j2ee-1065/1065.html



回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到





2020-07-27 当一个产品的属性、图片都增加了,这个时候删除该产品就会数据库报错,因为有外键约束
arsoooo




当一个产品的属性、图片都增加了,这个时候删除该产品就会数据库报错,因为有外键约束。 cannot delete or update a parent row: a foreign key constraint fails 这个时候该怎么办,先删除所有对应的图片、属性,再删除产品吗?

							
cannot delete or update a parent row: a foreign key constraint fails
(`tmall`.`productimage`, CONSTRAINT `fk_productimage_product` FOREIGN KEY (`pid`) REFERENCES `product` (`id`))


2 个答案

how2j
答案时间:2020-07-28
在创建表结构的时候,有外键约束,导致当存在从表数据的时候,主表数据无法被删除。 为什么会这样呢? 假设即使有从表数据,主表也允许被删除,那么那些从表数据就变成脏数据了。 对于这个问题通常有两种解决办法: 1. 使用级联删除。即删除主表的时候,从表自动删除。 这样做在技术上最简单,但是在业务上最危险,不推荐。 2. 删除有从表数据的主表时,提醒用户依然有从表数据,建议用户一条一条删除从表数据,再删除主表数据。 这样技术上无改动,业务上最安全。 建议采纳此种方案。 附:主从表概念——以分类和产品而言,他们是一对多关系,分类就是主表,产品就是从表。

arsoooo
答案时间:2020-07-27
错了,有属性不影响删除,但是有图片就不可以删除这个产品
Cannot delete or update a parent row: a foreign key constraint fails (`tmall`.`productimage`, CONSTRAINT `fk_productimage_product` FOREIGN KEY (`pid`) REFERENCES `product` (`id`))



回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到





2020-06-08 ProductServlet类 第64行代码好像没有用
2020-03-06 java.lang.NumberFormatException: null
2020-03-06 关于jsp里面import =“java.util.*”


提问太多,页面渲染太慢,为了加快渲染速度,本页最多只显示几条提问。还有 15 条以前的提问,请 点击查看

提问之前请登陆
提问已经提交成功,正在审核。 请于 我的提问 处查看提问记录,谢谢
关于 实践项目-天猫整站J2EE-产品管理 的提问

尽量提供截图代码异常信息,有助于分析和解决问题。 也可进本站QQ群交流: 578362961
提问尽量提供完整的代码,环境描述,越是有利于问题的重现,您的问题越能更快得到解答。
对教程中代码有疑问,请提供是哪个步骤,哪一行有疑问,这样便于快速定位问题,提高问题得到解答的速度
在已经存在的几千个提问里,有相当大的比例,是因为使用了和站长不同版本的开发环境导致的,比如 jdk, eclpise, idea, mysql,tomcat 等等软件的版本不一致。
请使用和站长一样的版本,可以节约自己大量的学习时间。 站长把教学中用的软件版本整理了,都统一放在了这里, 方便大家下载: https://how2j.cn/k/helloworld/helloworld-version/1718.html

上传截图