Tomcat安裝的常見問題以及其第一個應用
1、Tomcat的下載安裝: 進入官網http://tomcat.apache.org/,即可下載其安裝包,不過安裝包太多,因為是新手,一直都是achieve去獲取,結果,彈出一個不能下載的介面,後面才曉得可以通過獲得core windows 32 位安裝包可以獲取(筆者是32位window7版本,媽蛋,系統檢測是64位的,結果剛開始下載是64位的,還好在startup.bat執行後,彈出來錯誤,後面下了一個32位的),選擇所需要的版本,獲取介面截圖,選擇 32位,帶zip安裝包名的;
8.0.33
Please see the
Binary Distributions
Core:
- zip (
- tar.gz (
- 32-bit Windows zip (pgp, md5, sha1)
- 64-bit Windows zip (pgp, md5, sha1)
- 32-bit/64-bit Windows Service Installer (pgp, md5, sha1)
2、Tomcat能夠在tomcat.exe啟動,卻無法在startup.bat啟動 : 這個問題我一直在做,花了基本一天的時間度娘,什麼都嘗試了,結果是庸人自擾,雖然是兩種方式啟動不同,但如果一個能啟動,另一個肯定能啟動,當使用startup.bat啟動時, tomcat.exe 的彈窗是不會由stoped改為started的 ,我是菜鳥,一直在tomcat.exe裡查閱是否已啟動tomcat ,其實不然, 一旦啟動,直接在網上輸入http://localhost/8080/查閱 是否已經啟動,不要以tomcat.exe的狀態判斷是否已然啟動,這個看做是tomcat的一個小bug吧 !
3、Tomcat啟動方式startup.bat開啟後,一閃而過:
http://jingyan.baidu.com/article/95c9d20da47c58ec4e756116.html
在最後一個新增PAUSE ,此時最主要的是檢視自己的錯誤在哪裡,查到了再去修改,至於我的...筆者 沒查到, 重新下包包,重新配置路徑...這就是新手的苦逼
4、修改Tomcat的登入賬號和密碼 ,此有點囉嗦,也是查閱的;
http://jingyan.baidu.com/article/fea4511a1c624ef7bb9125ec.html
5、安裝好Tomcat並檢測好後,接下來便是開始第一個專案了,專案之前,在webapps新建一個 myWebSite資料夾,在myWebSite資料夾下建立WEB-INF資料夾(不能錯,必須大寫),在WEB-INF資料夾下 建立classes(儲存類),lib(日誌),以及web.xml檔案(配置servlet資訊) ,但web.xml檔案內容必須先修改,開啟 webapps下的Root資料夾下的web.xml檔案,將其內容原原本本複製到 我們的 web.xml資料夾下,這樣你可以按照視訊寫程式了,最後再在web檔案配置servlet ,再執行;
這是我第一個運用的程式碼(Jcreator 編譯的,感覺不大舒服,不過剛開始打基礎,敲程式碼最好還是熟練點):
package com.Tsinghua;
import javax.servlet.*;
import java.io.*;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import java.io.IOException;
public class Hello implements Servlet{
public Hello() {
}
/**
@throws ServletException
該方法用於初始化該servlet,類似於類的構造方法
登入此servlet,該方法只會被呼叫一次,也僅僅只會呼叫一次
*
*/
public void init(ServletConfig parm1) throws ServletException {
// TODO: Add your code here
System.out.println("servlet have started");
}
public ServletConfig getServletConfig() {
// TODO: Add your code here
return null;
}
/**
* Method service
*
@throws ServletException
@throws IOException
*該方法用於處理業務邏輯,
*程式設計師應該把業務邏輯程式碼寫在這裡
*該方法會被呼叫多次,當用戶每訪問該servlet時,都會被呼叫
*req用於獲取客戶資訊
*res用於向客戶端(瀏覽器)返回資訊
*/
public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
// TODO: Add your code here
//從res中獲取PrintWriter
System.out.println("hello");
PrintWriter pw=res.getWriter();
pw.println("Hello");
}
public String getServletInfo() {
// TODO: Add your code here
return null;
}
/**
* Method destroy
*銷燬Servlet例項(釋放記憶體)
*有三種情況會被呼叫
*1、reload該servlet
*2、關閉Tomcat
*3、關機
*/
public void destroy() {
// TODO: Add your code here
System.out.println("destroy");
}
}