2、實現tomcat+mysql實現jps的連線
二 apache-tomcat+mysql通過jsp連結
2.1 安裝tomcat-native
構建tc-native需要安裝三個元件:
APR庫
OpenSSL庫
Java SE開發工具包(JDK)
Apache Tomcat本地庫是一個與Apache Tomcat一起使用的可選元件,允許Tomcat使用某些本地資源來提高效能,相容性等。
具體而言,Apache Tomcat本地庫為Tomcat提供了對Apache Portable Runtime(APR)庫的網路連線(套接字)實現和隨機數生成器的訪問。有關如何配置Tomcat以使用APR聯結器的更多資訊,請參閱Apache Tomcat文件。
APR聯結器的特點:
保持活動請求的非阻塞I / O(請求之間)
使用OpenSSL進行TLS / SSL功能(如果連結的APR庫支援)
FIPS 140-2支援TLS / SSL(如果連結的OpenSSL庫支援
如果安裝過程中出現apr和openssl軟體版本過低無法編譯的問題請檢視此連結:
升級apr*及openssl:http://blog.51cto.com/maoxiaoxiong/2051202
wget http://mirrors.shuosc.org/apache/tomcat/tomcat-connectors/native/1.2.16/source/tomcat-native-1.2.16-src.tar.gz
./configure –with-apr=/usr/bin/apr-1-config
–with-java-home=/usr/java/jdk-9.0.1/
–with-ssl=yes
–prefix=/usr/local/native
Error1:configure: error: Found APR 1.3.9. You need version 1.4.3 or newer installed.由於安裝的系統自帶apr版本過低,,需要先升級相關軟體版再重新編譯.
./configure –with-apr=/usr/apr/ –with-java-home=/usr/java/jdk-9.0.1/ –with-ssl=yes –prefix=/usr/local/native
Error2: configure: error: Your version of OpenSSL is not compatible with this version of tcnative
make install 安裝
再次編譯:
./configure –with-apr=/usr/apr/ –with-java-home=/usr/java/jdk-9.0.1/ –with-ssl=/usr/local/openssl/ –prefix=/usr/local/native
make
make install
echo “/usr/local/native/lib” >> /etc/ld.so.conf
ldconfig
ln -s /usr/local/native/lib/* /usr/java/packages/lib/
Native編譯完成並進行檢查:
重啟tomcat
#service tomcat stop ;service tomcat start
cat /usr/local/tomcat/logs/catalina.out | grep Native
15-Dec-2017 22:28:47.411 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent Loaded APR based Apache Tomcat Native library [1.2.16] using APR version [1.5.2].
顯示上面資訊,則說明tomcat-native編譯完成.:
2.2 原始碼編譯安裝mysql
MySQL是一個關係型資料庫管理系統,由瑞典MySQL AB 公司開發,目前屬於 Oracle 旗下產品。MySQL 是最流行的關係型資料庫管理系統之一,在 WEB 應用方面,MySQL是最好的 RDBMS (Relational Database Management System,關聯式資料庫管理系統) 應用軟體。
MySQL是一種關聯式資料庫管理系統,關聯式資料庫將資料儲存在不同的表中,而不是將所有資料放在一個大倉庫內,這樣就增加了速度並提高了靈活性。
解決依賴及干擾
[root@node3 src]# rpm -e mysql-5.1.71-1.el6.x86_64
[root@node3 src]# rpm -e mysql-5.1.71-1.el6.x86_64
[root@node3 src]# rpm -e mysql-libs-5.1.71-1.el6.x86_64 -nodeps
tar xvf mysql-5.6.26.tar.gz
yum install -y cmake ncurses-devel
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/usr/local/mysql/data -DMYSQL-USER=mysql
[root@node3 mysql-5.6.26]# chown -R mysql.mysql /usr/local/mysql/
[root@node3 mysql-5.6.26]# cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
[root@node3 mysql-5.6.26]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
[root@node3 mysql-5.6.26]# chmod u+x /etc/init.d/mysqld
[root@node3 mysql-5.6.26]# vim /etc/init.d/mysqld
[root@node3 mysql-5.6.26]# vim /etc/my.cnf
[root@node3 mysql-5.6.26]# chkconfig mysqld on
初始化資料庫
[root@node3 mysql-5.6.26]# /usr/local/mysql/scripts/mysql_install_db
–defaults-file=/etc/my.cnf
–basedir=/usr/local/mysql/
–datadir=/usr/local/mysql/data/
–user=mysql
將資料庫命令連結到環境變數中
[root@node3 mysql-5.6.26]# ln -s /usr/local/mysql/bin/* /bin/
啟動資料庫
service mysqld start
安全初始化資料庫
mysql_secure_installation
回車
初始密碼
確認密碼
y
y
y
echo “export PAHT=/usr/local/mysql/bin:${PATH}” >> /etc/profilesource /etc/profile
2.3 安裝mysql-connector
通過官方提供的工具mysql-connector的實現了jsp指令碼連線到資料庫的操作
#wget https://cdn.mysql.com//Downloads/Connector-J/mysql-connector-java-5.1.45.tar.gztar xvf mysql-connector-java-5.1.45.tar.gz.gz
#cp mysql-connector-java-5.1.36-bin.jar /usr/local/tomcat/lib/
重啟tomcat服務.
#Service tomcat stop ; service tomcat start
建立測試資料庫並建立tomcat測試使用者
mysql> create database tomcat;
Query OK, 1 row affected (0.20 sec)
mysql> use tomcat
Database changed
mysql> create table test(id int,name varchar(58));
Query OK, 0 rows affected (0.30 sec)
mysql> insert into test values(1,”令狐沖”),(2,`東方不敗`),(3,`嶽不群`);
Query OK, 3 rows affected (0.02 sec)
Records: 3 Duplicates: 0 Warnings: 0
mysql> grant all privileges on tomcat.* to tomcat@”localhost” identified by “123456”;
Query OK, 0 rows affected (0.22 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.05 sec)
測試jsp連線資料庫
3.3測試文件
[root@node1 lib]# vim /usr/local/tomcat/webapps/ROOT/test.jsp
1 <%@ page contentType=”text/html;charset=utf-8″%>
2 <%@ page import=”java.sql.“%>
3 <html>
4 <body>
5 <%
6 Class.forName(“org.gjt.mm.mysql.Driver”).newInstance();
7 String url =”jdbc:mysql://localhost/tomcat?user=tomcat&password=123456&useUnicode=true&characterEncoding=utf-8″;
8 Connection conn= DriverManager.getConnection(url);
9 Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
10 String sql=”select from test”;
11 ResultSet rs=stmt.executeQuery(sql);
12 while(rs.next()){%>
13 step:<%=rs.getString(1)%>
14 context:<%=rs.getString(2)%><br><br>
15 <%}%>
16 <%out.print(“Congratulations!!! JSP connect MYSQL IS OK!!”);%>
17 <%rs.close();
18 stmt.close();
19 conn.close();
20 %>
21 </body>
22 </html>
通過瀏覽器訪問資料庫:
如果apache和tomcat在沒有整合的情況下可以指定8080埠進行測試
完成tomcat和mysql通過jsp的連結操作
如果使用yum安裝的httpd服務,由於升級過openss和apr之後導致無法重啟,此時可將http服務升級之高版本或者修改配置檔案/etc/http/conf/httpd.conf中關於ldap模組註釋掉即可如下:
#LoadModule ldap_module modules/mod_ldap.so
#LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
本文轉自 CARYFLASH 51CTO部落格,原文連結:http://blog.51cto.com/maoxiaoxiong/2050555
相關文章
- 使用commons-pool2實現FTP連線池FTP
- mysql的jdbc連線java實現MySqlJDBCJava
- Swoole MySQL 連線池的實現MySql
- Python實現MySQL連線池PythonMySql
- 資料庫連線池實現資料庫
- [譯] Go 實現百萬 WebSocket 連線GoWeb
- Django使用channels實現Websocket連線DjangoWeb
- 實現一個redis連線池Redis
- Netty 實現SSL安全連線(wss://)Netty
- Golang 連線池的幾種實現案例Golang
- 基於swoole的mysql連線池實現MySql
- 五、jsPlumb實現流程圖配置--連線JS流程圖
- 如何實現遠端桌面連線操作
- django中的資料庫連線池實現Django資料庫
- 資料庫連線池的實現及原理資料庫
- 初步實現使用pppd連線GPRS上網
- 線上生成短連結的原因及實現工具
- Node.js 連線到 Spring Eureka 實現服務發現Node.jsSpring
- Swoole 實戰:MySQL 查詢器的實現(協程連線池版)MySql
- 貝塞爾曲線(Bezier curve)實現節點連線
- 讓你輕鬆實現Mac與相機的連線Mac
- 全連線神經網路的原理及Python實現神經網路Python
- windows系統下實現Redis的配置與連線操作WindowsRedis
- golang兩種資料庫連線池實現Golang資料庫
- 輕鬆連線 ChatGPT實現程式碼審查ChatGPT
- 使用雲伺服器,如何實現Rdesktop連線?伺服器
- PowerDesigner實現Oracle資料庫連線生成模型Oracle資料庫模型
- Vue+WebSocket 實現頁面實時重新整理長連線VueWeb
- 用連結串列的方式實現大數相減-Java實現Java
- 基於C++11的資料庫連線池實現C++資料庫
- 使用MySQL的遞延Join連線實現高效分頁 - AaronMySql
- KIDataGrip連線Mysql並建立資料庫的方法實現ztpMySql資料庫
- c#(WPF)實現連連看C#
- JDBC連線資料庫實現增刪改查JDBC資料庫
- 連線資料庫並實現增、刪、改、查資料庫
- 使用EF 連線 資料庫 SQLserver、MySql 實現 CodeFirst資料庫ServerMySql
- Java實現管線拓撲關係連通性分析Java
- KCSQL SERVER實現連線與合併查詢dinSQLServer
- 開源GIS-geos實現空間快速連線