这件事儿WebServer已经帮你做了.你在页面看到的不就是转完的吗?再说你这两句也有错呀.

解决方案 »

  1.   

    怎么可能??!!
    jsp中的java语句输出什么,只有JVM知道。
    你可以把test.jsp文件执行一下,然后另存为就OK了。
      

  2.   

    你干脆把你需要储存的页做成一个bean,然后把生成的静态页保存下来
      

  3.   

    感谢大家的帮助, 可能大家还不太明白我的意思, 本来有个jsp页面, 是从数据库中读数据, 然后显示, 但速度太慢, 所以想将数据直接保存在一个静态页面里, 不用每次都到数据库中取得, 不用动态生成
      

  4.   

    我本来想写一个程序, 将jsp文件的输出内容保存到一个html文件里, 但是现在关键是, 我有很多个不同格式的jsp页面, 如果这样做的话, 必须对每种输出格式的jsp页面都写一个这样的类, 那不太可行, 求助各位高手, 如何解决这个问题????
      

  5.   

    用xml吧,将数据存储在xml文件中。
      

  6.   

    to dps12345() 你可以启动App server的缓存啊。不用写Code的。
      

  7.   

    to leonzhao
    我用的是tomcat4.0, 能告诉我怎么得到缓存文件?
      

  8.   

    这个是一个老问题了,你要把做好的jsp网页存成模板,然后,将记录(新闻什么的)从库里取出来,根据模板生成html文件(按文本文件格式就行,html本来就是文本啊),那些门户网站上首页的新闻链接都是如此做的吧,呵呵
      

  9.   

    to iamsoloist(Soloist)
    我同意你的观点, 但我的情况是, 我如果这样做的话, 需要很多模板, 因为我的很多页面, 包括首页都是动态的, 所以有没有对任何模板都适用的方法?
      

  10.   

    to:楼主
    如果用模板,用一个是不可能的,因为就如你所说,页面是不一样的,所以有几个板块就要几个模块,每一个板块先用dw做好,如果所以的东东都放在一个模块里,第一,不好做,太乱了,第二,修改起来也是痛苦啊
      

  11.   

    多谢各位的帮助, 这个问题已解决: 利用socket建立一个对要转换页面的连接, 然后就可以获得这个页面的输出, 再将输出保存在文件里就可以了, 我写了一个小程序演示一下, 代码如下:
    import java.net.*;
    import java.io.*;class TestSocket
    {
        public static void main(String[] args) 
        {
    try 

                 if (args.length < 1)
        {
    System.out.println("Use: java TestSocket 所要转换的页面的URL [转换后要保存的文件名]");
    return;
        }
        String urlString = args[0];
        URL url = new URL(urlString); 
        System.out.println("From: " + url.getHost());
        HttpURLConnection ts = (HttpURLConnection)url.openConnection();
        InputStream socketInput = ts.getInputStream();

        BufferedReader in = new BufferedReader(new InputStreamReader(socketInput));
        String fileName = url.getContent().toString() + ".html";
        if (args.length > 1)
        {
    fileName = args[1];
        }
        System.out.println("  To: " + fileName);
        PrintWriter file = new PrintWriter(new FileWriter(fileName), true);
        while (true)
        {
    try
    {
        String s = in.readLine();
        if (s == null)
        {
    break;
        }     file.print(s);
    }
    catch (Exception e)
    {
        System.out.println(e);
        break;
    }
        }
        file.close();
        System.out.println("转换完成");
    }
    catch(Exception e) 

        System.out.println(e); 

        }
    }
      

  12.   

    其实, 我想网页下载就是这个原理, 例如flashget, 但我大概测试了一下, 我这种方法不能下载cgi的页面, flashget可以, 而且当页面有frame的时候, 我的程序和flashget下载都有问题, 不知为什么?