Opencms中要注意的地方
生活随笔
收集整理的這篇文章主要介紹了
Opencms中要注意的地方
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
以前寫幾個模塊,需要涉及到自定義數據庫操作的地方,一般都是在OpenCms默認的數據庫里面建立新的數據表來進行操作的.
??? [王毅原創,轉載注明,http://wangyi878750.blog.sohu.com/83875297.html]
??? 譬如在留言板或者計數器中,這些內容是沒有必要做成自定義結構類型來使用的,那么最好的辦法就是寫幾個簡單的bean操作數據庫了.這樣的話,我就在OpenCms的數據庫里面建立幾個自己的庫表,加上模塊所特有的前綴就是了.
??? 這樣有一個很明顯的好處,就是不用做任何多余的配置,就可以很方便的使用數據庫操作,當然,只能是在OpenCms原有的數據庫里面.然后就可以按照我曾經在 OpenCms的數據庫操作一文中所寫的那樣來對數據庫表操作了.最大的好處就是我在部署一些需要自己建立數據表的模塊的時候,只需要經過web登錄系統,導入模塊,然后就可以直接在OpenCms的后臺創建或者刪除數據表,進而操作這些數據.
[王毅原創,轉載注明,http://wangyi878750.blog.sohu.com/83875297.html]
??? 雖然上面所說的,能夠解決一些比較常用的數據庫操作功能,但是未必人人都想把自己模塊的數據表放在原來的數據庫里面,或者說,可能我的模塊操作的本來就是其他的數據庫,可能在任何一個地方的任何一個物理機器上,那么就不可能使用這個方法了.那么,我接下來說明另一種方法,可以通過OpenCms的配置,來讓你可以在OpenCms系統里面方便的操作外部數據庫.
[王毅原創,轉載注明,http://wangyi878750.blog.sohu.com/83875297.html]
??? 首先需要了解一下OpenCms的一個配置文件,就是配置文件夾下的opencms.properties文件.
??? 在這個文件中主要就涉及三個部分,除了設置安裝向導是否可用,以及網卡地址綁定以外,最多的就是和數據庫相關的一些設置了.在理解了這些設置之后,就很容易明白外部數據庫的配置了.具體操作步驟如下:
[王毅原創,轉載注明,http://wangyi878750.blog.sohu.com/83875297.html]
??? 1,找到"Declaration of database pools"這段配置文字.
????? 原來的設置為 db.pools=default ,這個地方聲明了OpenCms系統可用的數據庫連接池,我們要使用外部數據庫的連接池,就需要修改這里.修改方法很簡單,直接在這個參數后面增加你添加的連接池的名稱就可以了,中間使用逗號分隔.譬如可以修改為 db.pools=default,test 即可.
??? 2.找到"Configuration of the default database pool"這段配置文字.
????? 這段配置指明了連接池所用到的各種屬性,譬如數據庫驅動類型,數據庫的路徑,用戶名密碼等等.
????? 修改方法也很簡單,直接復制一段,然后就將原來鍵值對中的鍵名中的" default" 修改為你設置的連接池名稱即可.比如我在這里將類似" db.pool.default.user"中的"default"全部修改為" db.pool.test.user"這樣.然后把各個屬性對應的值設置為適合訪問你的外部數據庫的需要.
????? 需要注意的是下面這句,應該把屬性值修改,將屬性值中的"default"也要修改為你要使用的外部連接池名稱.這個 很重要. [王毅原創,轉載注明,http://wangyi878750.blog.sohu.com/83875297.html]
??? ??? ??? # the URL to make the JDBC DriverManager return connections from the DBCP pool
??? ??? ??? ? db.pool.default.poolUrl=opencms:default
??? 3.找到"Configuration for statement pooling"這一段配置,復制并修改為你需要的連接池的配置.
??? 經過這三處修改之后,重啟web服務器,你就應該可以順利的在OpenCms里面使用jsp或者javabean來操作數據庫了,和其他的框架下的操作沒有什么不同.
??? 4.你可以向我一樣建立如下一個簡單的jsp頁面來測試一下了.
??? [王毅原創,轉載注明,http://wangyi878750.blog.sohu.com/83875297.html]
??? 譬如在留言板或者計數器中,這些內容是沒有必要做成自定義結構類型來使用的,那么最好的辦法就是寫幾個簡單的bean操作數據庫了.這樣的話,我就在OpenCms的數據庫里面建立幾個自己的庫表,加上模塊所特有的前綴就是了.
??? 這樣有一個很明顯的好處,就是不用做任何多余的配置,就可以很方便的使用數據庫操作,當然,只能是在OpenCms原有的數據庫里面.然后就可以按照我曾經在 OpenCms的數據庫操作一文中所寫的那樣來對數據庫表操作了.最大的好處就是我在部署一些需要自己建立數據表的模塊的時候,只需要經過web登錄系統,導入模塊,然后就可以直接在OpenCms的后臺創建或者刪除數據表,進而操作這些數據.
[王毅原創,轉載注明,http://wangyi878750.blog.sohu.com/83875297.html]
??? 雖然上面所說的,能夠解決一些比較常用的數據庫操作功能,但是未必人人都想把自己模塊的數據表放在原來的數據庫里面,或者說,可能我的模塊操作的本來就是其他的數據庫,可能在任何一個地方的任何一個物理機器上,那么就不可能使用這個方法了.那么,我接下來說明另一種方法,可以通過OpenCms的配置,來讓你可以在OpenCms系統里面方便的操作外部數據庫.
[王毅原創,轉載注明,http://wangyi878750.blog.sohu.com/83875297.html]
??? 首先需要了解一下OpenCms的一個配置文件,就是配置文件夾下的opencms.properties文件.
??? 在這個文件中主要就涉及三個部分,除了設置安裝向導是否可用,以及網卡地址綁定以外,最多的就是和數據庫相關的一些設置了.在理解了這些設置之后,就很容易明白外部數據庫的配置了.具體操作步驟如下:
[王毅原創,轉載注明,http://wangyi878750.blog.sohu.com/83875297.html]
??? 1,找到"Declaration of database pools"這段配置文字.
????? 原來的設置為 db.pools=default ,這個地方聲明了OpenCms系統可用的數據庫連接池,我們要使用外部數據庫的連接池,就需要修改這里.修改方法很簡單,直接在這個參數后面增加你添加的連接池的名稱就可以了,中間使用逗號分隔.譬如可以修改為 db.pools=default,test 即可.
??? 2.找到"Configuration of the default database pool"這段配置文字.
????? 這段配置指明了連接池所用到的各種屬性,譬如數據庫驅動類型,數據庫的路徑,用戶名密碼等等.
????? 修改方法也很簡單,直接復制一段,然后就將原來鍵值對中的鍵名中的" default" 修改為你設置的連接池名稱即可.比如我在這里將類似" db.pool.default.user"中的"default"全部修改為" db.pool.test.user"這樣.然后把各個屬性對應的值設置為適合訪問你的外部數據庫的需要.
????? 需要注意的是下面這句,應該把屬性值修改,將屬性值中的"default"也要修改為你要使用的外部連接池名稱.這個 很重要. [王毅原創,轉載注明,http://wangyi878750.blog.sohu.com/83875297.html]
??? ??? ??? # the URL to make the JDBC DriverManager return connections from the DBCP pool
??? ??? ??? ? db.pool.default.poolUrl=opencms:default
??? 3.找到"Configuration for statement pooling"這一段配置,復制并修改為你需要的連接池的配置.
??? 經過這三處修改之后,重啟web服務器,你就應該可以順利的在OpenCms里面使用jsp或者javabean來操作數據庫了,和其他的框架下的操作沒有什么不同.
??? 4.你可以向我一樣建立如下一個簡單的jsp頁面來測試一下了.
??? <%@page import="java.sql.*,
??? ??? ??? ??? ??? org.opencms.db.*,
??? ??? ??? ??? ??? org.opencms.main.*"%>
??? <%
??? ??? java.sql.Connection con =
??? ??? OpenCms.getSqlManager().getConnection("test");
??? ??? Statement stmt = con.createStatement();
??? ??? ResultSet rs;
??? ??? rs = stmt.executeQuery("select id, name from test");
??? ??? while (rs.next()) {
??? ??? ? %><%= rs.getInt(1) %> <%= rs.getString(2) %><br><%
??? ??? }
??? ??? rs.close();
??? ??? stmt.close();
??? ??? con.close();
??? %>
當然了,我的test數據庫里面有test數據表了,里面也當然有id和name.?
總結
以上是生活随笔為你收集整理的Opencms中要注意的地方的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: p2p三降什么意思
- 下一篇: 中行存款利率2019