多個文件服務器讀寫,這里可采用SMB協議
頁面靜態化,可采用freemarker開源框架
如果考慮到大量的讀寫請求,則將請求分布式或采用調度的辦法來解決
第一點我們首先應該考慮文件服務器與靜態頁面的映射關系,即什么文件應該讀寫到哪臺服務器,這個關系最簡單的辦法是隨機映射,然后將映射關系保存到數據庫中即可,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中,然后通過調度中心異步執行,可用我在博客中說道的另外一篇文章解決即可
您可能感興趣的文章:- 比較詳細的Asp偽靜態化方法及Asp靜態化探討
- 不用mod_rewrite直接用php實現偽靜態化頁面代碼
- 網頁的HTML靜態化_網站優化之談
- php 靜態化實現代碼
- asp 網站靜態化函數代碼html
- nginx 偽靜態化rewrite規則
- ASP頁面靜態化批量生成代碼分享(多種方法)
- php靜態化頁面 htaccess寫法詳解(htaccess怎么寫?)
- smarty 緩存控制前的頁面靜態化原理
- aspx文件格式使用URLRewriter實現靜態化變成html
- php頁碼形式分頁函數支持靜態化地址及ajax分頁
- 使用ob系列函數實現PHP網站頁面靜態化
- 分享常見的幾種頁面靜態化的方法
- 如何對ASP.NET網站實現靜態化