成功捷徑,貴在堅持
          人為善,福雖未至禍已遠離; 人為惡,禍雖未至福已遠離

          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-03-17 09:15 選寶網an9 閱讀(222) 評論(0)  編輯  收藏

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


          網站導航:
           
          主站蜘蛛池模板: 壤塘县| 龙口市| 驻马店市| 土默特右旗| 吉首市| 汝阳县| 涿州市| 长春市| 尉氏县| 白银市| 洛宁县| 鹿邑县| 唐河县| 金堂县| 宁阳县| 龙江县| 肥乡县| 聂荣县| 广丰县| 南和县| 青海省| 永胜县| 北安市| 泽普县| 东安县| 南投市| 阳东县| 大同县| 桂东县| 新宾| 翁牛特旗| 兰州市| 柳林县| 南康市| 荆州市| 东莞市| 湘潭市| 英山县| 建瓯市| 延寿县| 大宁县|