- 浏览: 104486 次
- 性别:
- 来自: 北京
最新评论
-
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 3703大家對<s:checkboxlist/>的最大的疑 ... -
去掉字符串重复值,使用符号串隔开的字符串,去掉重复的值,split
2010-06-21 15:57 1221string chongFu = "aa,bb,c ... -
MyEclipse快捷键与插件大全
2010-04-27 14:20 1668(1)Ctrl+M切换窗口的大小 (2)Ctrl+Q跳到最后 ... -
如何使java中double类型不以科学计数法表示?
2010-04-26 19:37 3895在java中,把一个double或者BigDecimal的小数 ... -
java读取txt文本,字符串截取
2010-04-02 09:35 2963package com.test; import java. ... -
Java虚拟机
2010-03-17 14:30 1150作为一种定位于网络使用的语言,Java具有许多适宜于互连网异构 ... -
ORACLE和SQL语法区别归纳
2010-03-04 17:16 1364数据类型比较 类型名称 Oracle SQLServe ... -
hibernate对象状态
2010-01-21 11:45 13241. Transient Objects临时对象 Object ... -
产生随机字符串(a-z A-Z 0-9)
2010-01-21 11:41 1645实现方法一: 引用 public class RandomFi ... -
SVN的安装配置 以及与MyEclipse 整合使用开发
2009-11-19 15:06 991如果你是在MyEclipse中SVN进行开发,安装下面步骤 一 ... -
svn服务器安装配置,SVN服务器使用教程,版本控制器,svn与apache整合
2009-11-19 14:41 1150一、安装SVN 1.安装svn-1. ... -
JAVA在线api
2009-11-17 18:46 1243JavaTM Platform Enterprise Edit ... -
防止刷新/后退引起的重复提交问题的Java Token代码,非Struts
2009-11-11 13:40 1767Struts本身有一套完善的防止重复提交表单的Token(令牌 ... -
MyEclipse 中的快捷键
2009-09-08 16:03 1031(1)Ctrl+M切换窗口的大 ... -
java环境变量设置
2009-09-02 10:56 1916在完成了JDK的安装后,环 ... -
如何区分处理两个提交按钮
2009-08-10 10:26 1842一个FORM表单中有两个SUBMIT按钮(例如“修改”“删除” ... -
Hibernate的createSQLQuery查询的小例子
2009-08-03 15:28 4059今天用createSQLQuery 查询 ,当查询部门(人事 ... -
java.math.BigDecimal的精度问题
2009-08-03 10:58 12751. String myMoney = "100 ... -
struts2中select标签的使用
2009-07-30 19:10 1243struts2的select标签中,常用的有以下几个属性: ... -
Hibernate hql查询
2009-07-20 16:16 11351、 实体查询: 有关实 ...
相关推荐
jsp,html,js,css,xml,jar等文件花费很长时间整理的朋友,有了我这个工具,似乎这一切都变得简单,你只需要选择路径,然后在输入你的补丁文件名,程序将自动收集补丁文件生成你想要的补丁, 功能: 1.根据项目的包...
这个“JSP编程小技巧”压缩包文件包含了关于JSP开发的一些实用技巧,如文件上传、图片验证码以及JSP标准动作等常见功能的实现。以下是对这些知识点的详细说明: 1. **文件上传**: 文件上传是Web应用中常见的功能...
- **增加**:在线工具允许用户在服务器上创建新的JSP文件,可以快速生成模板或空白文件,便于快速开发。 - **删除**:此功能允许用户安全地移除不再需要的JSP文件,避免不必要的空间占用。 - **修改**:用户可以...
4. **JSP注释**:`这是JSP注释 --%>`,这种注释不会出现在最终生成的HTML页面中,也不会被服务器执行。 #### 三、JSP脚本元素(Scriptlet) JSP中的脚本元素主要用于编写嵌入到JSP页面中的Java代码。主要有以下几...
首先,JSP是Java的一种动态网页技术,它允许开发者在HTML页面中嵌入Java代码,从而实现动态内容的生成。在文件管理模块中,JSP主要用于构建用户界面,展示文件列表、表单以及处理用户的交互请求。开发者通常会使用...
7. **include指令与动作标记** - `include`指令用于静态插入文件,生成的新JSP文件需要符合语法规则。而`jsp:include`动作标记则是动态加载文件,它会在运行时处理包含的文件内容,可以接收参数,如`jsp:param`用于...
通过Page指令,可以将JSP页面输出为特定类型的文件,如Word文档: ```jsp ;charset=GBK" %> ``` 并可以通过`response.setHeader`来指定下载的文件名。 **总结:** JSP是Web开发中的重要工具,它的注释和...
1. **静态网页**:是指那些预先编写好并存储在服务器上的HTML文件,无论是否被访问,它们都是独立存在的文件。静态网页通常不涉及数据库交互,因此加载速度快但缺乏灵活性。 2. **动态网页**:不是独立存在于...
JSP语法是开发者掌握JSP技术的基础,它使得Java程序员能够轻松地在网页中嵌入Java代码,实现动态内容的生成。 ### 1. JSP页面结构 一个基本的JSP页面由两部分组成:静态内容和动态脚本元素。静态内容包括HTML、CSS...
JSP是用于动态生成HTML页面的技术,它允许在HTML代码中嵌入Java代码。在这个项目中,JSP用于展示用户界面,通过与后端SpringBoot控制器交互,动态渲染公交路线和站点的数据。 3. **公交路线管理**: 系统的核心...
- **jsp:plugin**:根据浏览器类型生成Java插件的object或embed标签。 #### 六、JSP中的三种跳转方式 JSP提供了多种跳转机制: - **response.sendRedirect()**:重定向到另一个URL。 - **jsp:forward**:服务器端...
这种技术允许开发者在传统的HTML文件中嵌入Java代码片段(Scriptlet)以及JSP标记(tag),从而形成JSP网页。 - **动态网页技术**:常见的动态网页技术主要包括ASP(Active Server Pages)、PHP(Hypertext ...
提供的"JSP第三版整理课件.rar"可能包含JSP的各个章节内容,涵盖基本概念、语法、生命周期、内置对象、EL和JSTL的使用等。通过这些课件,初学者可以系统地了解和掌握JSP技术,为进一步深入学习Java Web开发打下坚实...
当一个JSP页面被请求时,服务器会将该JSP页面转换为一个Servlet类,然后对该Servlet进行编译并执行,最终返回动态生成的HTML页面。 ### 缓存控制设置 1. **缓存控制**:为了确保用户接收到的是最新的数据,而不是...
2. JSP(JavaServer Pages):作为服务器端脚本语言,JSP用于生成动态网页内容,将Java代码嵌入到HTML中,简化了视图层的开发。 3. Servlet:在JSP中,Servlet通常作为控制器来处理HTTP请求,调用业务逻辑并返回响应...
在"java++jsp+网络电视代码源码整理"这个项目中,我们主要探讨的是如何使用Java和JSP技术来构建一个网络电视应用。Java是一种广泛使用的编程语言,特别是在服务器端开发中,而JSP(JavaServer Pages)是Java Web应用...
- **基本原理**:JSP是Java Web开发中的视图层技术,将HTML代码与Java代码相结合,服务器解析后生成HTML响应给客户端。 - **脚本元素**:JSP有三种脚本元素——声明、脚本let和表达式,分别用于声明变量、执行Java...
JSP中的脚本元素可以在服务器端运行,动态生成HTML响应,从而实现动态网页效果。 【Access数据库应用】 在这个网上书店系统中,Access被用作数据库管理系统,存储图书信息、用户数据、订单等关键信息。Access是一款...