新聞中心
實(shí)現(xiàn)JSP通過Tomcat連接MySQL
在桐柏等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì) 網(wǎng)站設(shè)計(jì)制作按需策劃,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站制作,營銷型網(wǎng)站,成都外貿(mào)網(wǎng)站建設(shè),桐柏網(wǎng)站建設(shè)費(fèi)用合理。
服務(wù)概述
1、Tomcat是什么?
Tomcat 服務(wù)器是一個(gè)免費(fèi)的開放源代碼的Web 應(yīng)用服務(wù)器,屬于輕量級(jí)應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場(chǎng)合下被普遍使用,是開發(fā)和調(diào)試JSP 程序的首選。
Tomcat和IIS等Web服務(wù)器一樣,具有處理HTML頁面的功能。不過,Tomcat處理靜態(tài)HTML的能力不如Apache服務(wù)器。目前Tomcat最新版本為8.0.0-RC1 (alpha) Released。JSP全名為Java Server Pages,中文名叫java服務(wù)器頁面,是由Sun Microsystems公司倡導(dǎo)、許多公司參與一起建立的一種動(dòng)態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)。JSP技術(shù)有點(diǎn)類似ASP技術(shù),它是在傳統(tǒng)的網(wǎng)頁HTML文件中插入Java程序段和JSP標(biāo)記,從而形成JSP文件,后綴名為.jsp 。支持JSP語言,收費(fèi)ls、版web服務(wù)器:oracle的weblogic ;IBM的websphere
Tomcat是一個(gè)應(yīng)用服務(wù)器。 比如,假設(shè)我們?yōu)g覽sina網(wǎng)的網(wǎng)頁,而sina網(wǎng)的所有網(wǎng)頁是配置在一個(gè)Tomcat服務(wù)器上的,那么,如果沒有這個(gè)Tomcat來提供服務(wù)器端的服務(wù)的話,那你就打不開sina網(wǎng)的任何網(wǎng)頁了
模式:B/S 模式
端口: 8080
1)關(guān)于java的相關(guān)概念:
JDK :java development kit (套件) 。簡單的說JDK是面向開發(fā)人員使用的SDK,它提供了Java的開發(fā)環(huán)境和運(yùn)行環(huán)境。
SDK是Software Development Kit 一般指軟件開發(fā)包,可以包括凼數(shù)庫、編譯程序等。
JRE: 是Java Runtime Enviroment是指Java的運(yùn)行環(huán)境,是面向Java程序的使用者,而不是開發(fā)者。
JVM: java virtual machineJVM就是我們常說的java虛擬機(jī)。在JDK的安裝目錄里你可以找到j(luò)re目錄里面有兩個(gè)文件夾bin和lib,在這里可以認(rèn)為bin里的就是jvm,lib中則是jvm工作所需要的類庫,而jvm和 lib和起來就稱為jre。
2、Apache和Tomcat的區(qū)別:
Apache只是一個(gè)Web服務(wù)器,可以作為獨(dú)立的web服務(wù)器來運(yùn)行,不過只支持靜態(tài)網(wǎng)頁,如ASP、PHP、CGI、JSP等動(dòng)態(tài)網(wǎng)頁的就顯得無能為力。
Tomcat也可以作為獨(dú)立的web服務(wù)器來運(yùn)行。但Tomcat也是應(yīng)用(Java)服務(wù)器,它只是一個(gè)Servlet容器(生成動(dòng)態(tài)Web內(nèi)容)。
由于Apache解釋靜態(tài)頁面要比tomcat快速而且穩(wěn)定, 基于以上原因,一個(gè)現(xiàn)實(shí)的網(wǎng)站使用一個(gè)Apache作為Web服務(wù)器,為網(wǎng)站的靜態(tài)頁面請(qǐng)求提供服務(wù);并使用Tomcat服務(wù)器作為一個(gè)Servlet/JSP插件,顯示網(wǎng)站的動(dòng)態(tài)頁面;
3、Apache+Tomcat整合的好處:
1). Apache主要用來解析靜態(tài)文本,如html,tomcat雖然也有此功能,但apache能大大提高效率,對(duì)于并發(fā)數(shù)較大的企業(yè)級(jí)應(yīng)用,能更好的顯示apache的高效率;
2)Tomcat用來解析jsp,servlet等,所有的客戶請(qǐng)求首先會(huì)發(fā)送到Apache,如果請(qǐng)求是靜態(tài)文本則由apache解析,并把結(jié)果返回給客戶端,如果是動(dòng)態(tài)的請(qǐng)求,如jsp,apache會(huì)把解析工作交給tomcat,由tomcat進(jìn)行解析(這首先要兩者現(xiàn)實(shí)整合),tomcat解析完成后,結(jié)果仍是通過apache返回給客戶端,這樣就可以達(dá)到分工合作,實(shí)現(xiàn)負(fù)載均衡,提高系統(tǒng)的性能!而且因?yàn)镴SP是服務(wù)器端解釋代碼的,這樣整合可以減少Tomcat的服務(wù)開銷。
4、Apache+Tomcat整合的原理
作為Apache下面的子項(xiàng)目,Tomcat 與 Apache之間有著天然的聯(lián)系。在實(shí)際操作中,主要是Apache作為主服務(wù)器運(yùn)行,當(dāng)監(jiān)聽到有jsp或者servlet的請(qǐng)求時(shí),將請(qǐng)求轉(zhuǎn)發(fā)給tomcat服務(wù)器,由tomcat服務(wù)器進(jìn)行解析后,發(fā)回apache,再由apache發(fā)回用戶。
在tomcat中有兩個(gè)監(jiān)聽的端口,一個(gè)是8080用于提供web服務(wù),一個(gè)是8009用于監(jiān)聽來自于apache的請(qǐng)求。當(dāng)apache收到j(luò)sp或者servlet請(qǐng)求時(shí),就向tomcat 的8009端口發(fā)送請(qǐng)求,交由tomcat處理后,再返回給apache,由apache返回給客戶。
一:實(shí)驗(yàn)?zāi)繕?biāo)
實(shí)戰(zhàn):實(shí)現(xiàn)tomcat使用用戶密碼登錄
實(shí)戰(zhàn):實(shí)現(xiàn)JSP通過Tomcat連接MySQL
二:實(shí)驗(yàn)環(huán)境
服務(wù)端:xuegod63.cn IP:192.168.1.63
客戶端:xuegod64.cn IP:192.168.1.64
三:實(shí)驗(yàn)步驟
1、安裝JDK
1)準(zhǔn)備相關(guān)軟件包:
jdk-7u71-linux-x64.rpm
apache-tomcat-7.0.27.tar.gz #tomcat安裝包
mysql-connector-java #用于使用java連接mysql數(shù)據(jù)庫.mysql數(shù)據(jù)庫連接器。
mysql-connector-java-5.1.34.tar.gz
2)安裝及配置Java運(yùn)行環(huán)境—jdk。升級(jí)了jdk的版本
[root@xuegod63~]#rpm-ivh jdk-7u71-linux-x64.rpm
[root@xuegod63~]#rpm –pql /root/jdk-7u71-linux-x64.rpm#通過查看jdk的信息可以知道jdk的安裝目錄在/usr/java
Linux export命令參數(shù)
功能說明:設(shè)置或顯示環(huán)境變量。
語法:export[-fnp][變量名稱]=[變量設(shè)置值]
例:
[root@xuegod63 ~]# A="aaa"
[root@xuegod63 ~]# echo $A
aaa
[root@xuegod63 ~]# export B="bbb"
[root@xuegod63 ~]# echo $B
bbb
3)修改環(huán)境變量:
[root@xuegod63~]#vim /etc/profile#在文件的最后,添加如下內(nèi)容:
export JAVA_HOME=/usr/java/jdk1.7.0_71
export JAVA_BIN=/usr/java/jdk1.7.0_71/bin
export PATH=${JAVA_HOME}/bin:$PATH
export CLASSPATH=.:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
注釋:
exportJAVA_HOME=/usr/java/jdk1.7.0_71#java家目錄
exportJAVA_BIN=/usr/java/jdk1.7.0_71/bin#java可執(zhí)行文件目錄
exportPATH=${JAVA_HOME}/bin:$PATH#修系統(tǒng)環(huán)境變量
exportCLASSPATH=.:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar#類路徑
[root@tomcat~]#source /etc/profile#使配置文件生效
4)驗(yàn)證java運(yùn)行環(huán)境是否安裝成功:
[root@xuegod63~]#java -version
javaversion"1.7.0_71"
Java(TM)SERuntimeEnvironment(build1.7.0_71-b14)
JavaHotSpot(TM)64-BitServerVM(build24.71-b01,mixedmode)
#如果出現(xiàn)安裝的對(duì)應(yīng)版本,說明java運(yùn)行環(huán)境已經(jīng)安裝成功。
2、安裝tomcat提升服務(wù)器性能:
注:tomcat-native.tar.gz #這個(gè)軟件包在tomcat的bin目錄下已經(jīng)提供,不需要再下載了。
具體的安裝與配置
1)安裝及配置tomcat
Tomcat有兩種安裝方式,一種是直接解壓就可以使用的二進(jìn)制的文件。第二種是編譯安裝。采用第一種方法,因?yàn)樵诠倬W(wǎng)默認(rèn)下載的便是第一種二進(jìn)制的文件。
[root@xuegod63 ~]# tar zxvf apache-tomcat-7.0.27.tar.gz
[root@xuegod63 ~]# ls apache-tomcat-7.0.27/bin/ #執(zhí)行文件在這個(gè)地方
[root@xuegod63 ~]# mv apache-tomcat-7.0.27 /usr/local/tomcat/
[root@xuegod63 ~]# cd /usr/local/tomcat/
[root@xuegod63 tomcat]# vim webapps/ROOT/index.jsp #默認(rèn)首頁 ,網(wǎng)站根目錄
注:/usr/local/tomcat/webapps/ROOT/ 網(wǎng)站根目錄
2)為tomcat的啟動(dòng)創(chuàng)建一個(gè)Sysv的管理腳本
[root@xuegod63 tomcat]# vim /etc/init.d/tomcat #寫入以下內(nèi)容
#!/bin/bash
# Tomcat init script for linux.
# chkconfig: 2345 96 14
# description: The Apache Tomcat server/JSP container
JAVA_OPTS='-server -Xms64m -Xmx128m'
JAVA_HOME=/usr/java/jdk1.7.0_71
CATALINA_HOME=/usr/local/tomcat #指定tomcat家目錄
$CATALINA_HOME/bin/catalina.sh $* #指定運(yùn)行或關(guān)閉tomcat的腳本
[root@xuegod63tomcat]#ls /usr/local/tomcat/bin/catalina.sh
/usr/local/tomcat/bin/catalina.sh
說明:
JAVA_OPTS='-Xms64m-Xmx128m'#是用來設(shè)置JVM相關(guān)運(yùn)行參數(shù)的變量。
-Xms:初始Heap(堆)大小,使用的最小內(nèi)存,cpu性能高時(shí)此值應(yīng)設(shè)的大一些
-Xmx:javaheap最大值,使用的最大內(nèi)存上面兩個(gè)值是分配JVM的最小和最大內(nèi)存,取決于硬件物理內(nèi)存的大小,建議設(shè)為物理內(nèi)存的一半。
3)設(shè)置開機(jī)啟動(dòng):
[root@xuegod63 ~]#chkconfig --add tomcat
[root@xuegod63 ~]# chkconfig --list tomcat
tomcat0:off1:off2:on3:on4:on5:on6:off
[root@xuegod63 ~]#chmod +x /etc/init.d/tomcat
[root@xuegod63 ~]#service tomcat start#啟動(dòng)tomcat服務(wù)
[root@xuegod63tomcat]#netstat –antup | grep 8080
tcp00:::8080:::*LISTEN4220/java
4)瀏覽器登錄Tomcat測(cè)試:
通過瀏覽器訪問tomcat所提供的網(wǎng)站,上面我們已經(jīng)知道tomcat可以單獨(dú)提供Web服務(wù)的。
http://192.168.1.63:8080/
點(diǎn)擊【ManagerApp】,進(jìn)入管理頁面的時(shí)候,出現(xiàn)信息:
5)添加賬號(hào)密碼
[root@xuegod63 ~]# vim /usr/local/tomcat/conf/tomcat-users.xml #在文件最后改:
改:
為:
#添加用戶角色: manager-gui。添加了用戶:mk 密碼:123456
6)重新啟動(dòng)tomcat服務(wù)并測(cè)試登錄
[root@xuegod63 ~]#service tomcat stop
[root@xuegod63 ~]#service tomcat start
重新登陸,并使用設(shè)置的用戶名和密碼登陸,登陸后的界面如圖:
7)安裝tomcat-native
Tomcat 可以使用 apr 技術(shù)來提供更好的伸縮性、性能。用來提高tomcat的性能。
tomcat native在具體的運(yùn)行平臺(tái)上,提供了一種優(yōu)化技術(shù),它本身是基于ARP(Apache Portable(輕便) Runtime)技術(shù) tomcat可以利用apache的apr接口,使用操作系統(tǒng)的部分本地操作,從而提升性能。 APR提升的是靜態(tài)頁面處理能力
詳細(xì)介紹:http://tomcat.apache.org/native-doc/
依賴的軟件包:apr-devel,openssl-devel
[root@xuegod64 tomcat]# yum install -y apr-devel openssl
[root@xuegod63 tomcat]# cd /usr/local/tomcat/bin
[root@xuegod63 bin]# ls tomcat-native.tar.gz #在這個(gè)目錄下有tomcat-native.tar.gz文件
tomcat-native.tar.gz
[root@xuegod63 bin]# source /etc/profile
[root@xuegod63 bin]# tar -zxvf tomcat-native.tar.gz
[root@xuegod63 bin]# cd tomcat-native-1.1.23-src/jni/native/
[root@tomcat native]# ./configure --with-apr=/usr/ --with-ssl
[root@tomcat native]# make && make install
8)安裝MySQL的連接器
[root@xuegod63 ~]# tar -zxvf mysql-connector-java-5.1.34.tar.gz
[root@xuegod63 ~]# cd mysql-connector-java-5.1.34
[root@xuegod63 mysql-connector-java-5.1.34]# ls
build.xml COPYING mysql-connector-java-5.1.34-bin.jar README.txt
CHANGES docs README src
[root@xuegod63 mysql-connector-java-5.1.34] cp mysql-connector-java-5.1.20-bin.jar /usr/local/tomcat/lib/ #復(fù)制過去這個(gè)jar包就可以了
[root@xuegod63 tomcat]# service tomcat stop
[root@xuegod63 tomcat]# service tomcat start
9)安裝mysql:
[root@xuegod64 ~]# yum install mysql-server -y
[root@xuegod64 ~]# service mysqld restart
[root@xuegod64 ~]# mysqladmin -uroot password 123456 #設(shè)置密碼
10)設(shè)置mysql數(shù)據(jù)庫默認(rèn)編碼為utf8
[root@xuegod64 ~]# vim /etc/my.cnf # 在配置文件中添加紅色標(biāo)記內(nèi)容
[client]
default-character-set=utf8
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
default-character-set=utf8
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[root@xuegod64 ~]# service mysqld restart
11)創(chuàng)建測(cè)試數(shù)據(jù)庫
注:確認(rèn)上面是UFT8后,我們就來創(chuàng)建個(gè)測(cè)試數(shù)據(jù)庫。注意您的終端也要是UTF8編碼啊,否則中文會(huì)出現(xiàn)亂碼!
[root@xuegod64 ~]# mysql -uroot -p123456
mysql> create database tomcat;
mysql> use tomcat;
mysql> create table tt(id int,name varchar(128));
mysql> insert into tt values(1,'mk');
mysql> insert into tt values(2,'xuegod');
ysql> grant all on tomcat.* to tomcat@localhost identified by 'tomcat';
mysql> exit
[root@xuegod64 ~]# mysql -utomcat -ptomcat #測(cè)試tomcat帳號(hào)。
12)測(cè)試主頁:
[root@xuegod63 ROOT]# pwd
/usr/local/tomcat/webapps/ROOT
#注:復(fù)制時(shí),刪除多添加%號(hào)。如果,直接復(fù)制此段內(nèi)容,最后兩行的開頭會(huì)多出個(gè)%,注意把他刪除了。[root@xuegod63 ROOT]# vim test.jsp #寫入以下內(nèi)容:
<%@ page contentType="text/html;charset=utf-8"%>
<%@ page import="java.sql.*"%>
<%
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
String url ="jdbc:mysql://localhost/tomcat?user=tomcat&password=tomcat&useUnicode=true&characterEncoding=utf-8";
Connection conn= DriverManager.getConnection(url);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from tt";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
step:<%=rs.getString(1)%>
context:<%=rs.getString(2)%>
<%}%>
<%out.print("Congratulations!!! JSP connect MYSQL IS OK!!");%>
<%rs.close();
stmt.close();
conn.close();
%>
測(cè)試
Httpd://192.168.1.63:8080/test.jsp
分享文章:實(shí)現(xiàn)JSP通過Tomcat連接MySQL
轉(zhuǎn)載來源:http://ef60e0e.cn/article/jjjoii.html