<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    gembin

    OSGi, Eclipse Equinox, ECF, Virgo, Gemini, Apache Felix, Karaf, Aires, Camel, Eclipse RCP

    HBase, Hadoop, ZooKeeper, Cassandra

    Flex4, AS3, Swiz framework, GraniteDS, BlazeDS etc.

    There is nothing that software can't fix. Unfortunately, there is also nothing that software can't completely fuck up. That gap is called talent.

    About Me

     

    用CashFilter實現頁面級緩存實踐

    用CashFilter實現頁面級緩存實踐
     

    1.mysql在本地localhost的test數據庫 建person表,暫以字段id,name,password ,表中可輸入一行值.

    2.建類 DAOUtil 

    import  java.sql.Connection;
    import  java.sql.DriverManager;

    public class DAOUtil {
        public DAOUtil() {
        }

       public static Connection getConn() {
            Connection conn = null;
            String db_url = "jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=gb2312";
            String db_user = "root";
            String db_password= "admin";
            String db_driver = "com.mysql.jdbc.Driver";

            try {
                Class.forName(db_driver);
                conn = DriverManager.getConnection(db_url, db_user, db_password);
                 } catch (Exception ex) {
                 ex.printStackTrace();
            }
            return conn;
        }

      /**
      * dbclose
      * 關閉Connection,Statement
      * @param conn Connection
      * @param stmt Statement
      */
     public static void dbclose(Connection conn, Statement stmt) {
           try {
               if (stmt != null)
                   stmt.close();
           } catch (Exception e) {
             e.printStackTrace();
           }
           try {
               if (conn != null)
                   conn.close();
           } catch (Exception e) {
              e.printStackTrace();
           }
       }

    }

    3.建類 PersonDAO

    import java.util.*;
    import java.sql.Connection;
    import java.sql.Statement;
    import java.sql.ResultSet;


    public class PersonDAO {
        static PersonDAO pdao;
        public static PersonDAO getInstance() {
            if (pdao == null) {
                synchronized (PersonDAO.class) {
                    pdao = new PersonDAO();
                }
            }
            return pdao;
        }

        public PersonDAO() {
            super();    }

        public static void main(String[] args) {
              System.out.println("person==="+PersonDAO.getInstance().getPersonInfo());
        }
       
           private static List getPersonInfo() {
              String name  = "";
              String password = "";
              Connection conn = null;
              List list = new java.util.ArrayList();
              Statement stmt = null;
              String sql =
                      "select name,password from person";
              try {
                  conn = DAOUtil.getConn();
                  stmt = conn.createStatement();
                  ResultSet rs = stmt.executeQuery(sql);
                  while (rs.next()) {
                      name = (String)rs.getString("name");
                      password = (String)rs.getString("password");
                      list.add(name+","+password);
                     }
              } catch (Exception ex) {
                  ex.printStackTrace();
                   } finally {
                  DAOUtil.dbclose(conn, stmt);
              }
              return list;
          } 
    }

    4.建testCache.jsp,testCache2.jsp

    <%@page contentType="text/html; charset=GBK"%>
    <%@page import="com.mcsky.dao.PersonDAO" session="false"%>
    <%@page import="java.util.List" session="false"%>
    <html>
    <body bgcolor="#FFFFFF">
    test ,hello world!!<p>
      <table width="85%" border="1" align="center">
       <tr>
          <td width="8%" height="20"> <div align="center">序號</div></td>
          <td width="12%"><div align="center">名字</div></td>
          <td width="17%"><div align="center">密碼 </div></td>
           </tr>
    <%
    //todo connect mysql server (localhost root/admin) and test(db) person(table)
    List list =PersonDAO.getInstance().getPersonInfo();
    System.out.println("size==="+list.size());
    for(int i=0;i<list.size();i++){
    String namePass = (String)list.get(i);
    java.util.StringTokenizer st = new  java.util.StringTokenizer(namePass,",");
    String   name = st.nextToken();
    String    pass = st.nextToken();
    System.out.println("namePass+++++"+namePass);
    %>
      <tr> 
          <td><div align="center"><%=i+1%></div></td>
          <td> <div align="center"><%=name%></div></td>
          <td><div align="center"><%=pass%></div></td>
          </tr>
        <%
            }
    %>
      </table>

    </body>
    </html>

    5.把module部署在tomcat的webapp下

    5.1 在WEB-INF\lib\log4j-1.2.8.jar,mysql-connector-java-3.0.11-stable-bin.jar,oscache-2.3.2.jar,commons-logging.jar,jgroups-all.jar

    5.2 在WEB-INF\classes拷貝cach\etc\下的oscache.tld,oscache.properties

    5.3 只對/testCache.jsp緩存

    修改WEB-INF\web.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
    <web-app>
      <display-name>test</display-name>
      <taglib><taglib-uri>oscache</taglib-uri><taglib-location>/WEB-INF/classes/ oscache.tld</taglib-location></taglib> 
       <filter>    
       <filter-name>CacheFilter</filter-name>
       <filter-class>com.opensymphony.oscache.web.filter.CacheFilter</filter-class>
       </filter>
       <filter-mapping>
       <filter-name>CacheFilter</filter-name>  
           <url-pattern>/testCache.jsp</url-pattern>
          </filter-mapping>
         
    </web-app>

    啟動tomcat,在mysql的person中增加一條記錄,發現已對/testCache.jsp頁面進行緩存,而/testCache2.jsp頁面未緩存,如去掉黑體,則數據表增加一行,testCache.jsp也隨之修改

    5.4對所有的jsp緩存,

    修改WEB-INF\web.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
    <web-app>
      <display-name>test</display-name>
          <filter>    
            <filter-name>CacheFilter</filter-name>
            <filter-class>com.opensymphony.oscache.web.filter.CacheFilter</filter-class>
              <init-param>        
               <param-name>time</param-name> 
                        <param-value>60</param-value>   
               </init-param>    
              <init-param>                            
              <param-name>scope</param-name>
                         <param-value>session</param-value> 
              </init-param>
              </filter>
              <filter-mapping>
              <filter-name>CacheFilter
              </filter-name>
                <url-pattern>*.jsp</url-pattern>
              </filter-mapping>
    </web-app>

    其中60s,是失效時間,在mysql的person中增加一條記錄,發現已對/testCache.jsp,/testCache2.jsp頁面進行緩存,頁面不變化,60s后頁面變化.

    posted on 2007-09-21 11:05 gembin 閱讀(358) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     

    導航

    統計

    常用鏈接

    留言簿(6)

    隨筆分類(440)

    隨筆檔案(378)

    文章檔案(6)

    新聞檔案(1)

    相冊

    收藏夾(9)

    Adobe

    Android

    AS3

    Blog-Links

    Build

    Design Pattern

    Eclipse

    Favorite Links

    Flickr

    Game Dev

    HBase

    Identity Management

    IT resources

    JEE

    Language

    OpenID

    OSGi

    SOA

    Version Control

    最新隨筆

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    free counters
    主站蜘蛛池模板: 日韩免费视频一区二区| 国产男女爽爽爽爽爽免费视频| 国产成人亚洲精品91专区手机| 国产99在线|亚洲| 午夜色a大片在线观看免费| 美女视频黄a视频全免费网站一区| jjzz亚洲亚洲女人| 免费无码av片在线观看| 亚洲视频在线观看免费视频| 九九精品免费视频| 美女被羞羞网站免费下载| 国产亚洲老熟女视频| 51精品视频免费国产专区| 亚洲码和欧洲码一码二码三码| 免费一级成人毛片| 另类免费视频一区二区在线观看| 亚洲字幕在线观看| 国产免费爽爽视频免费可以看| 久久久久久噜噜精品免费直播| 亚洲AV日韩AV永久无码免下载| 日韩av无码成人无码免费| 一级特黄录像免费播放中文版| 亚洲国产老鸭窝一区二区三区| 99视频在线精品免费观看6| 国产97视频人人做人人爱免费| 亚洲色图古典武侠| 免费在线黄色网址| 成人免费的性色视频| 一级做a爱片特黄在线观看免费看| 亚洲欧洲日韩不卡| 免费国内精品久久久久影院| 亚洲精品免费视频| 男女交性无遮挡免费视频| 久久精品国产亚洲av高清漫画| 国产精品va无码免费麻豆| 在线免费观看国产| 亚洲一线产品二线产品| 奇米影视亚洲春色| 最近2019年免费中文字幕高清 | 最近免费mv在线观看动漫| 亚洲人成网站免费播放|