第九周作业

1.问题:遇到了一个之前的经典场景,404,我通过配置了xml文件后,发现没有效果,后来改成了注解的方式来运行就解决了,总之以后类似的问题我尽量用注解的方式解决,因为一碰到404出现的问题可能会有很多,看日志信息排除xml配置问题比较浪费时间

2.功能实现:有了MVC设计模式的框架,分页功能的设计明显清晰了很多,和上次CRUD的操作大同小异,需要注意的地方,在功能的实现上,要结合考虑首尾页,上下页的一些细节,这里还嵌入了Bootstrap在表格上,这也让我对web开发的印象有了雏形,,HeroDAO中有大部分多余的方法,可以删除,如果追求完美的话,也可以用这些方法,加入crud的功能进行交互

Hero和HeroDAO作为模型层,用于封装和管理与数据库相关的操作

HeroListServlet作为控制层,用于接受来自JSP的请求和映射操作至数据层

Jsp则作为视图,用于显示和接收用户输入

我觉得比较重要的地方是控制器这里:


        pre = pre < 0 ? 0 : pre;
        next = next > last ? last : next;
 
        request.setAttribute("next", next);
        request.setAttribute("pre", pre);
        request.setAttribute("last", last);
 
        List<Hero> heros = new HeroDAO().list(start, count);
        request.setAttribute("heros", heros);
 
        request.getRequestDispatcher("listHero.jsp").forward(request, response);
  • pre、next和last分别是分页中的上一页、下一页和最后一页的页码。
  • 在这段代码中,将分页计算得到的上一页、下一页和最后一页的页码存储到request对象中,以便在JSP页面中进行使用。
  • 接着,通过调用HeroDAO的list()方法获取数据库中指定范围内的Hero对象的集合,即在数据库中获取当前页的数据。获取到的Hero对象集合存储到request对象中。
  • 最后,使用请求转发(request.getRequestDispatcher("listHero.jsp").forward(request, response))将request和response对象传递到listHero.jsp页面进行显示。这样,listHero.jsp页面就可以通过访问request对象来获取分页数据和当前
  • pre = pre < 0 ? 0 : pre;  这行代码中,用三目运算符判断pre(上一页的页码)是否小于0,若小于0,则将其赋值为0,否则保持原值。
  • next = next > last ? last : next;  判断next(下一页的页码)是否大于last(最后一页的页码),若大于,则将其赋值为last,否则保持原值。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值