版权声明:本文为北京尚学堂原创文章,未经容许不得转载。javascript
开发注意事项html
1. 服务器端必须提供输入数据正确性的验证,客户端的JavaScript验证能够没有。这是基于安全性的考虑,由于Javascript是很容易被绕过的,增长客户端验证只是为了减小服务器压力、界面更加容易使用。java
2. 适度使用Session,尽可能不要在Session里放很大的集合对象,以避免内存消耗过大,由于不少用户访问的时候会产生不少的Session。参数传递应该尽可能经过Request。熟悉HTTP有助于更好的理解Session、Cookie、Request等的机制。spring
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. 网站的权限控制至少应该保证有访问权限的用户才能访问页面,经过隐藏连接之类的方法是很不安全的,用户看不见了并不表示安全了。权限的控制尽可能使用框架里的拦截器这样的机制,而不是把权限控制代码写的处处都是。过滤器不宜过多的使用,不只由于过滤器的做用范围很难控制,并且容易引发页面执行效果的混乱,错误不易排查。
29. 页面里大部分状况使用相对路径,保持Action路径层次和页面一致,这样应用就能够发布在各类目录下。更多精彩内容关注微信公众号:北京尚学堂。
30. 最后一点,多沟通,多交流
对于学习有困难不知道如何提高本身能够微信:858568103进行交流获得帮助,获取学习资料。
若是你的目标是就业,而且是高薪就业,那么北京尚学堂是你正确的选择。北京尚学堂一直在为改变中国IT教育努力着。十年以来,北京尚学堂坚守“为莘莘学子改变命运而讲课”这份情怀,不忘初心。感谢你们的阅读!更多精彩内容关注微信公众号:北京尚学堂。
更多猛料!欢迎扫描上方二维码关注北京尚学堂官方微信公众号(资料领取验证消息:156)