雖然以前經常聽人說起過tomcat,但是今天頭一次使用tomcat。
1.Tomcat的安裝過程:
首先應該從Apache官方網站上下載是用於Windows的.zip壓縮包.
下面是相應的下載鏈接:
http://apache.etoak.com/tomcat/tomcat-7/v7.0.42/bin/apache-tomcat-7.0.42-windows-x64.zip
由於LZ的主機是64位的,所以就下載64位的apache tomcat版本。
在下載壓縮包之后,在指定的路徑下進行解壓即可。
2.環境變量的設置
想在本地上運行tomcat的前提是已經安裝好JDK了,
並且已經在環境變量的系統變量設置中將JAVA_HOME設置成功的基礎上,
接下來就是設置TOMCAT_HOME了,
具體的操作如下圖所示:
右鍵單擊我的電腦,選擇屬性選項。
對於設置TOMAT_HOME是這樣的,
環境變量設置之后,接下來就是通過XML文檔對tomcat的相關屬性
進行相應的設置了。
3.通過XML文件對Tomcat進行配置
Tomcat作為APache開源項目之一,與其他開源項目在文件夾以及路徑的設置上面都是十分相似的。
Tomcat的配置文件夾為conf,進入到conf文件夾中之后可以發現有
server.xml
tomcat-users.xml
web.xml,
等一些其他類型的配置文件。
在這里我們只需要修改一下tomcat-users.xml這兩個配置文件,
其余的配置文件不需要修改的。
如果想要修改端口號的話,是需要更改server.xml這個配置文件的。
在根據自身的情況對端口號進行修改之后,可以啟動一下tomcat來查看一下情況。
進入到tomcat的bin這一個子目錄的下面,
就會看到startup.bat由於當前的工作系統是windows的,
所以雙擊startup.bat就可以正常開啟tomcat了。
如果主機系統是Linux的話呢,輸入命令sh startup.sh
就可以啟動tomcat了,不過在此之前需要將權限更改為777的。
對於LZ來說一開始啟動tomcat后會出現console一閃而過的情況,
一開始還以為是tomcat的版本有些問題。
后來更換版本之后,問題依然存在,
於是打算查看一下一閃而過的控制台上面出現了什么信息提示。
如果能使控制台顯示可以停留一下就可以看到提示信息了,
右鍵單擊startup.bat,選擇編輯按鍵,
然后進入到.bat的編輯面板上面。
在最后一行上面添加:
PAUSE
這樣就查看控制台的提示信息了。
根據控制台的提示信息,得知原來是JAVA_HOME沒有寫在環境變量中。
原因是這個樣子的,因為LZ使用的是NetBeans的開發環境,
所以,不必改寫或是添加JAVA_HOME java程序也是照常可以運行的。
/*關於W7中的console
因為IDE環境中本身就會提供一個控制台,這個控制台應該是於當前操作系統是分開的。
而且W7的OS中的DOS並不是我們普遍所說的DOS系統,
它只是在模擬仿真DOS,而非是在W7中內嵌入DOS系統。
LZ的cmd窗口在切換路徑的時候,並不會接收,於是使用power shell
來代替cmd窗口接收命令。
那就是開始->所有程序->附件 windows power shell->Windows PowerShell(x86)
選擇這個就可以了。
接下來就會彈出一個類似於DOS的命令行界面,往里面輸入命令,控制台就會全部接收了。
在LZ看來,運行對應的console應該是W7模擬的DOS操作系統的控制台所編寫的,
因為是模擬的,所以具體的執行權限根據用戶的身份權限有關系,LZ的W7是家庭版本所以權限有限,
並不能控制到當前W7系統的全部。
*/
在配置好JAVA_HOME之后呢,就可以再次運行tomcat了,
其實按照LZ的理解吧,tomcat實質上使用java 語言編寫的,
是許多個.class文件的集合,當然為了加載方便這些.class文件已經被打包成了.jar文件。
所以如果想讓它正確的運行的話,
也就是在tomcat運行的一開始,tomcat會上系統變量中尋找到JAVA_HOME
在當前系統中的路徑,然后根據路徑(JAVA_HOME)找到java的相應編輯器,
就是可以識別以及解析.class/.jar文件的相關程序。
然后通過該程序對.class/.jar文件進行加載,運行,這樣下來的話tomcat就被成功的運行了。
4.開啟tomcat
對於server.xml文件在未經過修改的情況下,
對於本地連接的端口號默認為8080,
所以在配置好了tomcat之后,可以通過瀏覽器對其進行檢查。
通過雙擊startup.bat;
可以看到如下的顯示說明tomcat運行成功:
打開Internet Explorer之后,在對應的地址欄中輸入
5.Tomcat實現與數據庫進行連接:
實現與數據庫相連接,必須在tomcat中進行
創建一個用戶然后設定登錄密碼,然后為其分配相關的權限。
使用記事本打開方式打開tomcat-users.xml文件。
在</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"/> -->
</tomcat-users>
根據上面的文檔說明去掉注釋前后的符號:""<!---->""
然后添加一個用戶,這個用戶在創建並分配密碼和權限之后,
可以使用該用戶名和密碼來登錄到mysql中,
登錄mysql之后以該用戶身份創建數據庫,和數據庫表。
這樣tomcat就可以對其進行訪問了。
去掉注釋后,在</tomcat-users>的上一行添加你想創建用戶的用戶名,密碼,以及所需要分配的權限。
不過要依照下面添加用戶的格式,填寫之后保存文件即可。
<user username="root2" password="zhu" roles="admin,manager"/>
然后在mysql中以該用戶名稱登錄:
mysql -uroot2 -hlocalhost -p(enter)
Enter password: ***
不過LZ在這個地方進行的並不順利, 於是改變了一下方法:
以root的身份進入到mysql中,
查看一下數據庫中的所有用戶的信息:
select user,host from mysql.user;
(不過這個是創建用戶root2之后的截圖)
create database school;
然后在mysql中創建與server.xml
同樣的用戶名以及登錄密碼所在主機名稱並且針對數據庫school
將與tomcat中的配置文件server.xml相同的信息用於mysql的數據庫創建中,
create user "root2"; grant all on school to root2@localhost identified by "zhu";
這樣的話,就以mysql和tomcat 就有了同樣的用戶名以及登陸密碼,
這樣的話,tomcat就可以很順理成章的以root2的身份 登陸並訪問mysql中的school database了,
又因為在mysql創建用戶 root2 的時候 ,分配全部的對school數據庫的權限了,
所以可以通過jsp來通過tomcat對數據庫進行創建表,刪除,更新等等的一些操作了。
那么,如何知道tomcat已經可以成功的連接到數據庫了呢?
可以寫一小段的.jsp代碼來進行測試一下,
首先在路徑下面創建一個記事本文件,然后調整屬性讓文件顯示隱含文件類型名稱,
將"新建文本文件.txt"修改為 "testjdbc.jsp",
接下來,我們對該testjdbc.jsp進行相應的編寫:
打開文件testjdbc.jsp,向文件中添加如下內容:
<%@ page contentType="text/html;charset=GB2312" %> <%@ page import="java.sql.*" %> <HTML> <BODY> <% String driver="com.mysql.jdbc.Driver"; String url="jdbc:mysql://localhost:3306/school"; // 連接到 school 數據庫 String userid="root2"; // 用戶 String passwd="zhu"; // 密碼 try{ Class.forName(driver); } catch(Exception e){ out.println(" 無法載入 "+driver+" 驅動程序 !"); e.printStackTrace(); } try { Connection con=DriverManager.getConnection(url,userid,passwd); if(!con.isClosed()) out.println(" 成功連接數據庫 !"); con.close(); } catch(SQLException SQLe){ out.println(" 無法連接數據庫 !"); } %> </BODY> </HTML>
用戶名及登錄密碼還有所要連接的數據庫可以根據實際的情況進行修改的,
既然jsp文件已經寫好了,那么如何將其加載到tomcat
對其進行運行測試呢?
應該是將該testjdbc.jsp文件放到tomca的
\webapps\ROOT\的下面,接下來在Internet Exploer中的地址欄中輸入:
http://localhost:8080/testjdbc.jsp
根據jsp腳本的編寫,如果成功的連接到的mysql的話,就會有:
成功連接數據庫!
這樣的提示信息。
如果連接數據庫失敗的話:
無法連接數據庫!
這樣的提示信息。
如果總是連接失敗的話,應該檢查一下是否需要下載個mysql-connector什么的。
6.小結
這次在搭建tomcat的過程中學習到了很多知識,
個人覺得XML文檔在開源項目中作為配置文檔真的占有很大的比重,
如果有時間的話會專門系統的學習XML的一些語法規則的。
而且hive中的數據庫的配置文件也是以XML寫的。
其實,這次試驗的目的是想要在本地搭建一個POJ平台的,
結果搭建后才知道,下載的POJ平台壓縮包僅僅是個OJ,
相應的題集並不包含在其中的,最后雖然是正常顯示了POJ的頁面,
但是tomcat報了很多的錯誤,就LZ目前的水平看不懂tomcat報的那些錯誤的,
然后也懶得去apache的官網上面去查一些相關的報錯信息,so....無奈的收工了。
LZ覺得吧......
POJ平台的搭建並不是很難,就是步驟比較的復雜,
而復雜的原因則是由於POJ平台系統中的許多環境變量是比較死板的,
沒有任何的根據本地機器自動適配的優化措施。
例如tomcat只能安裝在D:\盤的下面,
mysql也只能安裝在D:\盤的下面。並且默認的8080端口必須要更改為80端口,等等。
用了整整一天,但是已經接觸到了一直都想理解的tomcat了,還是很開心的。
下回還是專心AC吧,呵呵。