g530140303 2011-03-03 12:55
浏览 390
已采纳

动态的jsp页面如何生成shtml静态页面???

我想把动态的jsp页面生成为静态的shtml页面,这样用代码如何做到?最好有简单的例子或者代码提供就最好了。。。。。

  • 写回答

2条回答 默认 最新

  • iteye_8614 2011-03-04 09:32
    关注

    我写了一个,调试好久,出现中文乱码,不好解决,生成有太多缺点
    [code="java"]
    package cn.com;

    import java.io.BufferedReader;
    import java.io.File;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.RandomAccessFile;
    import java.net.HttpURLConnection;
    import java.net.URL;

    public class Test {

    public static void main(String[] args) throws Exception {
        URL url= new URL("//http://127.0.0.1:8080/test/index.jsp");  //你必须启动自己的服务器,如tomcat 
        HttpURLConnection connection =   
            (HttpURLConnection) url.openConnection();   
        connection.setRequestProperty("Accept-Language" , "zh-cn");   
        connection.setRequestProperty("Accept-Charset" , "iso-8859-1,*,utf-8");   
        String filename = url.getFile();
        if(!filename.equals("")){
        filename = filename.replace("/", "").substring(0,filename.replace("/", "").indexOf("."));
        }else{
        filename="index";   
        }
    
        File file = new File("/html/"+filename+".html"); //存放在工作间本地磁盘根目录如:F://html/index.html
        if(file.exists()){    
            file.delete();    
        }else{   
            try {   
                file.createNewFile();   
          } catch (IOException e) {   
              e.printStackTrace(); 
          }   
        }   
    
        InputStream is = connection.getInputStream();   
        BufferedReader br = new BufferedReader(new InputStreamReader(is)); 
        RandomAccessFile ra = new RandomAccessFile(file, "rw"); 
    
        System.setProperty("sun.jnu.encoding", "utf-8");   //设置属性文件     
        System.setProperty("file encoding", "utf-8");      
    
        String strLine = null;   
        while((strLine = br.readLine()) != null){   
           ra.writeUTF(new String(strLine.getBytes("utf-8"),"gbk")+"\t\n");
        }  
        ra.close();
        br.close();   
        connection.disconnect();   
        System.out.println("静态页面生成成功!");
    }
    

    }
    [/code]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作