- 浏览: 102628 次
- 性别:
- 来自: 北京
最新评论
-
funnyone:
引用[color=darkred][/color][*][im ...
Hibernate的createSQLQuery查询的小例子 -
Bucher03:
还是看不懂啊,看不懂
如何使java中double类型不以科学计数法表示? -
scott________:
这个貌似更合适:
java.math.BigDecimal d ...
如何使java中double类型不以科学计数法表示? -
hellostory:
又是抄袭的
java.sql.Date和java.sql.Timestamp转换 -
jychenok:
对我有用,谢谢
使用window.open提交form表单
最近在用jsp生成html文件,整理出三种方法,希望对大家有所帮助。
方法1:
为了减轻服务器压力,将原来的文章管理系统由JSP文件的从数据库中取数据显示改为由jsp生成静态html文件后直接访问html文件。下面是一个简单的示例
1.buildhtml.jsp
<%@ page contentType="text/html; charset=gb2312" import="java.util.*,java.io.*"%>
<%
try{
String title="jsp生成静态html文件";
String content="小样,还搞不定你?";
String editer="hpsoft";
String filePath = "";
filePath = request.getRealPath("/")+"template.htm";
out.print(filePath);
String templateContent="";
FileInputStream fileinputstream = new FileInputStream(filePath);//读取模块文件
int lenght = fileinputstream.available();
byte bytes[] = new byte[lenght];
fileinputstream.read(bytes);
fileinputstream.close();
templateContent = new String(bytes);
out.print(templateContent);
templateContent=templateContent.replaceAll("###title###",title);
templateContent=templateContent.replaceAll("###content###",content);
templateContent=templateContent.replaceAll("###author###",editer);
//替换掉模块中相应的方法
out.print(templateContent);
// 根据时间得文件名
Calendar calendar = Calendar.getInstance();
String fileame = String.valueOf(calendar.getTimeInMillis()) +".html";
fileame = request.getRealPath("/")+fileame;//生成的html文件保存路径
FileOutputStream fileoutputstream = new FileOutputStream(fileame);//建立文件输出流
byte tag_bytes[] = templateContent.getBytes();
fileoutputstream.write(tag_bytes);
fileoutputstream.close();
}
catch(Exception e){
out.print(e.toString());
}
%>
模板文件
2. template.htm
<html>
<head>
<title>###title###</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### </td>
</tr>
<tr>
<td>###content###
</td>
</tr>
</table>
</body>
</html>
方法2:
<%@ page contentType="text/html; charset=gb2312"%>
<%
String[] flag = {"<$title$>","<$date$>","<$author$>","<$content$>"};
String title=request.getParameter("title");
String content=request.getParameter("content");
String editer="admin";
//Session.getAttribute("s_userName");
String filePath = "";
filePath = application.getRealPath("./adminroot/news.template");
String templateContent;
try{
templateContent = ReadTemplates.getTlpContent(filePath);
}catch(Exception 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("操作失败!");
}%>
import java.io.*;
public class WriteHtml {
public WriteHtml() {
}
public static void save(String s, String s1, String s2)
{
try {
a(s1);
FileOutputStream fileoutputstream = new FileOutputStream(s1 + s2);
byte abyte0[] = s.getBytes();
fileoutputstream.write(abyte0);
fileoutputstream.close();
}
catch (IOException e) {
System.out.println( " write html error" +e.getMessage());
}
}
private static void a(String s) {
try {
File file = new File(s);
if (!file.exists())
file.mkdirs();
}
catch (Exception e) {
System.out.println( " mkdirs error!" +e.getMessage());
}
}
}
import java.io.*;
public class ReplaceAll
{
private static Object a = new Object();
public ReplaceAll()
{
}
public String replace(String content,String flag,String temp)
{
String str = null;
try
{
//System.out.println("before-----"+content);
String s1 = content;
str = s1.replaceAll(flag,temp);
// System.out.println("replace after-----"+str);
}
catch(Exception e)
{
System.out.println("replace all error:"+e.getMessage());
}
return str;
}
private static void a(String s)
{
File file = new File(s);
if(!file.exists())
file.mkdirs();
}
}
import java.io.*;
import java.util.*;
public class ReadTemplates
{
private String temp = null;
private Object a = new Object();
public ReadTemplates()
{
}
public String getTlpContent(String s)
{
if(temp == null)
synchronized(a)
{
if(temp == null)
try
{
System.out.println("----------------------------");
temp = a(s);
//System.out.println("test the temp"+temp);
}
catch(Exception e)
{
System.out.println("get tlpconente error"+e.getMessage());
}
}
return temp;
}
private synchronized String a(String s)
{
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 e)
{
System.out.println("ioexception error"+e.getMessage());
}
return s1;
}
}
<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>
方法3:
package com.binghe.publish.database;
import java.io.*;
public class JspToHtml {
private String temp = "";
private Object a = new Object();
public JspToHtml() {
}
public String readTemple(String filepath) {
if (temp == null) {
synchronized (a) {
System.out.println("---------------");
try {
FileInputStream fileinputstream = new FileInputStream(filepath);
int i = fileinputstream.available();
byte byte0[] = new byte[i];
fileinputstream.read(byte0);
fileinputstream.close();
temp = new String(byte0);
}
catch (FileNotFoundException ex) {
System.out.println("FileNotFoundException error" + ex.getMessage());
}
catch (IOException ex1) {
System.out.println("IOException error" + ex1.getMessage());
}
}
}
return temp;
}
public String replaceAll(String content, String flag, String s) {
String str = null;
String s1 = content;
try {
str = s1.replaceAll(flag, s);
}
catch (Exception ex2) {
System.out.println("Exception error" + ex2.getMessage());
}
return str;
}
public static void writeHtml(String content, String pathname, String filename) {
File file = new File(pathname);
if (!file.exists()) {
file.mkdir();
}
try {
FileOutputStream fileoutputstream = new FileOutputStream(pathname +
filename);
byte byte0[] = content.getBytes();
fileoutputstream.close();
}
catch (FileNotFoundException ex) {
System.out.println("FileNotFoundException error" + ex.getMessage());
}
catch (IOException ex1) {
System.out.println("IOException error" + ex1.getMessage());
}
}
}
方法1:
为了减轻服务器压力,将原来的文章管理系统由JSP文件的从数据库中取数据显示改为由jsp生成静态html文件后直接访问html文件。下面是一个简单的示例
1.buildhtml.jsp
<%@ page contentType="text/html; charset=gb2312" import="java.util.*,java.io.*"%>
<%
try{
String title="jsp生成静态html文件";
String content="小样,还搞不定你?";
String editer="hpsoft";
String filePath = "";
filePath = request.getRealPath("/")+"template.htm";
out.print(filePath);
String templateContent="";
FileInputStream fileinputstream = new FileInputStream(filePath);//读取模块文件
int lenght = fileinputstream.available();
byte bytes[] = new byte[lenght];
fileinputstream.read(bytes);
fileinputstream.close();
templateContent = new String(bytes);
out.print(templateContent);
templateContent=templateContent.replaceAll("###title###",title);
templateContent=templateContent.replaceAll("###content###",content);
templateContent=templateContent.replaceAll("###author###",editer);
//替换掉模块中相应的方法
out.print(templateContent);
// 根据时间得文件名
Calendar calendar = Calendar.getInstance();
String fileame = String.valueOf(calendar.getTimeInMillis()) +".html";
fileame = request.getRealPath("/")+fileame;//生成的html文件保存路径
FileOutputStream fileoutputstream = new FileOutputStream(fileame);//建立文件输出流
byte tag_bytes[] = templateContent.getBytes();
fileoutputstream.write(tag_bytes);
fileoutputstream.close();
}
catch(Exception e){
out.print(e.toString());
}
%>
模板文件
2. template.htm
<html>
<head>
<title>###title###</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### </td>
</tr>
<tr>
<td>###content###
</td>
</tr>
</table>
</body>
</html>
方法2:
<%@ page contentType="text/html; charset=gb2312"%>
<%
String[] flag = {"<$title$>","<$date$>","<$author$>","<$content$>"};
String title=request.getParameter("title");
String content=request.getParameter("content");
String editer="admin";
//Session.getAttribute("s_userName");
String filePath = "";
filePath = application.getRealPath("./adminroot/news.template");
String templateContent;
try{
templateContent = ReadTemplates.getTlpContent(filePath);
}catch(Exception 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("操作失败!");
}%>
import java.io.*;
public class WriteHtml {
public WriteHtml() {
}
public static void save(String s, String s1, String s2)
{
try {
a(s1);
FileOutputStream fileoutputstream = new FileOutputStream(s1 + s2);
byte abyte0[] = s.getBytes();
fileoutputstream.write(abyte0);
fileoutputstream.close();
}
catch (IOException e) {
System.out.println( " write html error" +e.getMessage());
}
}
private static void a(String s) {
try {
File file = new File(s);
if (!file.exists())
file.mkdirs();
}
catch (Exception e) {
System.out.println( " mkdirs error!" +e.getMessage());
}
}
}
import java.io.*;
public class ReplaceAll
{
private static Object a = new Object();
public ReplaceAll()
{
}
public String replace(String content,String flag,String temp)
{
String str = null;
try
{
//System.out.println("before-----"+content);
String s1 = content;
str = s1.replaceAll(flag,temp);
// System.out.println("replace after-----"+str);
}
catch(Exception e)
{
System.out.println("replace all error:"+e.getMessage());
}
return str;
}
private static void a(String s)
{
File file = new File(s);
if(!file.exists())
file.mkdirs();
}
}
import java.io.*;
import java.util.*;
public class ReadTemplates
{
private String temp = null;
private Object a = new Object();
public ReadTemplates()
{
}
public String getTlpContent(String s)
{
if(temp == null)
synchronized(a)
{
if(temp == null)
try
{
System.out.println("----------------------------");
temp = a(s);
//System.out.println("test the temp"+temp);
}
catch(Exception e)
{
System.out.println("get tlpconente error"+e.getMessage());
}
}
return temp;
}
private synchronized String a(String s)
{
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 e)
{
System.out.println("ioexception error"+e.getMessage());
}
return s1;
}
}
<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>
方法3:
package com.binghe.publish.database;
import java.io.*;
public class JspToHtml {
private String temp = "";
private Object a = new Object();
public JspToHtml() {
}
public String readTemple(String filepath) {
if (temp == null) {
synchronized (a) {
System.out.println("---------------");
try {
FileInputStream fileinputstream = new FileInputStream(filepath);
int i = fileinputstream.available();
byte byte0[] = new byte[i];
fileinputstream.read(byte0);
fileinputstream.close();
temp = new String(byte0);
}
catch (FileNotFoundException ex) {
System.out.println("FileNotFoundException error" + ex.getMessage());
}
catch (IOException ex1) {
System.out.println("IOException error" + ex1.getMessage());
}
}
}
return temp;
}
public String replaceAll(String content, String flag, String s) {
String str = null;
String s1 = content;
try {
str = s1.replaceAll(flag, s);
}
catch (Exception ex2) {
System.out.println("Exception error" + ex2.getMessage());
}
return str;
}
public static void writeHtml(String content, String pathname, String filename) {
File file = new File(pathname);
if (!file.exists()) {
file.mkdir();
}
try {
FileOutputStream fileoutputstream = new FileOutputStream(pathname +
filename);
byte byte0[] = content.getBytes();
fileoutputstream.close();
}
catch (FileNotFoundException ex) {
System.out.println("FileNotFoundException error" + ex.getMessage());
}
catch (IOException ex1) {
System.out.println("IOException error" + ex1.getMessage());
}
}
}
发表评论
-
s:checkboxlist 默认选中
2010-07-13 16:38 3676大家對<s:checkboxlist/>的最大的疑 ... -
去掉字符串重复值,使用符号串隔开的字符串,去掉重复的值,split
2010-06-21 15:57 1185string chongFu = "aa,bb,c ... -
MyEclipse快捷键与插件大全
2010-04-27 14:20 1611(1)Ctrl+M切换窗口的大小 (2)Ctrl+Q跳到最后 ... -
如何使java中double类型不以科学计数法表示?
2010-04-26 19:37 3860在java中,把一个double或者BigDecimal的小数 ... -
java读取txt文本,字符串截取
2010-04-02 09:35 2933package com.test; import java. ... -
Java虚拟机
2010-03-17 14:30 1099作为一种定位于网络使用的语言,Java具有许多适宜于互连网异构 ... -
ORACLE和SQL语法区别归纳
2010-03-04 17:16 1330数据类型比较 类型名称 Oracle SQLServe ... -
hibernate对象状态
2010-01-21 11:45 12861. Transient Objects临时对象 Object ... -
产生随机字符串(a-z A-Z 0-9)
2010-01-21 11:41 1603实现方法一: 引用 public class RandomFi ... -
SVN的安装配置 以及与MyEclipse 整合使用开发
2009-11-19 15:06 961如果你是在MyEclipse中SVN进行开发,安装下面步骤 一 ... -
svn服务器安装配置,SVN服务器使用教程,版本控制器,svn与apache整合
2009-11-19 14:41 1125一、安装SVN 1.安装svn-1. ... -
JAVA在线api
2009-11-17 18:46 1215JavaTM Platform Enterprise Edit ... -
防止刷新/后退引起的重复提交问题的Java Token代码,非Struts
2009-11-11 13:40 1736Struts本身有一套完善的防止重复提交表单的Token(令牌 ... -
MyEclipse 中的快捷键
2009-09-08 16:03 997(1)Ctrl+M切换窗口的大 ... -
java环境变量设置
2009-09-02 10:56 1871在完成了JDK的安装后,环 ... -
如何区分处理两个提交按钮
2009-08-10 10:26 1802一个FORM表单中有两个SUBMIT按钮(例如“修改”“删除” ... -
Hibernate的createSQLQuery查询的小例子
2009-08-03 15:28 4028今天用createSQLQuery 查询 ,当查询部门(人事 ... -
java.math.BigDecimal的精度问题
2009-08-03 10:58 12471. String myMoney = "100 ... -
struts2中select标签的使用
2009-07-30 19:10 1219struts2的select标签中,常用的有以下几个属性: ... -
Hibernate hql查询
2009-07-20 16:16 10711、 实体查询: 有关实 ...
相关推荐
jsp,html,js,css,xml,jar等文件花费很长时间整理的朋友,有了我这个工具,似乎这一切都变得简单,你只需要选择路径,然后在输入你的补丁文件名,程序将自动收集补丁文件生成你想要的补丁, 功能: 1.根据项目的包...
本文实例讲述了JSP生成WORD文档,EXCEL文档及PDF文档的方法。分享给大家供大家参考,具体如下: 在web-oa系统中,公文管理好象不可或缺,有时需要从数据库中查询一些数据以某种格式输出来,并以word文档的形式展现,...
jsp,html,js,css,xml,jar等文件花费很长时间整理的朋友,有了我这个工具,似乎这一切都变得简单,你只需要选择路径,然后在输入你的补丁文件名,程序将自动收集补丁文件生成你想要的补丁, 功能: 1.根据项目的包...
CHM:编译过的HTML文件 CHP:Ventura Publisher章节文件 CHR:字符集(字体文件) CHT:ChartViem文件;Harvard Graphics矢量文件 CIF:Adaptec CD 创建器 CD映像文件 CIL:Clip Gallery下载包 CIM:SimCity ...
1、将业务层与表示层分离:使用JSP技术,网络开发人员可充分使用HTML来设计页面显示部分(如字体颜色等),并使用JSP指令或者JAVA程序片段来生成网页上的动态内容; 2、能够跨平台:JSP支持绝大部分平台,包括现在...
3、生成真实html页面显示数据,html页面也可以动态加载系统数据显示调用或交互,纯html页面实现与后台数据库中的数据交互功能,可以按照所需,在html页面中显示特定分类或模块的内容,或检索出需要的数据。...
2009-03-10 17:37 462569 194709 常见的专业问题解决办法\JSP实例:动态生成验证码.mht 2009-03-10 17:52 185677 39758 常见的专业问题解决办法\jsp数字验证码代码详解 - 我爱跑IT---技术专区.mht 2009-03-10 17:22 ...
支持本地整个磁盘或文件夹或单个文件的邮件地址的搜索,文件类型包括(*.htm,*.txt,*.xml,*.html,*.asp,*.php,*.aspx,*.jsp) 2.支持根据数据字典和邮件后缀自动生成邮件地址,可支持邮件效验 3.支持根据...
\contentsline {chapter}{Contents}{2}{section*.1} {1}Java基础}{17}{chapter.1} {1.1}基本语法}{17}{section.1.1} {1.2}数字表达方式}{17}{section.1.2} ... {16.1}HTML}{215}{section.16.1} {...
1、将业务层与表示层分离:使用JSP技术,网络开发人员可充分使用HTML来设计页面显示部分(如字体颜色等),并使用JSP指令或者JAVA程序片段来生成网页上的动态内容; 2、能够跨平台:JSP支持绝大部分平台,包括现在...
作者:zuoxianghui 来源:blog 整理日期:2007-8-17 jfreechart,到http://www.jfree.org/下载最新的。 一、在web.xml文件中添加: <servlet-name>DisplayChart <servlet-class>org.jfree.chart.servlet....
在JSP中如何读取客户端的请求,如何访问CGI变量,如何确定某个Jsp文件的真实路径。 4.描述Cookie和Session的作用,区别和各自的应用范围,Session工作原理。 5.列出Jsp中包含外部文件的方式,两者有何区别。 6....