Servlet-JSP 项目开发规范

1. 项目文件结构
1.1. 后端代码
1.1.1. 基本包名由组织(公司)名+项目名构成,如:cn.hp.crm
1.1.2. 模型包名:cn.hp.crm.model
1.1.3. 数据访问层:cn.hp.crm.dao/dao.impl
1.1.4. 服务层:cn.hp.crm.service/service.impl
1.1.5. 控制器(Servlet)层:cn.hp.crm.servlet.模块
1.1.6. 过滤器:cn.hp.crm.filter
1.1.7. 工具类:cn.hp.crm.util
1.1.8. 每个模块选择一个最贴切且简洁的英语单词作为基本名字,从模型到数据层到控制
		层等各层都使用这个名字。如:
		用户:user
		通知公告:notice
		部门:department
		角色:role
		客户:customer
1.1.9. 可以推导出来,model/dao/dao.impl /service/service.impl 的名字分别是
		Notice
		NoticeDao
		NoticeDaoImpl
		NoticeService
		NoticeServiceImpl
1.1.10. Servlet 控制层的命名采用动词+Servlet 后缀的方式,统一为这种方式有利于今后抽
象出共同的父类,如
		AddServlet 添加
		ListServlet 列表
		DetailServlet 详情
		UpdateServlet 更新
		RemoveServlet 删除
URL 统一设计为/模块名/动词,如上的 Servlet 对应分别是:
		/notice/add
		/notice/list
		/notice/detail
		/notice/update
		/notice/remove
1.1.11. 公用父类、数据库连接、分页、SessionKey 统一定义都放在 util 中
1.2. 静态资源和视图
1.2.1. 静态资源放在 web 目录中,分别是:
		css 	样式表
		image 	图片
		js 		项目组编写的 JS 脚本
		WEB-INF
			lib 第三方库
1.2.2. 视图分模块放在 WEB-INF/view 中,命名上采用动词,如通知公告模块:

在这里插入图片描述

2. Java 命名规范
2.1. 模型类实现 Serializable 序列化接口 序列化 反序列化
2.2. 实例变量使用驼峰命名法,数据库字段使用_时,将之改为驼峰命名法,如:
	数据库中 create_time 类中 createTime
2.3. 使用 idea 提供的功能封装实例变量,接受 idea 的命名习惯
2.4. 使用动词作为方法名,如 NoticeDaototal() 返回数据总数
	list() 返回列表数据
	getById() 通过 Id 获取公告
	add() 添加
	removeById() 删除
	update() 更新	
2.5. 日期时间使用 java.sql.Timestamp2.6. 重写 toString 方法方便打印日志查看类中的数据
2.7. 重写方法使用@Override
2.8. Dao 接口中的方法名使用统一的词汇
	total() 获取数据总数
	list() 获取数据或分页数据
	getById() 通过 Id 获取单条数据
	add() 添加数据
	removeById() 通过 Id 删除单条数据
	update() 更新单条数据
	如果对数据模型的操作不是增删改查,则可以使用更贴切的词汇。如站内邮件模块。
	send() 发送邮件 update
	save() 保存草稿
2.9. 变量命名使用驼峰命名法,尽量使用完整的单词,除非简写比较普遍,大家一看都懂,
	如:desc 表示 description
	
3. 数据库命名规范
3.1. 采用 MySQL 命名规范,特别强调以下几点:
	主键 id 使用表名_id
	status 数据状态,表示数据是否被逻辑删除,表示审核是否通过等
	remark 备注,用户填写的备注信息,或者人为修改数据时记录的说明
	create_time 创建时间
	creater 创建人用户 Id
	update_time 更新时间
	updater 更新人用户 Id
	日期时间使用 timestamp 类型
	varchar 类型要设置合适的长度
	status 等使用小范围数字的,设置为 tinyint 等 byte -128~127
	
4. 样式表命名规范
4.1. 本项目已经定义好主体样式表,最大的原则是不要在页面中写 style 行内样式,其次
	是将页面中的内容分好类别,定义统一的样式表。如:
	.box 内容容器
	.btn 按扭
	table.list 数据列表
	.pager-info 分页信息
	.pagination 分页页码
	.form-table 包含表单的表格
	.p80 用来控制表单中文本框的宽度
5. JSP 相关
5.1. 优先使用 JSTL 和 EL 表达式
5.2. 标签库的前缀使用大家常用的 c、fn、fmt 等
5.3. 引用 URL 时,注意使用<c:url>标签,以确保改变部署位置时生成正确的 URL
5.4. 图标统一使用 font-awesome 字体图标

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

z1427094386

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值