`
kongshanxuelin
  • 浏览: 912688 次
  • 性别: Icon_minigender_1
  • 来自: 宁波
社区版块
存档分类
最新评论

通用大型网站页面静态化解决方案

阅读更多

在开发大型网站时,避免不了处理大量的页面静态化操作,这样方便加快网站访问速度与流量分流,那么如何来实现呢?其实说白了比较简单,网站静态化主要包括以下几方面的工作:

  1. 多个文件服务器读写,这里可采用SMB协议
  2. 页面静态化,可采用freemarker开源框架
  3. 如果考虑到大量的读写请求,则将请求分布式或采用调度的办法来解决

第一点我们首先应该考虑文件服务器与静态页面的映射关系,即什么文件应该读写到哪台服务器,这个关系最简单的办法是随机映射,然后将映射关系保存到数据库中即可,SMB常用的操作代码如下:

	public static boolean exists(String filepath,String username,String pwd) throws Exception
	{
    	SmbFile file = new SmbFile("smb://"+username+":"+pwd+"@"+filepath);
        try{
        	return file.exists();
        }catch(Exception ex){
        	return false;
        }
	}

    public static boolean fileRename(String filepath,String newFilename,String username,String pwd)
	{
    	try{
	    	SmbFile f=new SmbFile("smb://"+username+":"+pwd+"@"+filepath);
	    	if(f.isFile()){
	          String str=filepath.substring(0,filepath.lastIndexOf("/"));
	          str="smb://"+username+":"+pwd+"@"+str+"/"+newFilename;
	          f.renameTo(new SmbFile(str));
	    	}else if(f.isDirectory()){
		          String str=filepath.substring(0,filepath.length()-1);
		          str=filepath.substring(0,str.lastIndexOf("/"));
		          str="smb://"+username+":"+pwd+"@"+str+"/"+newFilename;
		          f.renameTo(new SmbFile(str));	    	  	
	    	}
	        return true;
    	}catch(Exception ex){
    		return false;
    	}
	}
   
    public static void mkdir(String dir,String username,String pwd)
    {
      try{
    	  SmbFile f=new SmbFile("smb://"+username+":"+pwd+"@"+dir);
    	  if(!f.exists())
          f.mkdir();
      }catch(Exception ex)
      {
      }
    }

    public static void mkfile(String filepath,String username,String pwd)
    {
      try
      {
    	  SmbFile f=new SmbFile("smb://"+username+":"+pwd+"@"+filepath);
    	  if(!f.exists())
          f.createNewFile();
      }catch(Exception ex)
      {
      }
    }

    public static void mkfile(String filepath,String username,String pwd,String content)
    {
      try
      {
    	  SmbFile f=new SmbFile("smb://"+username+":"+pwd+"@"+filepath);
    	  if(!f.exists())
          f.createNewFile();
          writeFile(filepath,content,username,pwd);
      }catch(Exception ex)
      {
      }
    }
    
    public static boolean isdir(String filepath,String username,String pwd) throws Exception
    {
      String dir="smb://"+username+":"+pwd+"@"+filepath;
      SmbFile f=new SmbFile(dir);
      return f.isDirectory();
    }

 第二点,页面静态化可由freemarker生成,freemarker的使用比较简单,我这里不再啰嗦,重复说了

 第三点,调度中心,或把静态化的请求先保存到Task中,然后通过调度中心异步执行,可用我在博客中说道的另外一篇文章解决即可

6
3
分享到:
评论
3 楼 gembler 2008-10-17  
kongshanxuelin 写道

gembler 写道有一小问题需要请教:通常静态页的页头和页尾都是统一的,又或者页面的某一部分的统一的,除用frame之外还有没有好的方案?freemarker有include标签

页头有改动,需要所有页面都重新生成?
如果页头是个动态页又改怎么样?
2 楼 kongshanxuelin 2008-10-17  
gembler 写道

有一小问题需要请教:通常静态页的页头和页尾都是统一的,又或者页面的某一部分的统一的,除用frame之外还有没有好的方案?

freemarker有include标签
1 楼 gembler 2008-10-17  
有一小问题需要请教:

通常静态页的页头和页尾都是统一的,又或者页面的某一部分的统一的,除用frame之外还有没有好的方案?

相关推荐

    生活分类信息发布网站的优秀网站管理系统正式版

    是经过多年的经验积累,完善设计、精心打造的适用于各种服务器环境的安全、稳定、快速、强大、高效、易用、优秀的网站建设解决方案。采用人性化的Windows操作方式开发,运行速度快,服务器资源占用更少;无论在稳定...

    网软志成分类信息网站系统.net官方商业版

    是经过多年的经验积累,完善设计、精心打造的适用于各种服务器环境的安全、稳定、快速、强大、高效、易用、优秀的网站建设解决方案。采用人性化的Windows操作方式开发,运行速度快,服务器资源占用更少;无论在稳定...

    仿赶集网站模板.net分类信息管理系统下载

    是经过多年的经验积累,完善设计、精心打造的适用于各种服务器环境的安全、稳定、快速、强大、高效、易用、优秀的网站建设解决方案。采用人性化的Windows操作方式开发,运行速度快,服务器资源占用更少;无论在稳定...

    仿58同城赶集网源码

    北京信息超市源码,本分类信网程序基于asp+mssql技术开发的分类信息程序,是经过多年的经验积累,完善设计、精心打造的适用于各种服务器环境的安全、稳定、快速、强大、高效、易用、优秀的网站建设解决方案。...

    ASP.NET的网页代码模型及生命周期

    在ASP.NET中,可以创建ASP.NET网站和ASP.NET应用程序,ASP.NET网站的网页元素包含可视元素和页面逻辑元素,并不包含designer.cs文件。而ASP.NET应用程序包含designer.cs文件。创建ASP.NET网站,首先需要创建网站,...

    创易CreateEasy CMS V1.0 Beta版

    本系统基于ASP语言和MSSQL/ACCESS数据库开发,是一个经过完善设计并适用于各种服务器环境的高效、易用、快速、安全和优秀的网站解决方案,无论在稳定性、负载能力、安全保障等方面都做到了尽可能的完善。 创易CMS...

    KesionCMS v9.05 Build20130704 免费正式版 gbk.exe

    KesionCMS是漳州科兴信息技术有限公司开发的一套万能建站产品,是CMS行业最流行的网站建设解决方案之一,V9.0采用ASP ACCESS/MSSQL架构,系统具有极强的可扩展性,并且一直以来完全开放源代码;这套系统自2006年发布...

    KesionCMS v9.05 Build20130704 免费正式版 utf-8.exe

    KesionCMS是漳州科兴信息技术有限公司开发的一套万能建站产品,是CMS行业最流行的网站建设解决方案之一,V9.03采用ASP ACCESS/MSSQL架构,系统具有极强的可扩展性,并且一直以来完全开放源代码;这套系统自2006年发布...

    精易模块[源码] V5.15

    3、改善“进程_枚举”处理效率,由易友【@御风软件】提供方案。 4、新增“窗口_是否被遮挡”,判断一个窗口是否被置顶窗口遮挡,代码由易友【@shituo】提供。 5、改善“汇编类->置入汇编代码”增添一个参数是否保留...

    亮剑.NET深入体验与实战精要2

    3.4.7 在URL中传递中文的解决方案 152 3.4.8 增强用户体验的一些技巧 153 3.4.9 XHTML与HTML的区别 156 3.5 打造自己的页面基类PageBase 161 本章常见技术面试题 164 常见面试技巧之如何做好自我介绍 164 本章小结 ...

    亮剑.NET深入体验与实战精要3

    3.4.7 在URL中传递中文的解决方案 152 3.4.8 增强用户体验的一些技巧 153 3.4.9 XHTML与HTML的区别 156 3.5 打造自己的页面基类PageBase 161 本章常见技术面试题 164 常见面试技巧之如何做好自我介绍 164 本章小结 ...

    java 面试题 总结

    静态INCLUDE用include伪码实现,定不会检查所含文件的变化,适用于包含静态页面<%@ include file="included.htm" %> 23、什么时候用assert。 assertion(断言)在软件开发中是一种常用的调试方式,很多开发语言中都...

    超级有影响力霸气的Java面试题大全文档

    静态INCLUDE用include伪码实现,定不会检查所含文件的变化,适用于包含静态页面<%@ include file="included.htm" %> 26、什么时候用assert。 assertion(断言)在软件开发中是一种常用的调试方式,很多开发语言中都...

    Visual C++ 2010入门经典(第5版)--源代码及课后练习答案

    1.6.4 项目和解决方案 11 1.6.5 设置Visual C++ 2010的选项 23 1.6.6 创建和执行Windows应用程序 23 1.6.7 创建Windows Forms应用程序 26 1.7 小结 27 1.8 本章主要内容 28 第2章 数据、变量和计算 29 2.1 ...

    eMart 网店系统 V 1.0 SqlServer版

    在access版【下载】的基础上增加了sqlserver【下载】数据库平台的解决方案,可以更加灵活高效的适用于各种商业B2C的场合 系统更加注重于运行的稳定和安全性,保障了您业务的正常进行,当然您可以在效率和功能的杠杆...

    Windows应用程序捆绑核心编程光盘代码

    1.3.5 改变内存页面保护属性 9 1.3.6 进行一个进程的内存读写 10 1.4 文件的内存映射 11 1.4.1 内存映射API函数 11 1.4.2 用内存映射在多个应用程序之间共享数据 13 1.4.3 用内存映射文件读取大型文件 18 1.5 ...

    软件工程知识点

    (3)按规模划分:微型软件、小型软件、中型软件、大型软件。 (4)按服务对象划分:通用软件、定制软件。 3.软件发展阶段 (1)程序设计时代(20世纪50年代)。 (2)程序系统时代(20世纪60年代)。 (3)软件...

    vfp6.0系统免费下载

    答案: Knowledge Base 是内容广泛的论文集,覆盖了如何使用产品的各种特性、已知的软件错误及其解决方案或回避的方法、以及其他有助于使用各种 Microsoft 产品的有用信息。通过以下站点可访问整个 Knowledge Base: ...

Global site tag (gtag.js) - Google Analytics