当前位置: 代码迷 >> Java Web开发 >> 很好奇那些大型网站的页面是如何弄出来的
  详细解决方案

很好奇那些大型网站的页面是如何弄出来的

热度:97   发布时间:2016-04-16 22:07:26.0
很好奇那些大型网站的页面是怎么弄出来的?
像访问量比较大的门户网站,电商网站,他们有那么多的数据,都用HTML页面一个个写肯定不现实?所以就只一直很好奇,这些页面是怎么出来的。像Java Web,难道是JSP拼出来的,感觉也不可能?所以到论坛里面求经来了。
------解决方案--------------------
生成静态页面。。
------解决方案--------------------
可以看下《淘宝技术这十年》,里面简单介绍了下淘宝的首页!
------解决方案--------------------
模板渲染生成静态页
------解决方案--------------------
引用:
Quote: 引用:

模板渲染生成静态页


JavaWeb也可以这么做么?
[/quote
当然可以
------解决方案--------------------
引用:
Quote: 引用:

生成静态页面。。


对呀,我知道,可是我好好奇怎么生成的,有哪些技术可以这么做?

freemarker Velocity这两种模版引擎用的比较多吧。
taobao用的是什么技术没了解过 
但是麦包包用的是Velocity
------解决方案--------------------
定时生成静态页面,虽然数据不能实时的,但是可以做到每天更新数据。
------解决方案--------------------
有很多模板 框架。楼上那些说的也是。
------解决方案--------------------
引用:
Quote: 引用:

Quote: 引用:

生成静态页面。。


对呀,我知道,可是我好好奇怎么生成的,有哪些技术可以这么做?

freemarker Velocity这两种模版引擎用的比较多吧。
taobao用的是什么技术没了解过 
但是麦包包用的是Velocity

++, 猜测taobao 可以会自己写模版引擎,然后自己处理解析机制
------解决方案--------------------
引用:
Quote: 引用:

1. 他们不会用jsp这种技术来写页面了,现在互联网前端一般都是php

前端  php ??


此前端非彼前端,不要钻牛角尖。

看到这个帖子被推荐了,我在补充一点东西。

功能都是迭代上去的,互联网的产品也不是一日之间做出来的,所以即时页面很多,但是也是一个迭代一个迭代做出来的,这些功能已经很稳定成熟的页面,一般来说不会频繁的改动。

像taobao这样的网站一般临时性的活动页面很多,这是一般的前端工程师工作量比较大的地方。但是跟是数据相关的后端是不会临时写的,这个部分比前端更加稳定成熟
------解决方案--------------------
我一直比较好奇的是他们怎么赚钱的……
------解决方案--------------------
个人看法:
其实,像淘宝这种大型网页,页面也不一定很多,表面上来看,一个商品一个页面,几亿个商品,似乎有几个亿页面,这个不对,一般用几个常用模板。
另外,我个人觉得,不一定非要把jsp啊,PHP啊,转化成静态的HTML页面,这样,反而加重服务器负担,(转化过程,应该要涉及流操作吧?内存,CPU还是挺可观的)。
当然,有人也会说转化为静态的,也有好多好处,比如,有利于搜索引擎收录啊,比如,不容易暴露后台技术啊。(知道我后台用java,SSH,框架开发的网站,你有办法破解?)
但我觉得,相对效率来说,这两个优点,可以忽略不计吧
------解决方案--------------------
引用:
有很多模板 框架。楼上那些说的也是。


他们会有相当成熟的模板的!
------解决方案--------------------
你应该好奇 那么多图片是怎么管理的呢
------解决方案--------------------
后端的很多业务逻辑处理,是java开发的,提供服务接口。
------解决方案--------------------
淘宝做到这么大,内部肯定是各种语言配合使用,各取所长。淘宝是以java为主的。他的主要业务逻辑处理,是用java开发的,然后做成服务接口,然后无论是搭配jsp,php都是可以的。现在不同语言之间的通信,已经很成熟稳定,选择也很多。

仅仅就淘宝而言,前端的页面展示,数据输出,是用的php。在用户下单,交易等等过程中,肯定是有调用后台业务逻辑处理服务接口,这里有很多是java开发的。

这里所说的前端和后端,其实与传统意义上的理解有小小区别。其实上面有人说前端是php,有人在质疑?其实是大家对前端和后端理解的差异。
对于淘宝,我个人的理解也偏向于是:前端是php,  后端是java。
因为在淘宝,php主要承担的角色是展示和数据输出,   java承担的角色是:相对负责业务逻辑的服务接口提供。
------解决方案--------------------
主流的模板引擎 freemarker 、 Velocity这两种,也就是说你在网站上看到的以html结尾的网站地址,其实都是由模板生成的,哪有可能一个一个页面去写呢,其实就相当于你写了一个jsp从数据库取出数据,jsp页面中肯定有些数据是从后台取的,比如:姓名是${name},但是你在网站上查看源码的时候肯定是具体的值,原理是一样的。就是把动态网页转成html。这样的网站才能处理高并发等问题。
------解决方案--------------------
你百度下mencache redis就知道了。

模板渲染 NOSQL 高速缓存 服务器集群
  相关解决方案