- 浏览: 215390 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
zjut_ww:
非常感谢分享。。但是我在使用过程中遇到一点小问题。就是如果用来 ...
java正则表达式找出不包含特定字符串 -
mohican52:
在吗,大哥
struts2首页forward跳转后执行action -
hz2005_2009:
Y轴中文问题怎么解决?
FusionChartsFree调用json数据的简单例子 -
xixian:
chenhao_yssy 写道把num换称9.985和9.99 ...
Doublel保留两位小数 -
chenhao_yssy:
把num换称9.985和9.995试试。
Doublel保留两位小数
大型网站页面静态化解决方案
在开发大型网站时,避免不了处理大量的页面静态化操作,这样方便加快网站访问速度与流量分流,那么如何来实现呢?其实说白了比较简单,网站静态化主要包括以下几方面的工作:
多个文件服务器读写,这里可采用SMB协议
页面静态化,可采用freemarker开源框架
如果考虑到大量的读写请求,则将请求分布式或采用调度的办法来解决
第一点我们首先应该考虑文件服务器与静态页面的映射关系,即什么文件应该读写到哪台服务器,这个关系最简单的办法是随机映射,然后将映射关系保存到数据库中即可,SMB常用的操作代码如下:
在开发大型网站时,避免不了处理大量的页面静态化操作,这样方便加快网站访问速度与流量分流,那么如何来实现呢?其实说白了比较简单,网站静态化主要包括以下几方面的工作:
多个文件服务器读写,这里可采用SMB协议
页面静态化,可采用freemarker开源框架
如果考虑到大量的读写请求,则将请求分布式或采用调度的办法来解决
第一点我们首先应该考虑文件服务器与静态页面的映射关系,即什么文件应该读写到哪台服务器,这个关系最简单的办法是随机映射,然后将映射关系保存到数据库中即可,SMB常用的操作代码如下:
package org.manggo.test; import java.net.MalformedURLException; import jcifs.smb.SmbException; import jcifs.smb.SmbFile; import jcifs.smb.SmbFileInputStream; public class SmbTest { public static boolean exists(String filepath, String username, String pwd) throws MalformedURLException{ 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) throws MalformedURLException, SmbException { 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; } 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 MalformedURLException, SmbException { String dir = “smb://” + username + “:” + pwd + “@” + filepath; SmbFile f = new SmbFile(dir); return f.isDirectory(); } public static void main(String[] args) { SmbTest.mkdir(“192.168.100.188/wwwroot/test”, “hongquanli”, “87483281″); try{ SmbFile smbFile=new SmbFile(“smb://hongquanli:87483281@192.168.100.188/wwwroot/index.htm”); //通过 smbFile.isDirectory();isFile()可以判断smbFile是文件还是文件夹 int length=smbFile.getContentLength();//得到文件的大小 byte buffer[] = new byte[length] ; SmbFileInputStream in = new SmbFileInputStream(smbFile) ; //建立smb文件输入流 while((in.read(buffer)) != -1){ System.out.write(buffer); System.out.println(buffer.length); } in.close(); }catch(Exception e){ e.printStackTrace(); } } }
发表评论
-
Java编程中“为了性能”需做的26件事
2013-01-09 09:47 781转载于 http://www.csdn.net/arti ... -
spring xml
2012-11-08 16:04 0<?xml version="1.0 ... -
Java反射机制
2012-10-28 22:06 774参见 http://blog.csdn.net/njcheny ... -
Hibernate取出需要用到的部分字段
2012-08-14 11:26 2325hibernate当数据对象有关联的对象时候,查询该数据对象, ... -
session查找
2012-06-15 20:09 0public HistoryBean findHisto ... -
java生成验证码
2012-05-07 14:26 0public void imaAjax() ... -
lucene的检索方式
2012-05-02 17:23 971Lucene 简介 Lucene 是一个基于 Java 的全文 ... -
在过滤器中通过spring上下文获取bean
2012-04-29 14:30 3574在过滤器中通过spring上下文获取bean publ ... -
tomcat配置Gzip 压缩进行优化
2012-04-18 18:02 1308Gzip 压缩可以大大提高浏览网站的速度,它的原理是,在客 ... -
配置文件
2012-04-18 14:32 0struts-interceptor.xml & ... -
json工具类
2012-04-18 14:14 0json-lib-2.2.3-jdk15.jar pac ... -
lucene的简单例子
2012-04-18 09:59 0配置文件 jdbc.driverClassName = ... -
获取tomcat项目地址
2012-04-10 14:31 0private String projectName=&quo ... -
EhCache总结
2012-04-09 16:48 0EhCache总结 1 概述 1.1 ... -
java正则表达式找出特定格式语句的关键字
2012-02-04 10:27 2879中文问句语句分析需要提取问句中的关键字 例子1 这个是什么牌子 ... -
java正则表达式找出不包含特定字符串
2011-12-24 11:45 12508参考资料 http://www.imkevinyang.com ... -
java重载
2011-12-19 11:01 0重载:方法名称相同,参数的类型或个数不同,此时称为方法的重载, ... -
tomcat6 the apr based apache tomcat native library...报错处理
2011-12-10 11:25 930tomcat6突然启动不了,看到启动时候有下面提示 The ... -
Tomcat:IOException while loading persisted sessions: java.io.EOFException解决方法
2011-12-10 11:22 769tomcat本来正常,突然启动报错如下 严重: IOExce ... -
获取jar包里面的文件
2011-12-07 14:30 988资料参考于 http://hxraid.iteye.com/b ...
相关推荐
下面我们将深入探讨.NET页面静态化的核心概念、实现方法以及其优势。 一、页面静态化原理 页面静态化的基本思想是,在用户请求动态内容时,服务器不再实时生成动态页面,而是直接返回已经生成的静态HTML文件。这...
Java页面静态化主要有两种方式:服务器端静态化和客户端静态化。 1. 服务器端静态化: - **预渲染(Prerendering)**:在用户请求之前,系统自动将一些常用或者热点页面生成静态HTML文件,存储在文件系统或CDN上。...
1. **JSP页面静态化原理**: - JSP页面静态化的核心思想是将原本需要服务器实时解析的动态内容,提前转换为静态HTML文件,存储在服务器上。这样,当用户请求这些页面时,服务器不再需要执行JSP脚本,而是直接返回...
在进行页面静态化时,我们还需要考虑一些问题,比如如何处理动态内容(如用户登录状态、个性化推荐)、如何同步静态文件和动态数据、以及如何清理过期的静态文件等。这些问题可以通过设计合理的缓存策略和定时任务来...
因此,页面静态化是提升网站性能的有效手段。 页面静态化技术的核心原理是通过解析动态网页的URL,生成对应的HTML文件,并存储在服务器的文件系统或缓存中。当用户请求该URL时,服务器直接返回预先生成的HTML,而...
PHP页面静态化是一种常见的优化网站性能的技术,它将动态生成的网页内容转化为静态HTML文件,以便浏览器可以直接加载,而无需每次请求时都执行PHP脚本和查询数据库。这样可以显著提高页面加载速度,减轻服务器负担,...
在ASP.NET中,动态页面静态化主要有两种方式:预编译(Precompilation)和运行时静态化(Runtime Output Caching)。 1. 预编译: 预编译是ASP.NET提供的一种在部署前将所有ASPX页面转换为编译好的DLL文件的过程。...
### ASP.NET 动态页面静态化详解 #### 一、概念理解 动态页面静态化(Dynamic Page Staticization)是指将动态生成的网页内容转换为静态HTML文件的过程。这一技术广泛应用于提高网站性能、优化SEO(搜索引擎优化)...
这个压缩包文件"ASP.NET页面静态化例子带数据库.rar"包含了实现这一技术的具体示例,很可能是通过代码、数据库脚本和配置文件来展示的。 首先,我们要理解ASP.NET页面静态化的概念。在ASP.NET中,通常网页是动态...
其中一种常见的方法就是实现页面静态化。本文将详细介绍如何使用 PHP 来实现页面静态化,包括纯静态化和伪静态化两种方式,并通过具体的案例进行演示。 #### 二、基础知识 **页面静态化**是指将动态生成的网页转换...
**JSP页面静态化技术详解** 在Web开发中,JavaServer Pages(JSP)是一种常见的动态网页技术,它允许开发者将HTML代码与Java代码混合编写,以实现动态内容的生成。然而,在高流量的网站中,为了提高性能和降低...
实现页面静态化的方法有多种,包括后台定时生成、用户访问时实时生成或缓存等。 在PHP中,我们可以利用文件系统操作函数来读写静态HTML文件。例如,当用户访问一个动态页面时,程序首先检查是否存在对应的静态文件...
【SpringBoot2 整合FreeMarker模板,完成页面静态化处理】 在Web开发中,页面静态化是一种提高网站性能和用户体验的技术。它涉及到将原本动态生成的页面转换为静态HTML文件,减少对服务器的依赖,加快页面加载速度...
php 页面静态化
标题“cms页面静态化源码”表明我们将探讨如何通过源代码实现CMS系统中的页面静态化功能。 在动态网站中,每当用户请求一个页面时,服务器都会执行相应的PHP、Java、Python或其它脚本语言,生成HTML内容,然后将其...
动态页面静态化技术,c#技术 动态页面静态化技术,c#技术
本文将深入解析网站架构中的三项关键技术:页面静态化、图片服务器分离以及负载均衡,并探讨它们如何协同工作以提升网站性能。 #### 1. 页面静态化 页面静态化是一种提高网站访问速度的有效手段。通过将动态生成的...
ASP.NET页面静态化和伪静态化是Web开发中提高网站性能和SEO优化的重要技术。页面静态化是指将原本动态生成的HTML页面转化为静态HTML文件,这样用户请求时无需执行服务器端的代码,直接从硬盘读取文件,提高了访问...
前台页面的静态化就有利于SEO,所以这个问题摆在了我的面前,在网上一搜,关于这方面的资料不是很多,又很杂,关于这方面的知识,越来或多的程序员将会碰到,原来项目中这部分静态化的功能主要由我来做的,现在我将...