前台和后台
前台:
-
开发的技术,Java,网页,数据库
-
用户角度
-
面向所有用户
-
功能:查询,新增
后台:
-
-
开发的技术,Java,网页,数据库
-
用户角度
-
面向管理者
-
功能: 全面
-
展示全部商品数据
商城管理系统显示
管理系统展示全部商品的三层架构
删除商品
实现步骤
- 点击删除图片,出现提示框( JS函数 confirm)
- 获取点击商品的主键数据
- 主键提交服务器Servlet
- 主键传递业务层
- 业务层将主键传递dao
- 执行SQL语句删除
- Servlet客户端响应,转发到/findAll
list.jsp
删除过程:
页面:
条件查询
网页:
以上的name必须javaBean中的私有属性相同
public class Search {
public String getPname() {
return pname;
}
public void setPname(String pname) {
this.pname = pname;
}
public String getMin_price() {
return min_price;
}
public void setMin_price(String min_price) {
this.min_price = min_price;
}
public String getMax_price() {
return max_price;
}
public void setMax_price(String max_price) {
this.max_price = max_price;
}
public String getIs_hot() {
return is_hot;
}
public void setIs_hot(String is_hot) {
this.is_hot = is_hot;
}
private String min_price; // 用double不填会有默认值 0.0
private String max_price;
private String is_hot;
private String pname;
}
JavaBean是Java的一个简单的类,一般用来封装业务逻辑,进行数据库操作等。JavaBean分为两类:一个是有用户接口(UI),一个是没有用户接口(没有UI),JSP中的JavaBean是指没有用户接口的。
JavaBean具有的特点:
1.是一个public的类。
2.若在JavaBean里面定义了一个有参数的构造方法,则必须添加一个无参的构造方法,否则无法设置属性。
3.JavaBean的属性一般是private的,通过用setXXX()和getXXX()进行属性的设置和取得。XXX为属性的名称,一般称这两个方法为setter方法和getter方法。
再次强调,JavaBean是一个简单的Java类。 这样可以更加容易理解JavaBean。
分页显示数据
找出分页需要的5个数据
分页三层架构
页面:
三层架构:
分页导航条:
product_list.jsp
<ul class="pagination" style="text-align: center; margin-top: 10px;">
<!--上一页=当前页-1 如果已经是第一页,不能点击-->
<c:if test="${pb.currentPage==1}">
<li class="disabled"><a aria-label="Previous"><span
aria-hidden="true">«</span></a></li>
</c:if>
<c:if test="${pb.currentPage!=1}">
<li><a href="${pageContext.request.contextPath}/page?currentPage=${pb.currentPage-1}" aria-label="Previous"><span
aria-hidden="true">«</span></a></li>
</c:if>
<!--
页码: 不是死的
而是循环出来的
开始循环变量1
循环结束到总页数
-->
<c:forEach begin="1" end="${pb.totalPage}" var="i">
<!-- 超连接: 连接到分页Servlet,传递参数 页码-->
<!-- 当前页数,页码不能点击,背景样式-->
<c:if test="${i==pb.currentPage}">
<li class="active"><a>${i}</a></li>
</c:if>
<c:if test="${i!=pb.currentPage}"> <!-- 跳转地址 -->
<li><a href="${pageContext.request.contextPath}/page?currentPage=${i}">${i}</a></li>
</c:if>
</c:forEach>
<!--
下一页=当前页+1
如果是最后一页,不能点击
-->
<c:if test="${pb.currentPage==pb.totalPage}">
<li class="disabled"><a aria-label="Next"> <span aria-hidden="true">»</span>
</c:if>
<c:if test="${pb.currentPage!=pb.totalPage}">
<li><a href="${pageContext.request.contextPath}/page?currentPage=${pb.currentPage+1}" aria-label="Next"> <span aria-hidden="true">»</span>
</c:if>
</a></li>
</ul>