搭建java项目的几点建议
最近一个项目中有一个模块是信息交互平台。
类似淘宝这样的站点,整个站点有一个首页,展现对于淘宝平台的整体介绍;各个网店有自己的一个小“门户”,介绍自己的小店,展示产品。
第一:这个站点采用动态方式展现?还是静态方式展现?
最初的考虑是,为了能在google和baidu上搜索到这个站点和站点下的各个小网点的门户,将此站点做成静态的展现方式。
提供动态的数据维护,由各个网店的负责人员输入网店的各种信息,比如网店的介绍、网店的产品信息,系统通过定时生成或者人工生成的方式,形成静态网站展现。
在同事写出了流程图和设想后,发现这样的实现方式工作量非常的大,比较动态站点的方式需要花费更多的时间和人力,从项目进度和成本两个方面考虑都不合适。
请教了同事,给出以下的建议:
1、没有必要采用静态的方式
google和baidu都支持对动态网页的搜索,他们的“网络爬虫”可以达到对动态网页的搜索,所以我最初的担心其实是不存在的。
为了能有较好的搜索结果,提到了以下两种技术:
(1)可采用“URL Rewrite”对搜索引擎进行优化。
(2)SEO搜索引擎优化。
其实大型的成功案例是非常好的学习资料,比如:对于淘宝的研究,他的URL是什么样子的?如何实现管理?如何提供搜索的?
还有就是URL不一定是比较传统的.do动作,可以是html抑或其他的形式。
站点中所有的资源都有唯一的ID,同一类资源在展现的时候URL是一致的只是ID不一样,比如商城可以是http://www.mystore.com/shop=0;而对于商品来说可以是http://www.mystore.com/shop/good=1001,依次类推。
2、对于网店,提供模板给用户选择
那么模板的实现有哪几种方式呢?
同时推荐了:
(1)freemark:这个是最强大的
(2)ER
(3)apache velocity:有加速的效果,由apach提供
(4)struts支持的OGNL,这个模板可以在数据库中配置,需要在struts的config中对配置view的展现方式。
3、尽量少使用session
尽量减少session的使用,不要在session中存放object,尤其是负责的object,最好只在session中存放一个userID。
这个也是为集群做准备。
可以的话将数据存放在cookie中。
4、对ibatis和hibernate的分析
两种的对比我还没有了解。
目前http://www.myspace.com/和http://www.myspace.cn/以及taobao目前都在使用ibatis。
5、还有应用服务器的选择
涉及到jboss,Tomcat,Resine,webLogic的对比。
其中webLogic对集群支持较好。
6、JAVA虚拟机的限制
JAVA虚拟机好像不能突破4G的限制,所以在应用比较大的时候需要通过集群来提高性能。
7、为提高性能,可采用缓冲
memcached技术
总结一下:
1、URL的设计:与google排名的关系
2、模板的设计和实现:Freemark,ER,apache velocity
3、缓冲技术,如memcached
posted on 2008-08-22 14:27 littlebamboo 阅读(388) 评论(0) 收藏 举报
浙公网安备 33010602011771号