社区
Web 开发
帖子详情
高分求jsp生成html静态文件的方法(100)分
ddrisme
2004-08-28 05:06:46
本人想写一个文章系统。想生成静态html文件,节省空间和cpu利用率。
网上都是asp php的文章。求jsp生成html的方法
谢谢了
...全文
365
15
打赏
收藏
高分求jsp生成html静态文件的方法(100)分
本人想写一个文章系统。想生成静态html文件,节省空间和cpu利用率。 网上都是asp php的文章。求jsp生成html的方法 谢谢了
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
scorpio2
2004-12-09
打赏
举报
回复
啊,可以研究一下
catblue
2004-12-09
打赏
举报
回复
//建立代表目前目录位置中a.jsp档的File变量, 并由fileName变量变数引用
common com = new common();
String currday = common.getLocalTimeString1();
String wjName = currday + com.random() +".html";
String path = request.getRealPath("/html");
File fileName = new File(path, wjName);
if(fileName.exists())
{
fileName.delete();
//输出目前所在的目录路径
}
else
{
//在目前的目录下建立一个名为wjName的文字档
fileName.createNewFile();
//输出目前所在的目录路径
}
//文件建立成功,开始写文件
FileWriter fw = new FileWriter(path + "\\"+wjName); //建立FileWrite对象,并设定由fw对象变量引用
FileReader fr = new FileReader(path + "\\"+strhtml); //建立FileReader变量,并设定由fr变量变数引用
System.out.println("123--->"+strhtml);
int c = fr.read();
String sHead = "";
while(c != -1) {
sHead += (char)c;
c = fr.read();
}
fr.close();
fw.write(sHead);
fw.write("<p class='tbtitle' align='center'>");
fw.write(BT+"</p><p>");
fw.write(NR);
fw.write("</p>");
fr = new FileReader(path + "\\foot.jsp"); //建立FileReader变量,并设定由fr变量变数引用
c = fr.read();
String sFoot = "";
while(c != -1) {
sFoot += (char)c;
c = fr.read();
}
fr.close();
fw.write(sFoot);
fw.close();
//生成前台静态页面文件
String Link = wjName;
//生成4位随机数的方法
public String random(){
String temp = String.valueOf((int)(java.lang.Math.random()*10000));
System.out.println("temp----->"+temp);
return temp;
}
epson1980
2004-12-09
打赏
举报
回复
学习
benwang6
2004-10-07
打赏
举报
回复
我也想用 pcdll(.net) 的方法,
originalPath 可以用127.0.0.1访问
我看大家好像都用模板里做标记,
然后用内容替换标记的方法,
pcdll(.net)的方法又简单又方便怎么很少见人用呢?
是不是这种方法有没有什么弊病?
请高手指点
mickeylm
2004-08-30
打赏
举报
回复
帮你顶
ddrisme
2004-08-30
打赏
举报
回复
千堆雪: 你好啊。看样子是高手
我们做个朋友吧! 我的qq号20687026
对了你的网站怎么进不去阿??
cceyjames
2004-08-30
打赏
举报
回复
给分给分,快给分,哈哈
cceyjames
2004-08-30
打赏
举报
回复
-_-!偶是菜鸟.....网站服务器这今天不稳定.....
qq:2128402
whirlsun
2004-08-29
打赏
举报
回复
CSDN论坛中,回复时网页中是局部刷新吗?如果是的话,怎么做的?
cceyjames
2004-08-29
打赏
举报
回复
可参考我网站http://www.95ren.com
cceyjames
2004-08-29
打赏
举报
回复
一、模板?
jsp无法做,只能通过java io控制来输出html。在输出之前,你需要读取该文章的所有信息,然后将信息全部读入到io,最后统一存储成为一个html文件。
存储的方式多样,我没用什么模版,自己直接用了9个*.io的文件(全部是html和javascrip代码)来实现自动生成的。
二、局部刷新?
其实在他的html里面包括javascript代码,代码里面嵌入了jsp代码(因为html不能运行jsp代码,所以只能放在javascript里面引用jsp文件),这样就实现了html的动态。
xiangbo520
2004-08-29
打赏
举报
回复
我也正在找这个啊!收藏!!
一点晴
2004-08-28
打赏
举报
回复
完整的方法都在这了,看懂了再修改自己用:
JSP直接生成HTML文件
摸版是这样定义的:
news.template
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<LINK href="../css.css" rel=stylesheet type=text/css>
</head>
<body>
<table width="500" border="0" align="center" cellpadding="0" cellspacing="2">
<tr>
<td align="center"><$title$></td>
</tr>
<tr>
<td align="center">作者:<$author$> 发布时间:<font color=#ff0000><$date$></font></td>
</tr>
<tr>
<td><$content$>
</td>
</tr>
</table>
</body>
</html>
一个生成HTML的类:
import java.io.*;
public class WriteHtml
{
public WriteHtml()
{
}
public static void save(String s, String s1, String s2)
throws WriteFileException
{
try
{
a(s1);
FileOutputStream fileoutputstream = new FileOutputStream(s1 + s2);
byte abyte0[] = s.getBytes();
fileoutputstream.write(abyte0);
fileoutputstream.close();
}
catch(IOException ioexception)
{
throw new WriteFileException();
}
}
private static void a(String s)
{
File file = new File(s);
if(!file.exists())
file.mkdirs();
}
}
一个读取摸版的类:
import java.io.*;
public class ReadTemplates
{
private static String _fldif = null;
private static Object a = new Object();
public ReadTemplates()
{
}
public static String getTlpContent(String s)
throws ReadTemplateException
{
if(_fldif == null)
synchronized(a)
{
if(_fldif == null)
try
{
System.out.println("+++++++++++++");
_fldif = a(s);
}
catch(ReadTemplateException readtemplateexception)
{
throw new ReadTemplateException("模板信息读取失败。");
}
}
return _fldif;
}
private static synchronized String a(String s)
throws ReadTemplateException
{
String s1 = null;
try
{
FileInputStream fileinputstream = new FileInputStream(s);
int i = fileinputstream.available();
byte abyte0[] = new byte[i];
fileinputstream.read(abyte0);
fileinputstream.close();
s1 = new String(abyte0);
}
catch(IOException ioexception)
{
throw new ReadTemplateException();
}
return s1;
}
}
jsp文件:
<%@ page contentType="text/html; charset=gb2312"%>
<%@ include file="/inc.jsp"%>
<%
String[] flag = {"<$title$>","<$date$>","<$author$>","<$content$>"};
String title=request.getParameter("title");
String content=request.getParameter("content");
String editer="admin";
//Session.getAttribute("s_userName");
int classid=Integer.parseInt(request.getParameter("class"));
String filePath = "";
filePath = application.getRealPath("./adminroot/news.template");
String templateContent;
try{
templateContent = ReadTemplates.getTlpContent(filePath);
}catch(ReadTemplateException e){
throw new Exception("模板信息读取失败。请联系系统管理员。");
}
templateContent = ReplaceAll.replace(templateContent,flag[0],title);
templateContent = ReplaceAll.replace(templateContent,flag[1],GetDate.getStringDate());
templateContent = ReplaceAll.replace(templateContent,flag[2],editer);
templateContent = ReplaceAll.replace(templateContent,flag[3],content);
// 根据时间得文件名与路径名
Calendar calendar = Calendar.getInstance();
String fileName = String.valueOf(calendar.getTimeInMillis()) +".shtml";
String pathName = application.getRealPath("./news")+"\\"+ calendar.get(Calendar.YEAR) +
"\\"+ (calendar.get(Calendar.MONTH)+1) +"\\"+ calendar.get(Calendar.DAY_OF_MONTH)+"\\";
try{
WriteHtml.save(templateContent,pathName,fileName);
}catch(WriteFileException we){
throw new Exception("操作失败!");
}%>
这些代码我在JAVA版已经贴了N次了。
pcdll
2004-08-28
打赏
举报
回复
static final String originalPath = 要生成静态页面的原jsp,用http形式;
static final String filePath = 需要放的地方,用操作系统路径;
FileWriter file = null;
java.io.InputStream l_urlStream;
java.net.URL l_url;
java.net.HttpURLConnection l_connection;
java.io.BufferedReader l_reader;
String sCurrentLine;
String sTotalString;
sCurrentLine = "";
sTotalString = "";
l_url = new java.net.URL(originalPath);
l_connection = (java.net.HttpURLConnection) l_url.openConnection();
l_connection.connect();
l_urlStream = l_connection.getInputStream();
l_reader = new java.io.BufferedReader(new java.
io.InputStreamReader(l_urlStream));
while ( (sCurrentLine = l_reader.readLine()) != null)
sTotalString += sCurrentLine + "\n";
file = new FileWriter(filePath);
file.write(sTotalString);
file.close();
Elvewyn
2004-08-28
打赏
举报
回复
就是用StreamWriter把内容写入到文件里吧。不知道是不是还有别的好方法?
JFreeChart与
JSP
动态图表
4. **绘图引擎**:JFreeChart通过ChartFactory类提供了一系列
静态
方法
来创建不同类型的图表,这些
方法
会根据提供的数据和配置
生成
对应的图表对象。 5. **输出格式**:
生成
的图表可以输出为PNG、JPEG、SVG等多种图像...
各类常见
文件
格式大全
- **.get**:GetRight下载管理器
生成
的临时
文件
,随着下载完成会自动转换为实际
文件
。 ####
HTML
文件
- **.htm/.
html
**:超文本标记语言
文件
,是构成网页的基础,可以通过任何浏览器打开。 #### 图标
文件
- **.ico...
JSP
servlet
本书采用了一种独特而有效的教学
方法
,旨在帮助读者深入理解
JSP
(Java Server Pages)和Servlet技术,这两种技术是Java Web应用开发的核心组件。 ###
JSP
与Servlet概述 ####
JSP
(Java Server Pages)
JSP
是一种...
基于JAVA的校园综合服务系统+
jsp
.zip
它能够将Java代码嵌入到
HTML
页面中,使得网页不仅可以展示
静态
信息,还可以处理用户请
求
并动态
生成
内容。系统还结合了JAVA技术,JAVA是一种广泛使用的高级编程语言,它具有面向对象、平台无关性和安全性等特点。这些...
FusionCharts图表控件中文版使用手册定义.pdf
3. 承载图表的载体:可以是
HTML
、
JSP
或其他Web页面,用于嵌入SWF
文件
并控制其显示。 二、未使用功能: 1. 图表转换成图片或PDF导出:允许用户将图表以
静态
图像或PDF文档的形式保存,便于离线查看或打印。 2. 热点...
Web 开发
81,122
社区成员
341,744
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章