JSP通過Tomcat連接MySQL的實現

Tomcat JSP MySQL 編程語言 勤問好學說 2017-05-06

官方微信:動力節點Java學院

服務概述

1、Tomcat是什麼?

Tomcat 服務器是一個免費的開放源代碼的Web 應用服務器,屬於輕量級應用服務器,在中小型系統和併發訪問用戶不是很多的場合下被普遍使用,是開發和調試JSP 程序的首選。

Tomcat和IIS等Web服務器一樣,具有處理HTML頁面的功能。不過,Tomcat處理靜態HTML的能力不如Apache服務器。目前Tomcat最新版本為8.0.0-RC1 (alpha) Released。JSP全名為Java Server Pages,中文名叫java服務器頁面,是由Sun Microsystems公司倡導、許多公司參與一起建立的一種動態網頁技術標準。JSP技術有點類似ASP技術,它是在傳統的網頁HTML文件中插入Java程序段和JSP標記,從而形成JSP文件,後綴名為.jsp 。支持JSP語言,收費ls、版web服務器:Oracle的weblogic ;IBM的websphere

Tomcat是一個應用服務器。 比如,假設我們瀏覽sina網的網頁,而sina網的所有網頁是配置在一個Tomcat服務器上的,那麼,如果沒有這個Tomcat來提供服務器端的服務的話,那你就打不開sina網的任何網頁了

模式: B/S 模式

端口: 8080

1)關於java的相關概念:

JDK :java development kit (套件) 。簡單的說JDK是面向開發人員使用的SDK,它提供了Java的開發環境和運行環境。

SDK是Software Development Kit 一般指軟件開發包,可以包括凼數庫、編譯程序等。

JRE: 是Java Runtime Enviroment是指Java的運行環境,是面向Java程序的使用者,而不是開發者。

JVM: java virtual machineJVM就是我們常說的java虛擬機。在JDK的安裝目錄裡你可以找到jre目錄裡面有兩個文件夾bin和lib,在這裡可以認為bin裡的就是jvm,lib中則是jvm工作所需要的類庫,而jvm和 lib和起來就稱為jre。

2、Apache和Tomcat的區別:

Apache只是一個Web服務器,可以作為獨立的web服務器來運行,不過只支持靜態網頁,如ASP、 PHP 、 CGI、JSP等動態網頁的就顯得無能為力。

Tomcat也可以作為獨立的web服務器來運行。但Tomcat也是應用( Java )服務器,它只是一個 Servlet容器(生成動態Web內容) 。

由於 Apache解釋靜態頁面要比tomcat快速而且穩定, 基於以上原因,一個現實的網站使用一個Apache作為Web服務器,為網站的靜態頁面請求提供服務;並使用Tomcat服務器作為一個Servlet/JSP插件,顯示網站的動態頁面;

3、Apache+Tomcat整合的好處:

1). Apache主要用來解析靜態文本,如html,tomcat雖然也有此功能,但apache能大大提高效率,對於併發數較大的企業級應用,能更好的顯示apache的高效率;

2)Tomcat用來解析jsp,servlet等,所有的客戶請求首先會發送到Apache,如果請求是靜態文本則由apache解析,並把結果返回給客戶端,如果是動態的請求,如jsp,apache會把解析工作交給tomcat,由tomcat進行解析(這首先要兩者現實整合),tomcat解析完成後,結果仍是通過apache返回給客戶端,這樣就可以達到分工合作,實現負載均衡,提高系統的性能!而且因為JSP是服務器端解釋代碼的,這樣整合可以減少Tomcat的服務開銷。

4、Apache+Tomcat整合的原理

作為 Apache下面的子項目,Tomcat 與 Apache之間有著天然的聯繫。在實際操作中,主要是Apache作為主服務器運行,當監聽到有jsp或者servlet的請求時,將請求轉發給tomcat服務器,由tomcat服務器進行解析後,發回apache,再由apache發回用戶。

在tomcat中有兩個監聽的端口,一個是8080用於提供web服務,一個是8009用於監聽來自於apache的請求。當apache收到jsp或者servlet請求時,就向tomcat 的8009端口發送請求,交由tomcat處理後,再返回給apache,由apache返回給客戶。

一:實驗目標

實戰 實現 tomcat使用用戶密碼登錄

實戰: 實現JSP通過Tomcat連接MySQL

二:實驗環境

服務端: linuxidc63.com IP192.168.1.63

客戶端: linuxidc64.com IP:192.168.1.64

三:實驗步驟

1、 安裝 JDK

1)準備相關軟件包:

jdk-7u71-linux-x64.rpm

apache-tomcat-7.0.27.tar.gz #tomcat安裝包

mysql-connector-java #用於使用java連接mysql數據庫.mysql數據庫連接器。

mysql-connector-java-5.1.34.tar.gz

2)安裝及配置Java運行環境—jdk。升級了jdk的版本

[root@linuxidc63~]#rpm-ivh jdk-7u71-linux-x64.rpm

[root@linuxidc63~]#rpm –pql /root/jdk-7u71-linux-x64.rpm#通過查看jdk的信息可以知道jdk的安裝目錄在/usr/java

Linux export命令參數

功能說明:設置或顯示環境變量。

語法: export[-fnp][變量名稱]=[變量設置值]

例:

[root@linuxidc63 ~]# A="aaa"

[root@linuxidc63 ~]# echo $A

aaa

[root@linuxidc63 ~]# export B="bbb"

[root@linuxidc63 ~]# echo $B

bbb

3)修改環境變量:

[root@linuxidc63~]#vim /etc/profile#在文件的最後,添加如下內容:

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可執行文件目錄

exportPATH=${JAVA_HOME}/bin:$PATH#修系統環境變量

exportCLASSPATH=.:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar#類路徑

[root@tomcat~]#source /etc/profile#使配置文件生效

4)驗證java運行環境是否安裝成功:

[root@linuxidc63~]#java -version

javaversion"1.7.0_71"

Java(TM)SERuntimeEnvironment(build1.7.0_71-b14)

JavaHotSpot(TM)64-BitServerVM(build24.71-b01,mixedmode)

#如果出現安裝的對應版本,說明java運行環境已經安裝成功。

2、 安裝 tomcat提升服務器性能:

注: tomcat-native.tar.gz #這個軟件包在tomcat的bin目錄下已經提供,不需要再下載了。

具體的安裝與配置

1)安裝及配置tomcat

Tomcat有兩種安裝方式,一種是直接解壓就可以使用的二進制的文件。第二種是編譯安裝。採用第一種方法,因為在官網默認下載的便是第一種二進制的文件。

[root@linuxidc63 ~]# tar zxvf apache-tomcat-7.0.27.tar.gz

[root@linuxidc63 ~]# ls apache-tomcat-7.0.27/bin/ #執行文件在這個地方

[root@linuxidc63 ~]# mv apache-tomcat-7.0.27 /usr/local/tomcat/

[root@linuxidc63 ~]# cd /usr/local/tomcat/

[root@linuxidc63 tomcat]# vim webapps/ROOT/index.jsp #默認首頁 ,網站根目錄

注: /usr/local/tomcat/webapps/ROOT/ 網站根目錄

2)為tomcat的啟動創建一個Sysv的管理腳本

[root@linuxidc63 tomcat]# vim /etc/init.d/tomcat #寫入以下內容

#!/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 $* #指定運行或關閉tomcat的腳本

[root@linuxidc63tomcat]#ls /usr/local/tomcat/bin/catalina.sh

/usr/local/tomcat/bin/catalina.sh

說明:

JAVA_OPTS='-Xms64m-Xmx128m'#是用來設置JVM相關運行參數的變量。

-Xms:初始Heap(堆)大小,使用的最小內存,cpu性能高時此值應設的大一些

-Xmx:javaheap最大值,使用的最大內存上面兩個值是分配JVM的最小和最大內存,取決於硬件物理內存的大小,建議設為物理內存的一半。

3)設置開機啟動:

[root@linuxidc63 ~]#chkconfig --add tomcat

[root@linuxidc63 ~]# chkconfig --list tomcat

tomcat0:off1:off2:on3:on4:on5:on6:off

[root@linuxidc63 ~]#chmod +x /etc/init.d/tomcat

[root@linuxidc63 ~]#service tomcat start#啟動tomcat服務

[root@linuxidc63tomcat]#netstat –antup | grep 8080

tcp00:::8080:::*LISTEN4220/java

4)瀏覽器登錄Tomcat測試:

通過瀏覽器訪問 tomcat所提供的網站,上面我們已經知道tomcat可以單獨提供Web服務的。

http://192.168.1.63:8080/

點擊【 ManagerApp】,進入管理頁面的時候,出現信息:

5)添加賬號密碼

[root@linuxidc63 ~]# vim /usr/local/tomcat/conf/tomcat-users.xml #在文件最後改:

改:

<!--

<rolerolename="tomcat"/>

<rolerolename="role1"/>

<userusername="tomcat"password="tomcat"roles="tomcat"/>

<userusername="both"password="tomcat"roles="tomcat,role1"/>

<userusername="role1"password="tomcat"roles="role1"/>

-->

為:

<tomcat-users>

<!--

<role rolename="tomcat"/>

<role rolename="role1"/>

<user username="tomcat" password="tomcat" roles="tomcat"/>

<user username="both" password="tomcat" roles="tomcat,role1"/>

<user username="role1" password="tomcat" roles="role1"/>

-->

<role rolename="manager-gui"/>

<user username="mk" password="123456" roles="manager-gui"/>

</tomcat-users>

#添加用戶角色: manager-gui。添加了用戶:mk 密碼:123456

6)重新啟動tomcat服務並測試登錄

[root@linuxidc63 ~]#service tomcat stop

[root@linuxidc63 ~]#service tomcat start

重新登陸,並使用設置的用戶名和密碼登陸,登陸後的界面如圖 :

7)安裝tomcat-native

Tomcat 可以使用 apr 技術來提供更好的伸縮性、性能。用來提高tomcat的性能。

tomcat native在具體的運行平臺上,提供了一種優化技術,它本身是基於ARP(Apache Portable(輕便) Runtime)技術 tomcat可以利用apache的apr接口,使用操作系統的部分本地操作,從而提升性能。 APR提升的是靜態頁面處理能力

詳細介紹: http://tomcat.apache.org/native-doc/

依賴的軟件包: apr-devel,openssl-devel

[root@linuxidc64 tomcat]# yum install -y apr-devel openssl

[root@linuxidc63 tomcat]# cd /usr/local/tomcat/bin

[root@linuxidc63 bin]# ls tomcat-native.tar.gz #在這個目錄下有tomcat-native.tar.gz文件

tomcat-native.tar.gz

[root@linuxidc63 bin]# source /etc/profile

[root@linuxidc63 bin]# tar -zxvf tomcat-native.tar.gz

[root@linuxidc63 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@linuxidc63 ~]# tar -zxvf mysql-connector-java-5.1.34.tar.gz

[root@linuxidc63 ~]# cd mysql-connector-java-5.1.34

[root@linuxidc63 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@linuxidc63 mysql-connector-java-5.1.34] cp mysql-connector-java-5.1.20-bin.jar /usr/local/tomcat/lib/ #複製過去這個jar包就可以了

[root@linuxidc63 tomcat]# service tomcat stop

[root@linuxidc63 tomcat]# service tomcat start

9)安裝mysql:

[root@linuxidc64 ~]# yum install mysql-server -y

[root@linuxidc64 ~]# service mysqld restart

[root@linuxidc64 ~]# mysqladmin -uroot password 123456 #設置密碼

10)設置mysql數據庫默認編碼為utf8

[root@linuxidc64 ~]# vim /etc/my.cnf # 在配置文件中添加紅色標記內容

[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@linuxidc64 ~]# service mysqld restart

11)創建測試數據庫

注:確認上面是 UFT8後,我們就來創建個測試數據庫。注意您的終端也要是UTF8編碼啊,否則中文會出現亂碼!

[root@linuxidc64 ~]# 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,'linuxidc');

ysql> grant all on tomcat.* to tomcat@localhost identified by ' tomcat';

mysql> exit

[root@linuxidc64 ~]# mysql -utomcat -ptomcat #測試tomcat帳號。

12)測試主頁:

[root@linuxidc63 ROOT]# pwd

/usr/local/tomcat/webapps/ROOT

#注:複製時,刪除多添加%號。如果,直接複製此段內容,最後兩行的開頭會多出個%,注意把他刪除了。 [root@linuxidc63 ROOT]# vim test.jsp #寫入以下內容:

<%@ page contentType="text/html;charset=utf-8"%>

<%@ page import="java.sql.*"%>

<html>

<body>

<%

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)%><br><br>

<%}%>

<%out.print("Congratulations!!! JSP connect MYSQL IS OK!!");%>

<%rs.close();

stmt.close();

conn.close();

%>

</body>

</html>

測試

Httpd://192.168.1.63:8080/test.jsp

相關推薦

推薦中...