成功捷徑,貴在堅(jiān)持
          人為善,福雖未至禍已遠(yuǎn)離; 人為惡,禍雖未至福已遠(yuǎn)離

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

          2.建類(lèi) 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
          ? * 關(guān)閉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.建類(lèi) 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">序號(hào)</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 只對(duì)/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>

          啟動(dòng)tomcat,在mysql的person中增加一條記錄,發(fā)現(xiàn)已對(duì)/testCache.jsp頁(yè)面進(jìn)行緩存,而/testCache2.jsp頁(yè)面未緩存,如去掉黑體,則數(shù)據(jù)表增加一行,testCache.jsp也隨之修改

          5.4對(duì)所有的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,是失效時(shí)間,在mysql的person中增加一條記錄,發(fā)現(xiàn)已對(duì)/testCache.jsp,/testCache2.jsp頁(yè)面進(jìn)行緩存,頁(yè)面不變化,60s后頁(yè)面變化.

          posted on 2007-03-17 09:15 選寶網(wǎng)an9 閱讀(222) 評(píng)論(0)  編輯  收藏

          只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 双城市| 丹凤县| 大渡口区| 德保县| 泊头市| 巩义市| 和政县| 大田县| 临桂县| 岳阳县| 昌邑市| 临颍县| 元谋县| 武安市| 高平市| 侯马市| 专栏| 温泉县| 那坡县| 浮梁县| 本溪市| 壶关县| 旺苍县| 尚志市| 泸水县| 焉耆| 新巴尔虎左旗| 元朗区| 湖南省| 扎兰屯市| 宜兰市| 临高县| 天津市| 丹巴县| 伊宁县| 定州市| 嘉兴市| 南平市| 信丰县| 宣城市| 治县。|