`
xixian
  • 浏览: 216519 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

页面静态化

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

多个文件服务器读写,这里可采用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();
  }
 }
 
}


分享到:
评论

相关推荐

    .net页面静态化

    下面我们将深入探讨.NET页面静态化的核心概念、实现方法以及其优势。 一、页面静态化原理 页面静态化的基本思想是,在用户请求动态内容时,服务器不再实时生成动态页面,而是直接返回已经生成的静态HTML文件。这...

    有关Java页面静态化

    Java页面静态化主要有两种方式:服务器端静态化和客户端静态化。 1. 服务器端静态化: - **预渲染(Prerendering)**:在用户请求之前,系统自动将一些常用或者热点页面生成静态HTML文件,存储在文件系统或CDN上。...

    java JSP页面静态化总结_动态页面变为静态页面以减少访问数据库的次数提高速度.zip

    1. **JSP页面静态化原理**: - JSP页面静态化的核心思想是将原本需要服务器实时解析的动态内容,提前转换为静态HTML文件,存储在服务器上。这样,当用户请求这些页面时,服务器不再需要执行JSP脚本,而是直接返回...

    java 页面静态化

    在进行页面静态化时,我们还需要考虑一些问题,比如如何处理动态内容(如用户登录状态、个性化推荐)、如何同步静态文件和动态数据、以及如何清理过期的静态文件等。这些问题可以通过设计合理的缓存策略和定时任务来...

    c# 页面静态化软件

    因此,页面静态化是提升网站性能的有效手段。 页面静态化技术的核心原理是通过解析动态网页的URL,生成对应的HTML文件,并存储在服务器的文件系统或缓存中。当用户请求该URL时,服务器直接返回预先生成的HTML,而...

    php页面静态化

    PHP页面静态化是一种常见的优化网站性能的技术,它将动态生成的网页内容转化为静态HTML文件,以便浏览器可以直接加载,而无需每次请求时都执行PHP脚本和查询数据库。这样可以显著提高页面加载速度,减轻服务器负担,...

    asp.net 动态页面静态化

    在ASP.NET中,动态页面静态化主要有两种方式:预编译(Precompilation)和运行时静态化(Runtime Output Caching)。 1. 预编译: 预编译是ASP.NET提供的一种在部署前将所有ASPX页面转换为编译好的DLL文件的过程。...

    ASP.NET 动态页面静态化

    ### ASP.NET 动态页面静态化详解 #### 一、概念理解 动态页面静态化(Dynamic Page Staticization)是指将动态生成的网页内容转换为静态HTML文件的过程。这一技术广泛应用于提高网站性能、优化SEO(搜索引擎优化)...

    ASP.NET页面静态化例子带数据库.rar

    这个压缩包文件"ASP.NET页面静态化例子带数据库.rar"包含了实现这一技术的具体示例,很可能是通过代码、数据库脚本和配置文件来展示的。 首先,我们要理解ASP.NET页面静态化的概念。在ASP.NET中,通常网页是动态...

    php实现页面静态化

    其中一种常见的方法就是实现页面静态化。本文将详细介绍如何使用 PHP 来实现页面静态化,包括纯静态化和伪静态化两种方式,并通过具体的案例进行演示。 #### 二、基础知识 **页面静态化**是指将动态生成的网页转换...

    jsp的页面静态化技术,很实用

    **JSP页面静态化技术详解** 在Web开发中,JavaServer Pages(JSP)是一种常见的动态网页技术,它允许开发者将HTML代码与Java代码混合编写,以实现动态内容的生成。然而,在高流量的网站中,为了提高性能和降低...

    自定义分页类+页面静态化+php

    实现页面静态化的方法有多种,包括后台定时生成、用户访问时实时生成或缓存等。 在PHP中,我们可以利用文件系统操作函数来读写静态HTML文件。例如,当用户访问一个动态页面时,程序首先检查是否存在对应的静态文件...

    SpringBoot2 整合FreeMarker模板,完成页面静态化处理.docx

    【SpringBoot2 整合FreeMarker模板,完成页面静态化处理】 在Web开发中,页面静态化是一种提高网站性能和用户体验的技术。它涉及到将原本动态生成的页面转换为静态HTML文件,减少对服务器的依赖,加快页面加载速度...

    php 页面静态化

    php 页面静态化

    cms页面静态化源码

    标题“cms页面静态化源码”表明我们将探讨如何通过源代码实现CMS系统中的页面静态化功能。 在动态网站中,每当用户请求一个页面时,服务器都会执行相应的PHP、Java、Python或其它脚本语言,生成HTML内容,然后将其...

    动态页面静态化技术,c#技术

    动态页面静态化技术,c#技术 动态页面静态化技术,c#技术

    网站架构(页面静态化_图片服务器分离_负载均衡)方案全解析

    本文将深入解析网站架构中的三项关键技术:页面静态化、图片服务器分离以及负载均衡,并探讨它们如何协同工作以提升网站性能。 #### 1. 页面静态化 页面静态化是一种提高网站访问速度的有效手段。通过将动态生成的...

    ASP.NET页面静态化,伪静态化

    ASP.NET页面静态化和伪静态化是Web开发中提高网站性能和SEO优化的重要技术。页面静态化是指将原本动态生成的HTML页面转化为静态HTML文件,这样用户请求时无需执行服务器端的代码,直接从硬盘读取文件,提高了访问...

    Jsp页面静态化(freemarker)教程及源码

    前台页面的静态化就有利于SEO,所以这个问题摆在了我的面前,在网上一搜,关于这方面的资料不是很多,又很杂,关于这方面的知识,越来或多的程序员将会碰到,原来项目中这部分静态化的功能主要由我来做的,现在我将...

Global site tag (gtag.js) - Google Analytics