java项目实战 作品_JavaWeb项目实战-油画商城

整个项目都已经上传到github-mmgallery上,供有需要的读者使用,主要文件来自于csdn,区别是csdn中的项目数据存储在MySQL中,本项目数据存储在Xml文件中。课件和学习视频课程来自MK网 Java工程师2020第二阶段。

1.MVC架构模式

早期代码:显示与代码耦合,一个页码中既有html网页,也有Java代码,代码混乱且可读性差

int max=Integer.parseInt()

%>

Model View Controller

显示与代码解耦,各司其职

模型Model:负责生产业务需要的数据,即具体的业务逻辑,功能类默认以**Service.java命名。

控制器是视图与模型的中介(粘合剂)

视图(View) 用于展示最终结果

MVC优点:

软件团队分工合作,成员各司其职

分层开发,显示与数据解耦,便于维护

组件可灵活替代,互不影响

2.项目代码结构

2.1 工程结构与开发规约

工程结构

包结构

MVC调用关系

2.2 JavaBean

一种Java中可重用组件,是一种Java类的格式要求,通常用于存储数据

格式要求:

public类,并提供默认构造函数;

所有属性private私有化

属性通过getter与setter方法读写

3.实现思路

开发PaintingDao读取xml数据,实现分页操作;

开发PaintingService服务类,调用PaintingDao;

开发PaintingController控制器,调用PaintingService,同时分发请求,响应

重写index.html,利用jsp技术读取分页

4.编写

4.1 创建工程

本工程的数据以xml文件存储,而不是数据库

4.2 开发XmlDataSource 获取XML路径

Dao与XML的中介

4.3 分页思路

分页有两个类:XmlDataSource.java 和 PageModel.java 加一个JavaBean Painting.java。XmlDataSource.java读取XML,得到 存储Painting对象的List 的 data ,(使用了一个getRawData的静态方法)。PageModel获取 data 并

获取 page(页号) 和 rows(每页记录数)参数 得到 关键的 当前页面数据List pageData 。PaintingDao 是整合两个类形成一个数据接口,关键是一个分页函数pagination:

public PageModel pagination(int page, int rows) {

List list = XmlDataSource.getRawData();

PageModel pageModel = new PageModel(list,page,rows);

return pageModel;

}

PaintingService重写 pagination 直接调用的Dao的分页函数,只是进行一定的参数判断,避免一些异常

public PageModel pagination(int page, int rows, String...category) {

if(rows == 0) {

throw new RuntimeException("无效的rows参数");

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值