本文罗列一些问题,都是平常开发中经常遇到的,希望对你们有所帮助。
1.数据校验
显然,正常的J2EE程序,都离不开数据校验这一块。而数据校验又分为客户端校验和服务器端校验。客户端校验的好处是用户体验好,输入东西以后,可以马上得到响应,而不需要联网,服务器的压力也小一些。但是客户端校验面临着跨浏览器的挑战,设置浏览器的升级也会给应用程序带来麻烦,当然,一个稍微懂点js的人,可以轻松跳过客户端的数据校验。服务器端得数据校验就稳健的多了,但是对系统的开销也就多一些。就像你去买服务器,IBM的当然好了,但是也贵啊!有人建议数据校验都放在服务器端,他真的是有钱……
数据校验到底放在哪边,或者两边都进行校验?这个需要根据项目的特点来选择,甚至是页面数据的重要性来选择。当然,一个比较好的办法就是不进行数据校验——采用选择框等数据输入方式,限制用户的输入,就不需要数据校验了。
2.防止重复的客户请求
有时候,用户会不经意的重复提交数据,这在电子商务等数据提交要求很高的领域,会产生比较严重的后果。比如你一个订单提交了两次,但你的本意只想买一个商品……
这个时候,最好的处理方式是明确的刷新会话,在页面处理完成之前,先更新会话。这样会话仍然可用,并且可以在服务器端检查会话的有效性。
3.维护会话状态
客户端技术有:在HTML中使用隐藏表单,使用cookie,url重写。
1.隐藏表单技术简单,好用。在会话状态使用不是特别多的项目中,比较合适使用。但是如果会话技术要求很高的项目,那么隐藏表单就会大量的,重复的在每个页面出现,这样会给效率带来不利。其次,由于隐藏表单是明文(一查看页面源码就可以看到),如果会话信息敏感,甚至还需要加密。
2.重写URL,这种方式在非表单提交时,非常有用。但是它也不能避免隐藏表单方式所拥有的缺陷。
3.cookie技术:这种技术我个人比较排斥,这里就不写了。
综上,客户端保持会话状态这种方式,是轻量级的,不可靠的。
服务器端的会话技术:HttpSession,这个就不是一两句话说得清楚的了,以后用专门的文章写。
4.Jsp的作用
Jsp在J2EE技术体系中,其实感觉起来就比较尴尬,它做的事情,Servlet完全可以做,而Jsp基本上又可以替代Servlet。现在大部分程序员都可以做到把Servlet作为非视图层,但是很多程序员不能做到把Jsp纯作为视图。一个良好的实现应该是Jsp只作为显示使用,而没有其他。这样的好处是分层合理,便于维护。
5.CSS的使用
为了程序界面的统一和高效,采用CSS是一种非常高效的方式,在所谓的第四代用户界面Android,Iphone的UI中,也使用了类似CSS的概念。
6.EJB的设计
大家都知道EJB是来处理业务逻辑的,但是EJB的设计却不是每个人都把握的好。举一个简单的例子,比如一个用户提交了购物请求,后台必须先判断用户的信誉,然后才决定是否生成订单。那么,这样的功能是否应该设计在一个EJB中呢?一个好的设计原则是低耦合,高内聚。如果信誉判断和订单功能在其他地方不再使用,那么,这些步骤写在一个EJB里面是比较合理的。但是如果这两个功能在其他地方也有使用,那么,设计三个EJB是合理的:一个完成信誉判断,一个完成订单功能,一个完成控制器,耦合器的角色。
7.EJB层和WEB层的数据交互
不少人想当然的认为,在两层之间交互信息,大量数据的时候,使用对象类型,少量数据的时候,使用简单类型。其实在高并发量的企业应用中,使用对象类型在这两层之间交互可以减少网络压力,并且让数据之间更有关联。
8.EJB性能
大部分J2EE应用,出现性能瓶颈的地方都是EJB层,因为EJB层可能进行大量的网络通信,这严重的降低了EJB层的功效,最佳处理方式是把需要和EJB频繁通信的组件和EJB放在一台服务器上。
分享到:
相关推荐
Java 常用开发技术选型, 怎么用就看这里,值了,可以方便系统学习指导!! 个人经历讲述关于微服务方面的技术选型和相关知识点。微服务模式的项目从初建到上线部署应用,每一个环节都会涉及到相当多的技术细节...
软件技术选型报告摘要.pdf
本迷你书是《开源技术选型手册》 的精选版,包括Web框架篇、动态语言篇、Ajax开发篇、版本控制篇、项目管理篇(AOP)、面向方面编程篇和面向服务架构篇(SOA)等,作者均为 InfoQ中文站编辑。《开源技术选型手册》由...
通过对前端如何技术选型的分析,清晰深入的对前端常见框架jquery,vue,react,angular的横向分析对比。
开源技术选型手册开源技术选型手册开源技术选型手册
Java开源技术选型手册是首发的目录哦,随便载哦
技术选型方案(开发语言选型)针对java(使用java开发,有丰富的第三方开源框架和插件支持,层次分明,易于开发,方便扩展,跨平台部署支持更好)
技术选型方案(中间件选型)针对Nginx(使用Nginx,高性能,epoll 异步非阻塞,支持反向代理,支持7层负载均衡静态文件、反向代理、前端缓存等处理方便,支持高并发连接)
深度学习技术选型白皮书(2018 年) 深度学习技术选型白皮书(2018 年)
技术选型方案(数据库选型)针对oracle(使用Oracle数据库,有最高认证级别的ISO标准认证,性能极高,保持着开放平台下TPC-D和TPC-C世界记录,有极强的可伸缩性和并行性。)
移动应用开发技术选型策略.pdf
互联网公司如何正确的做技术选型.pptx
深度学习技术选型白皮书.pdf
Serverless入门与实践 建立思维 技术选型及落地实践.pdf
技术方案选型,解决你的燃眉之急,可以下下来看看技术方案选型,解决你的燃眉之急,可以下下来看看
技术选型-技术委员会必要的思考-沈剑.pdf
张辉清-小团队构建大网站之技术选型.pdf
1999年,Eric S....大部分产品和技术基于开源平台的 Google已成为世界上 最成功的高科技公司。今天,从全球 500强企业到中小企业,还有绝大部分的软件公司都在使用开源 产品构建自己的信息系统或产品。
1服务器选型建议全文共8页,当前为第1页。1服务器选型建议全文共8页,当前为第1页。一、服务器资源需求分析及选型建议 1服务器选型建议全文共8页,当前为第1页。 1服务器选型建议全文共8页,当前为第1页。 业务功能...
大数据的应用场景及技术选型,电子书,基础知识,适合初学者阅读