tomcat 配置 quercus記錄:php使用連線池訪問資料庫
JNDI
(Java Naming and Directory Interface)是SUN公司提供的一種標準的Java命名系統介面,JNDI提供統一的客戶端API,通過不同的訪問提供者介面JNDI SPI的實現,由管理者將JNDI API對映為特定的命名服務和目錄系統,使得Java應用程式可以和這些命名服務和目錄服務之間進行互動。
正題
在quercus中可以隨意使用mysql_connect與mysql_pconnect兩個方法來連線資料庫。
當在web.xml定義得有database相關的訊息時,mysql_connect與mysql_pconnect都會自動忽略裡面的引數設定,直接使用web.xml的定義。
新增jndi設定:
vim WEB-INF/web.xml
- <?xmlversion="1.0"encoding="utf-8"?>
- <web-appxmlns="http://caucho.com/ns/resin">
- <description>truth application</description>
- <databasejndi-name="jdbc/mysql">
- <drivertype="com.mysql.jdbc.Driver">
-
<url>jdbc:mysql://192.168.1.5:3306/truth?
- <user>你的使用者名稱</user>
- <password>你的密碼</password>
- <init-paramuseUnicode="true"/><!--實踐證明這個是不管用的,因為quercus寫土了,全用的latin1字符集,後面再說-->
- </driver>
- </database>
使用的是resin4,需要繼續在web.xml的servlet段裡增加:
- <init-param>
- <param-name>database</param-name>
- <param-value>jdbc/mysql</param-value>
- </init-param>
這裡注意,param-value與上面的jndi-name對應,mysql_connnect函式在web.xml裡有這個init-param的定義的時候,將使用對應的jndi的設定。由此可得到連線池的好處。
上面的例子只使用了jdbc的基礎驅動,如果向下面的配置,自然就得到了pool:
例子1:
- <database>
- <jndi-name>jdbc/mysql</jndi-name>
- <driver><type>com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource</type>
- <url>jdbc:mysql://localhost:3306/dbname</url>
- <user>username</user>
- <password>password</password>
- <init-paramuseUnicode="true"/>
- </driver>
- </database>
例子2:
- <database>
- <jndi-name>jdbc/mysql</jndi-name>
- <drivertype="org.gjt.mm.mysql.Driver">
- <url>jdbc:mysql://localhost:3306/test</url>
- <user></user>
- <password></password>
- </driver>
- <prepared-statement-cache-size>8</prepared-statement-cache-size>
- <max-connections>20</max-connections>
- <max-idle-time>30s</max-idle-time>
- </database>
這些簡單的配置,都可以讓php輕鬆跑在連線池上。
問題所在:
quercus寫土了,沒有在使用者設定為unicode的時候來解析使用者的輸入,到處是hard code的latin1。(本來在GAE裡使用這東西的人挺多的,可惜吧,AGE被盾了,然後quercus反饋latin1問題的人也不多,唉。)
- com.caucho.quercus.lib.db.JdbcConnectionResource: 94348
- com.caucho.quercus.lib.db.Mysqli:229
上面三處修改為utf8即可。
相關推薦
tomcat 配置 quercus記錄:php使用連線池訪問資料庫
JNDI (Java Naming and Directory Interface)是SUN公司提供的一種標準的Java命名系統介面,JNDI提供統一的客戶端API,通過不同的訪問提供者介面JNDI SPI的實現,由管理者將JNDI API對映為特定的命名服務和目錄系統,使得Java應用程式可以和這些命
Tomcat配置連接c3p0連接池
oid 文件 ext version ges isa scrip Coding trac 一、Tomcat配置JNDI資源 JNDI(Java Naming and Directory Interface),Java 命名和目錄接口。 JNDI的作用就是:在服務器上配置資源
【Java】Spring和Tomcat自帶的連線池實現資料庫操作
@[toc] 前言 前面我們已經用Spring和傳統的Jdbc實現資料庫操作、Spring和JdbcTemplate實現資料庫操作。但是這些都是基於直連的資料來源進行的,現在我們將介紹基於連線池的資料來源進行資料庫操作。前面幾個步驟都相同。 建立資料庫 首先建立我們的資料庫(這裡我使用的是Mysql)
問題記錄:執行緒池批量下載檔案
在一個視訊網上找到了喜歡的線上視訊資源,沒有下載按鈕,只能自己下載了,看了 一下network,是ts分片的檔案,好在是命名挺規範的,都是 xxxx + index + .ts的格式,方便了 我下載。 一開始我用單執行緒下載,下了半天只下了200個 分片,總共有800個,因此想到了執行緒池,
記一次:c3p0連線池死鎖的問題
在公司的專案開發中,我負責資料層介面的程式碼編寫工作,其中,就涉及到mysql資料庫的查詢介面。為提供效能,也使用了C3P0這個連線池技術。配置簡單,也好用。這裡說一下,我們的使用環境;由於是給中介軟體層使用,而中介軟體並沒有向web層那樣,有配置spring
PHP連線池實現的一種想法
雖然現在名義上是PHP開發,不過做這資料分析的事,平時工作大部分用的是JAVA。C語言出身,學的語言比較多,JAVA還算熟悉,不過之前一直都沒用連線池。第一次遇到連線池是在學校的時候女朋友用連線池出現問題了,找我,我看了下覺得沒必要,直接就刪了。那時候用的是第三方擴充套件,
記錄:php上傳圖片至伺服器 並返回顯示圖片地址
前端上傳圖片主要程式碼:upload_test.html<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"&g
MySql 8小時解決方案:proxool連線池
最近做的專案用的mysql資料庫,前天掛在伺服器上,昨天早晨上班一來,同事就說API資料介面訪問不了了,我馬上mstsc登陸伺服器看,報錯了。馬上重啟tomcat,結果還能正常執行,當時沒管,今天過來又出現相同的問題,錯誤程式碼網上一查,原來是MySql8小時的問題。 M
Spring Boot (四): Druid 連線池密碼加密與監控
在上一篇文章《Spring Boot (三): ORM 框架 JPA 與連線池 Hikari》 我們介紹了 JPA 與連線池 Hikari 的整合使用,在國內使用比較多的連線池還有一個是阿里開源的 Druid 。本篇文章我們就來聊一聊 Druid 的一些使用姿勢。 1. Druid 是什麼? 我們先來
記錄:mac的瀏覽器訪問任何域名、網址都跳轉到本地127.0.0.1或固定網址
net 偏好設置 配置 一個 更改 協議 pro proxy post 新年上班第一天,剛開機就遇到了個小坑,問題是這樣,打開瀏覽器,輸入任何網址都跳轉到本地的一個項目,該項目在本地Apache配置下,監聽的端口是8888,本機訪問的形式是127.0.0.1:8888。
c3p0連線池操作資料庫亂碼
今天使用c3p0 xml 配置檔案操作資料庫一直出現中文亂碼 在網上找了好久 終於找到了解決辦法 如果你的程式執行沒有問題 只是出現亂碼的情況 那麼只要在 這個後面加上 &useUnicode=true&characterEncodin
tomcat配置CORS,支援JS跨域訪問
1. Place the CORS JAR and its dependency in the CLASSPATH Download the cors-filter-<version>.jar file and itsjava-property-utils-<version&g
php連線遠端mysql資料庫例項
下面把localhost改成遠端IP即可了 例項 $conn=mysql_connect('150.125.221.25','root','123'); 配置項:重點: 第一步:進去mysql(mysql/bin mysql -u root -p); 第二步:輸入密碼 第
springboot整合druid連線池(資料庫密碼加密)
<dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.0.20</version
php連線sql server資料庫(sqlsrv)完整解決方案
平生最煩的就是交接別人亂寫的專案 一次性交接四五個半成熟專案我也是真心頭大 最近老闆讓我交接了一個專案與工行e支付做對接,由於連線測試app頻頻出現問題,並且溝通成本比較大。甲方爸爸一怒之下要求直接上正式環境,於是出現了下面一系列心酸史 環境:window
使用jsp的JSTL標準標籤配合資料庫連線池與資料庫進行互動
前言 昨天因為有事情,沒有時間來做實驗。今天接著前面的來做了一下,前面已經完成了資料庫與開發環境的連線配置。今天要做的就是寫一個簡單的demo來通過網頁操作資料庫裡面的資源。幾個互動的網頁那當然是一下子就寫完了,程式碼將會在下面給出。在這次的小實驗當中,最令我困惑的就是如何
基於express框架下Node.js+MySQL連線池的資料庫增添操作
題記: 這幾天一直在學習Node以及關係型資料庫的知識,剛剛接觸到了express框架,就想利用express框架,實現一個通過ajax操作來向資料庫內增添資料的功能。 正文: 話不多說,現在我們就來一起看看吧!我們需要了解哪些知識,做哪些基本工作!
JDBC之連線池: Tomcat 8.5 MySQL資料庫連線池的配置與使用
簡介 本文以MySQL資料庫為例,介紹Tomcat 8.5環境下,其預設的資料庫連線池DBCP配置與使用. 連線池簡介 資料庫連線池是在使用者和資料庫之間建立一個”池”,這個池是用來存放資料庫連線物件。回收和重用已存在的資料庫連線比新建一個連線更高效。當用戶想要連線資料庫,
spring jdbc --注:c3p0資料庫連線池或druid連線池使用配置整理
是Maven配置檔案:pom.xml的程式碼內容: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:sch
tomcat自帶連線池dbcp配置以及優化說明
轉自:http://www.totcms.com/html/201602-29/20160229114145.htm 一個網站每天大概有20萬的訪問量,使用的tomcat自帶dbcp連線池,一般網站訪問很好,速度也很快,但是過一段時間後,總是報timeout waiting for idl