WEB开发流程及规范

JAVA建成如下图所示目录

简单介绍各个文件的作用

controller:一般一个web页面对应一个controller

service:一般一个controller对应一个service

dao:一般一个service可以对应一个或多个dao

dto:用于封装并传输数据

utils:是工具类,存放一些要用到的类,比如加密解密等类,我习惯是把类的方法设为static

model:里面的类由hibernate生成,与数据库一一对应

web-->controller-->service-->dao-->model沿这个顺序操作数据,并反向传回结果

传输的媒介根据情况可以用dto封装数据,

我的习惯是传进来的数据不是插入操作不用dto封装,其他用dto封装

查询操作返回的结果用dto封装,其它操作返回的结果不用dto封装

明确下命名规则:

除了utils和model,其他层的文件命名必须以所在的层类型名结尾

并且是首字母大写的驼峰命名法如下图所示,名字最好与web的名字相对应,方便查找

目录结构

注意dao层和service层里还有impl包,dao层和service层下直接放接口,并且以大写的I开头,

impl下放实现的类

正式开发前根据需要先往dto里写入要用到的类

创建model里的类所对应的dto类,切记不要用model来当作dto来传输,要不然model里被填充了过多的构造函数会显得很乱

接着创建AjaxMsgDto,DataTable4DisplayDto,DataTableDto

还有一点是controller返回数据到web,

返回的类型只有两种AjaxMsgDto,DataTable4DisplayDto

目的是方便web前端接收和处理数据

其中DataTable4DisplayDto是返回给datatable的,如果不是就用AjaxMsgDto

DataTableDto是用于传入datatable的参数

public class JsonMsgDto {
    private Boolean isSuccess;
    private Object jsonData;

    public JsonMsgDto () {
    }

    public JsonMsgDto ( Boolean isSuccess, Object jsonData) {
        this.isSuccess = isSuccess;
        this.jsonData = jsonData;
    }

    public Boolean getIsSuccess() {
        return isSuccess;
    }

    public void setIsSuccess(Boolean isSuccess) {
        this.isSuccess = isSuccess;
    }

    public Object getJsonData() {
        return jsonData;
    }

    public void setJsonData(Object jsonData) {
        this.jsonData = jsonData;
    }
}
public class DTRequestDto {
    public Integer draw;
    public Integer start;
    public Integer length;
    public String search;

    public DTRequestDto() {
    }

    public DTRequestDto(Integer draw, Integer start, Integer length, String search) {
        this.draw = draw;
        this.start = start;
        this.length = length;
        this.search = search;
    }

    public Integer getDraw() {
        return draw;
    }

    public void setDraw(Integer draw) {
        this.draw = draw;
    }

    public Integer getStart() {
        return start;
    }

    public void setStart(Integer start) {
        this.start = start;
    }

    public Integer getLength() {
        return length;
    }

    public void setLength(Integer length) {
        this.length = length;
    }

    public String getSearch() {
        return search;
    }

    public void setSearch(String search) {
        this.search = search;
    }
}
public class DTResponseDto {
    private Integer draw;
    private Integer recordsTotal;
    private Integer recordsFiltered;
    private Object data;

    public DTResponseDto() {
    }

    public DTResponseDto(Integer draw, Integer recordsTotal, Integer recordsFiltered, Object data) {
        this.draw = draw;
        this.recordsTotal = recordsTotal;
        this.recordsFiltered = recordsFiltered;
        this.data = data;
    }

    public Integer getDraw() {
        return draw;
    }

    public void setDraw(Integer draw) {
        this.draw = draw;
    }

    public Integer getRecordsTotal() {
        return recordsTotal;
    }

    public void setRecordsTotal(Integer recordsTotal) {
        this.recordsTotal = recordsTotal;
    }

    public Integer getRecordsFiltered() {
        return recordsFiltered;
    }

    public void setRecordsFiltered(Integer recordsFiltered) {
        this.recordsFiltered = recordsFiltered;
    }

    public Object getData() {
        return data;
    }

    public void setData(Object data) {
        this.data = data;
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Java分层概念(转) 原文地址(也不属于原文吧,这也是别人转载的不知道原作者是谁,如有侵权,请联系,以删除):h...
    小小世界R阅读 1,657评论 0 0
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,760评论 18 399
  • 摘录自:http://www.cnblogs.com/zx3707/p/5708486.html DAO层:DAO...
    不会积阅读 4,653评论 0 1
  • 像极了这造作的夜 风也不安分 呼啦啦的像只苍蝇 连一向羞赧的月 今晚的光也强烈过了头 该死的夏蝉 在秋天还这么肆无...
    黄登登阅读 260评论 2 5
  • 小步快跑的生涯规划同期 今天需要终身持续学习,你和时代都在迅速变化,每个人都在经历着间歇性迷茫。 要从一步到位的地...
    柳叶飘絮阅读 747评论 0 0