• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    用JSP生成静态页面
    主要原理请参考http://blog.hunan2s.com/article.asp?id=233

    经过一翻调试,成功了。。呵

    附上源码。。


    JDK 1.5 +ECLIPSE +TOMCAT 5.0.28 + MYSQL 5.0 

    数据库TEST ,表名news 
    字段: id   int 自动增长 , Title  varchar(20) , Content  varchar(200)  , Author  varchar(10) 

    makeFile.jsp

     %
      Connection conn = DBconn.getConnection();
      Statement stmt = conn.createStatement();
      ResultSet Rs = stmt.executeQuery("select * from news");
      System.out.println("success");

     %>

      %

      String filePath = request.getRealPath("/")+"template.htm";

      System.out.println(filePath);

      String templateContent;
      FileInputStream fileinputstream = new FileInputStream(filePath);
      int lenght = fileinputstream.available(); //available() 返回可以不受阻塞地从此文件输入流中读取的字节数。

    byte bytes[] = new byte[lenght];

    fileinputstream.read(bytes); //read(byte[] b) 从此输入流中将最多 b.length 个字节的数据读入一个字节数组中。

    fileinputstream.close();
    //templateContent = new String(bytes);
    String title;
    String content;
    String author;
    while(Rs.next())
    {
    templateContent = new String(bytes);//如果不用这句,则替换一次之后,templateContent中就没有#**#标志了。所以要重新生成
     title = Rs.getString("Title");
     content = Rs.getString("Content");
     author = Rs.getString("Author");
    out.println(title+"********"+content+"****"+author);
    out.print("以下是模板内容:br>"+templateContent+"br> 以下是置换以后的html内容br>hr>");
    templateContent=templateContent.replaceAll("#title#",title);
    templateContent=templateContent.replaceAll("#author#",author);//替换掉模块中相应的地方
    templateContent=templateContent.replaceAll("#content#",content);

    // 根据时间得文件名
    Calendar calendar = Calendar.getInstance();
    String fileame = String.valueOf(calendar.getTimeInMillis()) +".html";
    fileame = request.getRealPath("/")+"Html/"+fileame;//生成的html文件保存路径


    out.print(templateContent);
    FileOutputStream fileoutputstream = new FileOutputStream(fileame);//建立文件输出流
    byte tag_bytes[] = templateContent.getBytes();
    fileoutputstream.write(tag_bytes);
    fileoutputstream.close();

    }

    if(conn!=null)
        {
            conn.close();
        }
        if(stmt!=null)
        {
            stmt.close();
        }



      %>

    //数据库连接文件

    import java.sql.*;
    public class DBconn {

        public DBconn() {

            // TODO Auto-generated constructor stub
        }

        public static Connection getConnection() 
        {
            Connection conn = null;

            try { 
                Class.forName("org.gjt.mm.mysql.Driver"); 
                conn = DriverManager.getConnection("jdbc:mysql://" + "localhost" + "/" + "test" +
            "?useUnicode=truecharacterEncoding=GB2312","root","111111"); 

            }
            catch(Exception e)
            {
                e.printStackTrace();
            }
            return conn;
            }
        /*public static void main(String[] args) throws Exception
        {
            Connection con=getConnection();
            System.out.println(con.isClosed());

        }
    */
    }



    // 模板文件

    template.htm
    !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    html xmlns="http://www.w3.org/1999/xhtml">
    head>
    meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    title>#title#/title>
    /head>

    body>
    table width="380" height="107" border="0" cellpadding="0" cellspacing="1" bgcolor="#FFCC99">
      tr>
        td height="16" bgcolor="#FFCC99">div align="center">#title#/div>/td>
      /tr>
      tr>
        td bgcolor="#FFFFFF">#content#/td>
      /tr>
      tr>
        td height="13" align="right" bgcolor="#FFFFFF">#author#/td>
      /tr>
    /table>
    /body>
    /html>
    您可能感兴趣的文章:
    • JSP页面的动态包含和静态包含示例及介绍
    • jsp生成静态页面的方法
    • 动态JSP页生成静态HTML的方法
    • jsp中include指令静态导入和动态导入的区别详解
    • JSP生成静态页实践及其设计思想[转]
    • jsp实现将动态网页转换成静态页面的方法
    上一篇:JDBC连接Oracle数据库常见问题及解决方法
    下一篇:体验Java 1.5中面向(AOP)编程
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    用JSP生成静态页面 用,JSP,生成,静态,页面,用,