项目做好了,突然前天要求我把首页改成静态的,我晕了,真的不知道首页静态化该怎么实现?可能是做的项目太少了,哎!还有就是报表该怎么做?我们现在是在用ssh开发,一点思路都没。请有经验朋友给讲下“首页静态化”和“报表”思路,要是能给个例子跟好。谢谢......

解决方案 »

  1.   

    首页静态化,应该是为了提高访问速度。  可以结合Ajax 实现 或者  xml/xsl 实现。报表   大饼图 , 柱图 曲线图  随便点就到网上随便找个例子 改改就ok 了 poi .
                                做好看点就用flex 把。
      

  2.   


    修正,poi是导出 excel   导出报表 jfreechart
      

  3.   


    今天感冒..............画图用 jfreechart 
      

  4.   

    前面一堆猫1。首页静态化:用ajax,如果首页变化不大,就每隔一段时间,后台生成一个html替换这个原来的jsp
    2。报表:展示用jfreechart。固定报表:如果统计要求的实时性不高,也可以用后台进程来做。如果是实时报表,比如移动查话费详单那种可以自己输条件的动态的,那么需要你的sql写的好了,最好用存储过程来实现。因为很多统计用到的表可能非常多,一句sql有时候写不完,并且很复杂,用存储过程临时表缓存子查询结果,能让问题变得简单。
      

  5.   


    有个人被猫包住了用AJAX也可以 不过最好是用JSP作为模板生成HTML
    报表的话 我们是通过SQL语句查询出来结果生成的
      

  6.   

    首页静态化:使用freemaker或者直接做个重定向
    “报表”:ireport
      

  7.   

    首页静态化:首先先建立一个httpUrlConnection,然后执行一次访问,最后得到请求,写成文件。可参照如下代码。page是你的主页路径,filePath是你的文件存放地址,不过这个文件强烈建议放到你的服务发布以后的目录中。这样就不会有js、css错误了,而且其他的一切请求还都是动态的。
    public static void makeHtml(String page, String filePath,String chartset) {
            synchronized (lock) {
                HttpURLConnection huc = null;
                BufferedReader br = null;
                BufferedWriter bw = null;
                try {
                    huc = (HttpURLConnection)new URL(page).openConnection();
                    System.setProperty("sun.net.client.defaultConnectTimeout", "30000");
                    System.setProperty("sun.net.client.defaultReadTimeout", "30000"); 
                    huc.connect();
                    InputStream stream = huc.getInputStream();
                    bw = new BufferedWriter(new OutputStreamWriter (new FileOutputStream(filePath),chartset));
                    br = new BufferedReader(new InputStreamReader(stream, chartset));
                    String line;
                    while((line = br.readLine())!= null){
                       if(line.trim().length() > 0){
                            bw.write(line);
                            bw.newLine();
                       }
                    }
                }catch (Exception e) {
                    e.printStackTrace();
                }finally {
                    try {
                        br.close();
                        bw.close();
                        huc.disconnect();
                    }catch (Exception e) {
                        e.printStackTrace();
                    }
                } 
            }
        }