我这里有个已建成的信息发布网站,因为是原来用动态jsp页面发布的信息,访问量大之后网站压力比较大,所以现在想改为静态html页面发布。但在修改过程中我发现,原来的jsp页面实际上都是静态内容没有scriptlets,只是其中有个include的jsp是动态进行访问统计的。我对jsp及html对服务端的压力区别不太清楚,所以想知道:1.如果我把那个访问统计jsp中的内容都去掉,只留个空页面(因为include是写在很多taglib类中的,去掉他需要很多变动),改由分析日志来进行访问统计,是否可以降低网站的压力?2.如果把修改taglib类把那个include完全去掉,那么这种做法和1做法(include还在,但被include页面内容为空),两者之间有区别么?3.全是静态内容的jsp,和全是静态内容的html,对服务器的压力是否相同?希望大家能说出结论的同时,告之理由,谢谢

解决方案 »

  1.   

    html当然比jsp压力小的多了
    因为jsp要先转成java,编译成class,然后还得解析成html返回给客户端
    而html则可以直接返回
    如果访问量特别大的话,建议再装一个apache
      

  2.   

    jsp到头还是生成html的,如果你有时间,可用velocity做一个发布系统,从后台生成html很方便的,这样压力小很多
      

  3.   

    3、不相同  html的输出是“不经过大脑的” 
      

  4.   

    1、访问统计可以由第三方来做 如 www.51.la 自己做不划算
      

  5.   


    个人觉得没有太大的必要,jsp会转换成servlet,而且只需转换一次,以后就直接调用转换后的servlet,所以,一楼的说法不全面
      

  6.   

    2、include的方式有两种:静态编译和动态加载 前者无需考虑效率问题,因为它已经在编译的时候嵌入了。后者每次都要加载,最好去掉。
      

  7.   

    我想知道,mysql如何用jsp代码进行备份,请指点....
      

  8.   

    先感谢大家回答~再继续问2个问题,基本功不扎实啊~1.现在发布出来的jsp里反正没有scriptlets,那么把发布出来文件的后缀改成htm是不是能在一定程度降低服务器的压力呢?2.页面里的include是下面的格式的,这个是静态编译还是动态加载?我把xxx.jsp弄成空文件后,这句是否还会对服务器造成压力?
    <%@ include file="xxx.jsp" %>
      

  9.   

    服务器上装个appach,他运行htm文件比tomcat快多了
      

  10.   

    2.是静态编译的如果你的jsp里没有类似
    <%
     // java code 
    %>
    的话,你是可以改成 .htm
    但是你的 
    <%@ include file="" %>
    就不起作用了。
    另,你从何处得知 压力比较大?
      

  11.   

    如果每次都传大量信息到JSP页面的话,压力是会很大。其实你可以在第一次访问的时候把那些信息都做成静态的。诸如访问次数统计之类的可以通过把参数写近路径的方法从静态页面中取得。
    str = window.location.search;