Chinaunix首页 | 论坛 | 博客
  • 博客访问: 390964
  • 博文数量: 152
  • 博客积分: 6020
  • 博客等级: 准将
  • 技术积分: 850
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-11 19:20
文章分类

全部博文(152)

文章存档

2017年(1)

2010年(1)

2007年(3)

2006年(147)

我的朋友

分类: Java

2006-04-10 23:52:11

test.jsp?a=123&b=456 JSP页面生成静态html页面,可以利用下面的代码段:

 1import java.io.*;
 2import java.net.*;
 3import java.util.*;
 4
 5public class TestGenerateHtml {
 6
 7    public static void main(String[] args) {
 8        
 9        String jspPage = "";//jsp文件地址
10        String htmlPage = "C:\\html\\test~a=123-b=456.html";//html文件名
11        
12        BufferedReader in = getIn(jspPage);
13        BufferedWriter out = getOut(htmlPage, true);
14        generateHtml(in, out);//生成静态页面
15        close(in, out);
16    }

17    
18    public final static void generateHtml(BufferedReader in, BufferedWriter out) {
19
20        if (out == null)
21            return;//不生成静态页面
22        try {
23            int c;
24            while ((c = in.read()) != -1{
25                out.write((char)c);
26            }

27        }
 catch (IOException e) {
28            e.printStackTrace();
29        }

30
31    }

32    
33    public final static BufferedReader getIn(String jspPage) {
34
35        BufferedReader in = null;
36
37        try {
38            URL url = new URL(jspPage);
39            URLConnection urlConn = url.openConnection();//建立http连接
40            in = new BufferedReader(new InputStreamReader(urlConn.getInputStream(),"gb2312"));//设置Encoding,必须设置,否则显示中文会有问题
41        }
 catch (IOException e) {
42            e.printStackTrace();
43        }

44
45        return in;
46    }

47
48    public final static BufferedWriter getOut(String htmlPage, boolean flag) {
49
50        BufferedWriter out = null;
51
52        try {
53            File htmlFile = new File(htmlPage);
54            if (flag) {
55                htmlFile.createNewFile();
56            }
 else {//如果flag为false则不覆盖文件
57                if (htmlFile.exists()) {//如果文件已经存在则返回null
58                    return null;
59                }
 else {//建立新文件
60                    htmlFile.createNewFile();
61                }

62            }

63            out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(htmlFile),"gb2312"));//设置Encoding
64        }
 catch (IOException e) {
65            e.printStackTrace();
66        }

67
68        return out;
69
70    }
//flag为真则覆盖原文件
71    
72    public final static void close(BufferedReader in, BufferedWriter out) {
73
74        try {
75            in.close();
76            if (out != null)
77                out.close();
78        }
 catch (IOException e) {
79            e.printStackTrace();
80        }

81
82    }

83    
84}

85
阅读(916) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~