仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 421|回复: 9
打印 上一主题 下一主题

[学习教程] 了解下JAVA的Java Web前真个高功能

[复制链接]
老尸 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:02:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
Java到底会发战成什么样,让我们拭目以待吧,我始终坚信着java会更好。以上都是俺个人看法,欢迎大家一起交流.
弁言
在前端优化的第一部分中,次要解说了对静态资本的一些优化措施,包含图片紧缩、CSSSprites手艺、GZIP紧缩等。这一部分,本文将解说前端优化里主要的Flush机制、动态分别、HTTP耐久毗连、HTTP协定天真使用、CDN等。分离这些手艺或头脑,信任会使JavaWeb使用程序的功能更上一层楼。
Flush机制的利用
实践上在Web手艺中,Flush机制其实不奇怪,它的头脑是无需比及网页内容全体加载终了,一次性写回客户端,而是能够部分逐次的前往。假如网页很年夜的话,一次性写回全体内容明显是个不明智的选择,由于这会形成网页的长工夫空缺。Flush机制同意开辟职员将网页的内容按文档流按次慢慢前往给客户端,如许可使得用户晓得我们的体系正在事情,只是守候的工夫稍长罢了,如许用户也会“何乐不为”的等下往。Flush机制是一个典范的进步用户体验的办法,至今也一向在用。假如网页很年夜,这个机制也是倡议利用的。在JavaWeb手艺中,完成Flush十分复杂,只需挪用HttpServletResponse.getWriter输入流的flush办法,就能够将已完成加载的内容写回给客户端。
可是是不是每个网页都要利用该手艺呢?笔者固然不这么倡议。将网页内容加载终了后再一次性前往客户端也有它的优点。我们晓得收集传输也有最年夜的传输单位,内容加载终了后一次性输入就能够最年夜水平的使用传输的带宽,削减分块,削减传输次数,也就是说实践上Flush机制会增添用户守候工夫、增添扫瞄器衬着工夫,可是关于年夜网页来讲,下降这点效力来加强用户体验,是值得的。
动态分别
所谓的动态分别,就是将Web使用程序中静态和静态的内容分离放在分歧的Web服务器上,有针对性的处置静态和静态内容,从而到达功能的提拔。本文基于JavaWeb来说解Web优化,而JavaWeb的支流服务器软件是Tomcat。让人遗憾的是,Tomcat在并发和静态资本处置的才能上较弱,这也是Tomcat为人诟病的中央。可是白璧微瑕,既然我们选择了JavaWeb,那末就应当发扬我们程序员的思想往千方百计的进步功能。而动态分别就是个中一种办法,既然Tomcat处置静态资本的才能较弱,那就将静态资本的处置义务交给合适的软件,而让Tomcat专注于处置JSP/Servlet的哀求。
关于静态资本处置的服务器软件,我们能够选择Nginx,它是一款俄罗斯人开辟的软件,仿佛比Apache加倍优异。它撑持高并发,对静态资本处置的才能较强,这恰是我们想要的不是吗?现实上,动态分别的计划良多,有人接纳Apache+Tomcat的组合;也有人利用Tomcat+Tomcat的组合,不外两个Tomcat分离被安排于分歧的主机,分歧的域名。个中Apache+Tomcat的计划与Nginx的计划道理上是一样的,它们都是基于反向代办署理,相对利用Nginx设置动态分别,Apache的设置就显得稍微庞大一些。在Apache里,mod_proxy模块卖力反向代办署理的完成。个中核心设置内容如清单1所示,该设置属于自己介入某项目标个中一部分。
清单1.动态分别的Apache中心设置
  1. <Proxybalancer://proxy>
  2. BalancerMemberhttp://192.168.1.178:8080loadfactor=1
  3. BalancerMemberhttp://192.168.1.145:8080loadfactor=1
  4. </Proxy>
  5. NameVirtualHost*:80
  6. <VirtualHost*:80>
  7. ServerAdminservice@xuanli365.com
  8. ServerNamewww.xuanli365.com
  9. DocumentRoot/www
  10. DirectoryIndexindex.shtml
  11. <Directory/www>
  12. AllowOverrideAll
  13. AddTypetext/html.shtml
  14. AddTypeapplication/x-rar.rar
  15. AddHandlerserver-parsed.shtml
  16. Options+IncludesNOEXEC
  17. </Directory>
  18. RewriteEngineon
  19. ProxyRequestsOff
  20. ProxyPass/static/!
  21. ProxyPass/balancer://proxy/
  22. ProxyPassReverse/balancer://proxy/
  23. ProxyPreserveHoston
  24. </VirtualHost>
复制代码
从Apache官方对mod_proxy模块的先容,我们能够晓得ProxyPass属性能够将一个远端服务器映照到当地服务器的URL空间中,也就是说这是一个地点映照功效。在清单1的设置中,当会见的路径不在/static/下时(!暗示非),就转发给后真个服务器(也就是Tomcat);不然假如是/static/路径就会见本机。比方,当会见www.xuanli365.com/static/css/index.css时,实践处置哀求的是Apache服务器,而会见www.xuanli365.com/index.jsp,那末Apache会将哀求转发到后真个Tomcat服务器,实践会见的页面是http://192.168.1.178(或145):8080/index.jsp,这就完成了动态分别。在清单1的设置中实践也包括了复杂的负载平衡(loadfactor因子)。
现实上,我们能够任意翻开一个年夜型流派网站来看一下,我翻开的是腾讯网站,恣意检察其中两张图片的地点,我发明一个是:http://mat1.gtimg.com/www/iskin960/qqcomlogo.png,而另外一个则是:http://img1.gtimg.com/v/pics/hv1/95/225/832/54158270.jpg。可见该网站寄存图片资本利用了多个的域名,我们再用Linux的host命令检察两个域名的IP地点,了局如所示。
.某网站的动态分别

能够看到,经由过程检察IP地点,我们发明这些图片极可能寄存在分歧的主机上(为何是极可能?由于一个主机能够具有多个IP),而图片内容和网页的静态内容其实不在统一IP下,也极可能是动态分别。多个域名在后面也已提到,能够增添扫瞄器的并发下载数,进步下载效力。
本文彩用另外一种战略对动态分别举行演示,它的大抵布局如所示。
.本文计划的动态分离布局

<p>
令人可喜的是java现在已经开源了,所以我想我上述的想法也许有一天会实现,因为java一直都是不断创新的语言,每次创新都会给我们惊喜,这也是我喜欢java的一个原因。
老尸 该用户已被删除
沙发
 楼主| 发表于 2015-1-19 18:52:11 | 只看该作者
让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。
再见西城 该用户已被删除
板凳
发表于 2015-1-24 15:22:16 | 只看该作者
是一种使网页(Web Page)产生生动活泼画面的语言
变相怪杰 该用户已被删除
地板
发表于 2015-1-27 08:25:35 | 只看该作者
你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?
海妖 该用户已被删除
5#
发表于 2015-2-5 03:16:41 | 只看该作者
设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧
因胸联盟 该用户已被删除
6#
发表于 2015-2-11 02:42:56 | 只看该作者
Java 编程语言的风格十分接近C、C++语言。
第二个灵魂 该用户已被删除
7#
发表于 2015-3-1 19:43:54 | 只看该作者
是一种为 Internet发展的计算机语言
小妖女 该用户已被删除
8#
发表于 2015-3-10 22:39:28 | 只看该作者
Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站
精灵巫婆 该用户已被删除
9#
发表于 2015-3-17 11:37:41 | 只看该作者
Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。
小魔女 该用户已被删除
10#
发表于 2015-3-24 09:22:54 | 只看该作者
在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-9-28 19:23

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表