


全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
开发注意事项 1. 服务器端必须提供输入数据正确性的验证,客户端的 Javascript 验证可以没有。这是基 于安全性的考虑,因为 Javascript 是很容易被绕过的,增加客户端验证只是为了减少服务器 压力、界面更加容易使用。 2. 适度使用 Session,尽量不要在 Session 里放很大的集合对象,以免内存消耗过大,因为 很多用户访问的时候会产生很多的 Session。参数传递应该尽量通过 Request。熟悉 HTTP 有 助于更好的理解 Session、Cookie、Request 等的机制。 3. 在带有分页的查询界面,尽量不要使用 POST 方法来传递参数,POST 传递的参数在地址 栏里是看不到的,刷新后会有重新提交表单的提示。使用 GET 方法传递参数要注意 URL 的 长度不能超过 1K。 4. 分层应该清晰,一般目前我们分为 View(Jsp 或 FreeMarker 加上 Action) 、 Bean(Service) 、DAO 这么三层,即显示层、业务层、数据层。记录集 ResultSet 这种只能 出现在 DAO 层中的对象不能出现在 Bean(Service)层中,同样 HttpServletRequest 这种只 能出现在 View 层的对象也不应出现在 Bean(Service)层中。这并不是绝对的。 5. 尽量使用简单 SQL,避免两表以及多表联查。多表联查会导致数据库压力大幅增加,而 且不利于在内存中对部分记录进行缓存,代码的重用性也难以提高。 6. 避免在循环里执行 findXXById 这样的方法,不如执行一个 findXXByIds 这样的方法一次性 把记录取到 Map 里。大部分有实际对象对应的表应该提供这样一个方法。 7. 如果使用最原始的 jdbc 编程的话需要注意资源的正确释放,在循环里 new 出来的 Statement 或者 ResultSet 就要在循环里关闭。 8. 在编写 SQL 进行查询的时候,需要能够判断这个 SQL 是否已经使用了索引,避免全表扫 描,必要的时候增加索引。 9. 在写一个方法前,首先查看有没有相同功能或者很类似功能的方法已经有了,尤其是工 具类方法,往往已经写过了,避免重复代码的产生,发现重复代码及时进行处理。如果一 段代码被重复使用两遍或以上,那么可以考虑专门写个方法来放这段代码,同样多次使用 的常量也应该专门定义出来。 10. 在一个方法里并不一定只能有一个 return,如果已经有结果了尽早 return,没必要增加 嵌套的层次,那样会导致代码可读性不佳,但也不能 return 太多,代码看起来比较舒服就 可以了。 11. 不要满足于能够熟练的编写 DAO 和 Bean(Service)的代码,相比较而言,后台如果在 成熟框架的支持下,编码是没有太大难度的,也不值得沾沾自喜,因为这是对 Java 研发工 程师基本的要求。适当的培养一下前台的编码能力,学会使用 Dreamweaver。不要轻视界 面,也别认为这是界面设计的事情,界面对用户来说就是软件,学会编写 CSS 和调整界面 对你没有坏处。 12. 非常明确 Java 和 javascript 作用的范围,明确它们能做的事情。 13. 一般很奇怪的现象都是由一些低级错误引起的,如果你查了一段时间也没有结果,那 么让别人来查吧。 14. 不要用可能被修改的字段来做主键,那样会让相关记录的更新成为一个大麻烦。 15. 如果被迫使用 Hibernate 和 jdbc 混合操作数据库的话,不要用 Hibernate 来做复杂查询 和统计。Hibernate 用的不好的话,带来的便利是非常有限的。 16. 数据库中经常被读取,但是很少修改的话,应该把这样的数据读到内存中用 OSCache 之类的缓存起来,然后定期或者触发的去更新,有助于减少读数据库次数,提升性能。 17. 编码的时候应该注意部署环境带来的影响,这种影响包括操作系统不同带来路径的差 异;应用服务器和数据库服务器之间时间的差异;外网可能部署在多台服务器上,放到 Session 里的对象因为需要复制所以要实现 java.io.Serializable 接口等。 18. 尽量不要在 jsp 上编写太多代码,保持 jsp 的整洁很重要,用 Dreamweaver 打开不至于 一塌糊涂,根本看不出来这是个什么界面。 19. 目前我们的项目一般都使用 Spring 来管理数据库事务,而且一般都配置在 Bean(Service)即业务层这一层,应该注意要保持事务的完整性,不要把一些应该放在一 起的操作分散在 Action 这一层。相关的更新操作可以认为是一个事务,比如:增加一个家 长,同时更新学生是否有家长的字段。 20. 在 Spring 的配置中,对于有些需要保持独立事务的方法操作,比如生成主键等,应该 声明该方法为独立事务 ROPAGATION_REQUIRES_NEW。Bean(Service)里如果抛出 checked exception,事务默认是不会回滚的,需要加以声明,比如 PROPAGATION_REQUIRED,-PassportException。 21. 在一个 Bean(Service )中引用其他 Bean(Service)的时候尽量引用 Bean(Service) , 而不是 DAO。因为其他的 Bean(Service)往往封装 DAO 的操作后,又做了进一步的完善, 比如增加校验等,所以应该重用这些方法,而不必要去引用 DAO 的方法来重写这些操作。 22. 至少在 Bean(Service)的接口定义上增加注释,方便他人引用你写的方法。 23. 好好利用集合框架里的 Map、List 、Set。尤其是 HashMap、ArrayList、HashSet 用的最 多,这些类是多条数据操作的基础,它们都不是线程安全的。 24. 现在跑的快的页面,随着数据量的增加,可能会变的很慢,所以应该意识到页面可能 变慢的原因,而不是现在看起来很快。影响速度的大部分原因是对数据库的压力太大了, 在 java 代码执行上花费很多时间的情况是不常见的。 25. 避免不必要的跳转,如果页面执行的足够快,那么中间的载入进度提示页是不必要的, 那样会让用户觉得闪烁。 26. 注意页面的文件大小,并不是每个用户的带宽都是非常理想的,文件小一点,速度快 一点,总是感觉更好一点。 27. 不要去修改用户的浏览器,比如隐藏他们的地址栏、菜单、右键菜单等,这可能会引 起部分用户的反感。尽量不要使用弹出窗口,可能会被拦截。 28. 网站的权限控制至少应该保证有访问权限的用户才能访问页面,通过隐藏链接之类的 方法是很不安全的,用户看不见了并不表示安全了。权限的控制尽量使用框架里的拦截器
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 甘肃xx汽车加气站项目实施方案
- 低温乙烷储罐及配套设施项目规划设计方案
- 行政管理公文写作中的实证研究试题及答案
- 市政学核心知识点概述试题及答案
- 什么是森林火灾应急预案(3篇)
- 2024年水利水电工程治理经验试题及答案
- xx市xx化工园区建设项目实施方案
- 行政管理心理学教育理念试题及答案
- 2025年经济法概论考试模拟试题及答案
- 行政管理中的公文写作实例与2025年试题及答案
- 地七年级下册全册知识要点总复习-2024-2025学年七年级地理教学课件(人教版2024)
- 海洋能发电技术-中国海洋能发电技术(新能源发电技术)
- 创业大赛活动策划方案
- 西部计划考试试题及答案
- 【广安】2025上半年四川广安理工学院筹建处第一次招聘非事业编制专任教师15人笔试历年典型考题及考点剖析附带答案详解
- 2025医院护理面试题库及答案
- 2025新疆西北兴业城投集团有限公司岗位招聘(12人)笔试参考题库附带答案详解
- 餐厅供餐协议书范本
- 期中素养测评卷(试题)2024-2025学年五年级下册科学教科版
- 供水公司笔试试题及答案
- 2024年宝鸡市城投资产管理有限公司招聘真题
评论
0/150
提交评论