「java网页静态化」java静态页面

博主:adminadmin 2022-11-22 02:34:08 89

本篇文章给大家谈谈java网页静态化,以及java静态页面对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

Java开发的网站如何做静态化处理?

简单点的就弄伪静态吧,自己配置一下,也可以改下程序,静态化输出,这个麻烦点,改的东西多,要修改不会弄的话,可以找额提供二次开发,谢谢

「java网页静态化」java静态页面

java页面静态化技术是什么概念

就是服务器在请求来之前把已经固定好的东西先编译好了,等请求来了再动态的填数据,不要等请求来了什么都没做忙得半死

在java中,怎么把动态页面转为静态页面?

方法:import java.io.*; import java.net.URL; / * Title:动态页面静态化 * Description: longing.chen@hotmail.com * Copyright: Copyright (c) 2006 * Company: * @author bobo * @version 1.0 */ public class StaticHTMLFile { /** * * @param page 存放静态页面的本地文件路径 * @param url_addr 所要生成的静态页的URL地址 * @return */ public static boolean PrintPage(String page, String url_addr) { URL url; String rLine = null; PrintWriter fileOut = null; InputStream ins = null; try { url = new URL(url_addr); ins = url.openStream(); BufferedReader bReader = new BufferedReader(new InputStreamReader(ins, "gb2312"));//获取编码为gb2312的文件 FileOutputStream out = new FileOutputStream(page); OutputStreamWriter writer = new OutputStreamWriter(out, "gb2312"); fileOut = new PrintWriter(writer); //循环取取数据,并写入目标文件中 while ( (rLine = bReader.readLine()) != null) { String tmp_rLine = rLine; int str_len = tmp_rLine.length(); if (str_len 0) { fileOut.println(tmp_rLine); fileOut.flush(); } tmp_rLine = null; } url = null; return true; } catch (IOException e) { System.out.println("error: " + e.getMessage()); e.printStackTrace(); return false; } catch (Exception es) { System.out.println(es.getMessage()); return false; } finally {//关闭资源 fileOut.close(); try { ins.close(); } catch (IOException ex) { //关闭输入流出错 } } } public static void main(String[] args) { PrintPage("c:/sina.html", " "); } }

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(";id=103type=10","c:/a.html");

System.out.println("静态页面已经生成到c:/a.html");

}

}

java静态化页面,更改一篇文章,其他的文章也需要再次静态化吗

1、首页动态:删除根目录的index.htm(注意别删了index.php),以后也不用手动去生成首页了。 2、栏目页动态:后台改选每个栏目的“栏目列表选项”为“使用动态”。 3、内容页动态:后台修改已生成的文章的“发布选项”为“仅动态浏览”。

Java,页面静态化是什么意思,怎么做的?

JavaWeb可以利用第三方提供的模板引擎,如Velocity/FreeMarker来动态处理HTML,比JSP的各种标签要更高效简洁;

要静态话的话就是直接触发生成html或者任务触发生成html。一般是搭配CMS来实现,比说说某篇文章内容更新后直接调用静态化html服务来实现。

java网页静态化的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java静态页面、java网页静态化的信息别忘了在本站进行查找喔。

The End

发布于:2022-11-22,除非注明,否则均为首码项目网原创文章,转载请注明出处。