MVC设计模式和JSP分页及上传

在这里插入图片描述
MVC设计模式
MVC:模型-视图-控制器
分层;
模型:对应组件是JavaBean,实现业务逻辑层,代表应用程序的数据以及用于访问、控制和修改这些数据的业务规则
视图:对应的组件是JSP或者html,负责数据显示
控制器:对应的组件是Servlet ,控制程序流程
优点:
层次关系清晰,各组件分工更加明确
缺点:
增加了编写的复杂度

MVC执行流程:
1、客户端向服务端发送请求
2、服务器把请求分发Servlet控制器
3、Servlet 控制器获取用户输出的数据,并调用JavaBean进行处理
4、Servlet 根据处理的结果选择一个JSP视图来响应客户
5、JSP视图显示处理的数据
JSP分页和上传
上传
1、SmartUpload组件
SmartUpload组件:专门用于实现文件上传及下载的免费组件
特点:
使用简单、能够控制上传内容、文件的大小和类型,但是已经停止更新服务
2、Commons-FileUpload组件
分页
ShowProductServlet
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try {
List lst = new BaseDao().selectAll();
// 接收分页页面传递过来的页面数
String strNum = request.getParameter(“pageNum”);
int pageNum = 0;// 表示当前要显示的页面数
int maxPage = 0;// 最大页
int pageCount = lst.size();// 得到查询出来的所有数据的总数目
// 如果是第一次执行,就会接收不到数据
if (strNum == null) {
strNum = “0”;
} else {// 接收到了用户点击的第几(pageNum)页
pageNum = Integer.parseInt(strNum);
}
// 计算出要分多少页(每页显示4条信息)
if (pageCount % 4 == 0) {
maxPage = pageCount / 4;
} else {
maxPage = pageCount / 4 + 1;
}
request.setAttribute(“maxPage”, maxPage);// 存储最大页数
request.setAttribute(“pageNum”, pageNum);// 将当前页面存储起来,给分页页面使用
request.setAttribute(“goods”, lst);// 存储要显示的数据

	      request.getRequestDispatcher("/showProduct.jsp").forward(request, response);
		} catch (Exception e) {
			e.printStackTrace();
		}

}

showProduct.jsp

产品编号产品名称产品价格
${g.id }${g.name }${g.price }
[首页] [上一页] [上一页] [下一页] [下一页] [尾页]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值