#工作室考核第2周周记:2019年3月31日
本周继续很忙
- 使用jsp编写项目
- 学习和使用过滤器
- 尝试使用bootstrap美化了jsp程序的界面
- 补了一点html基础
- 仔细读了阿里巴巴开发手册
- 总结一周jsp开发经验
- 顺序栈,链栈,四则运算表达式求值
- 数据库设计三大范式
- er图
- javadoc
- cat工作室的项目已经完成
- 本次小项目开发经验总结
- 各层必须高度解耦,否则将来维护难度很大
- 前后端分离,不要耦合
- 数据库要使用preparestatement防止sql注入
- 减少不必要的访问数据库,使用缓存
- 重复代码要重构
- 异常在逻辑层处理,向用户输出提示
- 输入必须有限制,做必要的检查
- 要结合前端需要的数据写后台dao
- 代码注释要详细,包括解释功能,描述参数的规范
- 注意数据库关键字不能冲突
- 各层应面向接口编程,实现工厂模式
- 画er图,分析各个功能模块,尽可能实现复用
- 跟业务逻辑无关的放在工具类
- 常量使用枚举,不要有“魔法值”
- 先有需求分析,画好流程图,再用代码实现
- 分配在前端的精力偏多,应该专注后台技术
- 代码分割需要改进,很多时候没有写注释
- 写注释的能力需要提高,注释不够简洁清晰
- 写代码前需求分析不够,只分析了数据模型,而没有将业务流程分析出来
- java的基础还需要巩固,有些地方还是带着C语言的面向过程的思维,还没有完全实现思维的转换
从List中取数据报空指针异常
错误:不正确的判空方式
if(list.get(0)!=null)
解决:应该先检查是否有对象
if(list.size()>0)
无
将student类的属性全部改为string类型,出现无法读取数据库的数据的问题,经过多轮测试,发现原因数据库没有讲旧数据进行转换,读取时数据不兼容,已解决
错误使用过滤器,继承了sun公司的Filter类,而实际应该是实现Http的Filter接口
使用过滤器报错,在重定向之后没有return,导致请求继续发送至servlet中导致错误
在数据库中使用外键报错,原因是外键和本表对应列类型不同,一个是unsign,另一个没有设置,导致报错
- 好好改良代码风格,更注重代码质量而不是一味实现更多功能
- 将更多精力放在后端技术上,把后台代码写得更规范