導航:首頁 > 萬維百科 > javacms靜態化

javacms靜態化

發布時間:2020-10-28 20:17:43

1、有人會javaWeb頁面的靜態化嗎

1、首頁動態:刪除根目錄的index(注意別刪了index.php),以後也不用手動去生成首頁了。 2、欄目頁動態:後台改選每個欄目的「欄目列表選項」為「使用動態」。 3、內容頁動態:後台修改已生成的文章的「發布選項」為「僅動態瀏覽」。

2、Java,頁面靜態化是什麼意思,怎麼做的?

JavaWeb可以利用第三方提供的模板引擎,如Velocity/FreeMarker來動態處理HTML,比JSP的各種標簽要更高效簡潔;
要靜態話的話就是直接觸發生成html或者任務觸發生成html。一般是搭配cms來實現,比說說某篇文章內容更新後直接調用靜態化html服務來實現。

3、怎麼對一個javaWeb應用程序同時實施靜態化和全站壓縮呢?

public void destroy() {
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
//要想壓縮頁面 就是當用戶訪問頁面時 在伺服器把頁面信息打給瀏覽器的時候進行壓縮 所以這時候就是對response進行包裝
MyResponse myresponse = new MyResponse((HttpServletResponse) response);
chain.doFilter(request, (ServletResponse) myresponse);
//從包裝的myresponse里獲得寫到容器流里的原始數據bs
byte[] bs = myresponse.getOut();
System.out.println("壓縮前>>>"+bs.length);
//用原始的response響應用戶,此response需要轉換為HttpServletResponse類型
HttpServletResponse resp = (HttpServletResponse) response;
//response解決中文亂碼問題
resp.setContentType("text/html;charset=utf-8");
//開始壓縮
ByteArrayOutputStream out = new ByteArrayOutputStream();
GZIPOutputStream zip = new GZIPOutputStream(out);
zip.write(bs);
zip.close();
//獲取壓縮後的數據
byte[] dest = out.toByteArray();
System.out.println("壓縮後>>>"+dest.length);
//設置響應頭
resp.setDateHeader("content-length", dest.length);
resp.setHeader("content-Encoding", "gzip");
resp.getOutputStream().write(dest);
}

public void init(Fi

4、關於Java顯示的靜態初始化

static{ cup1=new Cup(1);cup2=new Cup(2);} 這個就是java里的靜態成員初始化語法。不是方法,只是給靜態成員數據賦初始值。

Cup.cup1.f(99)可以看成兩部分:
x = Cup.cup1 這是取出Cup類中的靜態成員數據cup1,這里稱之x

x.f(99) 這是調用對象x的成員函數f

5、國內有哪些較好的Java開源CMS建站系統

下面給你推薦幾個Java開源CMS建站系統:

1、DoraCMS是基於Nodejs+express+mongodb編寫的一套內容管理系統,結構簡單,較目前一些開源的cms,doracms易於拓展,特別適合前端開發工程師做二次開發。

2、PublicCMS是採用2017年最新主流技術開發的免費開源JAVACMS系統。架構科學,輕松支持上千萬數據、千萬PV;支持全站靜態化,SSI,動態頁面局部靜態化等為您快速建站,建設大規模站點提供強大驅動,也是企業級項目產品原型的良好選擇。

3、電子商務平台及CMS建站系統 CmsWing

一款基於ThinkJS(Node.js MVC)和MySQL的功能強大的(PC端,手機端和微信公眾平台)電子商務平台及CMS建站系統。

6、java中頁面靜態化是什麼意思

package com.yancms.util;

import java.io.*;
import org.apache.commons.httpclient.*;
import org.apache.commons.httpclient.methods.*;
import org.apache.commons.httpclient.params.HttpMethodParams;

/**
* 靜態頁面引擎技術(突亂了亂碼問題UTF-8)
* @author 吳彥文
*
*/
public class HtmlGenerator extends BaseLog {
HttpClient httpClient = null; //HttpClient實例
GetMethod getMethod =null; //GetMethod實例
BufferedWriter fw = null;
String page = null;
String webappname = null;
BufferedReader br = null;
InputStream in = null;
StringBuffer sb = null;
String line = null;
//構造方法
public HtmlGenerator(String webappname){
this.webappname = webappname;

}

/** 根據模版及參數產生靜態頁面 */
public boolean createHtmlPage(String url,String htmlFileName){
boolean status = false;
int statusCode = 0;
try{
//創建一個HttpClient實例充當模擬瀏覽器
httpClient = new HttpClient();
//設置httpclient讀取內容時使用的字元集
httpClient.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET,"UTF-8");
//創建GET方法的實例
getMethod = new GetMethod(url);
//使用系統提供的默認的恢復策略,在發生異常時候將自動重試3次
getMethod.getParams().setParameter(HttpMethodParams.RETRY_HANDLER, new DefaultHttpMethodRetryHandler());
//設置Get方法提交參數時使用的字元集,以支持中文參數的正常傳遞
getMethod.addRequestHeader("Content-Type","text/html;charset=UTF-8");
//執行Get方法並取得返回狀態碼,200表示正常,其它代碼為異常
statusCode = httpClient.executeMethod(getMethod);
if (statusCode!=200) {
logger.fatal("靜態頁面引擎在解析"+url+"產生靜態頁面"+htmlFileName+"時出錯!");
}else{
//讀取解析結果
sb = new StringBuffer();
in = getMethod.getResponseBodyAsStream();
//br = new BufferedReader(new InputStreamReader(in));//此方法默認會亂碼,經過長時期的摸索,下面的方法才可以
br = new BufferedReader(new InputStreamReader(in,"UTF-8"));
while((line=br.readLine())!=null){
sb.append(line+"\n");
}
if(br!=null)br.close();
page = sb.toString();
//將頁面中的相對路徑替換成絕對路徑,以確保頁面資源正常訪問
page = formatPage(page);
//將解析結果寫入指定的靜態HTML文件中,實現靜態HTML生成
writeHtml(htmlFileName,page);
status = true;
}
}catch(Exception ex){
logger.fatal("靜態頁面引擎在解析"+url+"產生靜態頁面"+htmlFileName+"時出錯:"+ex.getMessage());
}finally{
//釋放http連接
getMethod.releaseConnection();
}
return status;
}

//將解析結果寫入指定的靜態HTML文件中
private synchronized void writeHtml(String htmlFileName,String content) throws Exception{
fw = new BufferedWriter(new FileWriter(htmlFileName));
OutputStreamWriter fw = new OutputStreamWriter(new FileOutputStream(htmlFileName),"UTF-8");
fw.write(page);
if(fw!=null)fw.close();
}

//將頁面中的相對路徑替換成絕對路徑,以確保頁面資源正常訪問
private String formatPage(String page){
page = page.replaceAll("\\.\\./\\.\\./\\.\\./", webappname+"/");
page = page.replaceAll("\\.\\./\\.\\./", webappname+"/");
page = page.replaceAll("\\.\\./", webappname+"/");
return page;
}

//測試方法
public static void main(String[] args){
HtmlGenerator h = new HtmlGenerator("webappname");
h.createHtmlPage("http://localhost:8080/yanCms/three/three?parent_id=10&id=103&type=10","c:/a.html");
System.out.println("靜態頁面已經生成到c:/a.html");

}

}

7、Java開發的網站如何做靜態化處理?

簡單點的就弄偽靜態吧,自己配置一下,也可以改下程序,靜態化輸出,這個麻煩點,改的東西多,要修改不會弄的話,可以找額提供二次開發,謝謝

8、cms 靜態化

具體怎麼做的話就說起來很麻煩了,現在大多網站使用的是偽靜態,雖然在手路上沒問題,但是在流量大的時候一樣很佔用伺服器的資源的。

CMS的話靜態做的比較好的個人認為是帝國CMS,是用PHP做的,可以完全生成靜態頁面。

是開源免費的,你可以下載了去研究下,PHP和JSP差異不是很大,很多業務流程都差不多的。

9、關於java 關於網站(真)靜態化和使用什麼框

1.jsp要經過web容器解釋,中間過程多。
2.公共類包使用流寫出文件,難道freemarker不行?
3.普通的java app,非web app,直接讀取數據,再加上freemarker模板,就能批量出頁面了。在1中jsp那種裡面,這個過程就是web容器做的。而2說的流寫出文件,這個過程和那個有區別么?為了防止模板解析出錯造成生成的文件有誤,先輸出到內存,沒問題就內存中頁面數據直接輸出到文件。

與javacms靜態化相關的知識