2014年3月31日 星期一

Windows server 架設 Tomcat

因為打工的需要,架設了Tomcat的環境,在這邊順手記錄一下,供日後參考囉~ :D

Server系統:Windows server 2008 R2
Tomcat版本: Tomcat 7.0

步驟
1.安裝JDK(Java Development Kit)
2.安裝Tomcat
3.設定環境變數
4.準備測試檔案
5.修改web.xml檔
6.測試
7.其他注意事項

=====================================================================
1.安裝JDK

  • 在Oracle官網取得適合系統版本的JDK。
    下載網址:http://www.oracle.com/technetwork/java/javase/downloads/index.html
  • 下載之後依照指示安裝即可。
  • 注意安裝時的路徑,之後安裝Tomcat時會用到。


2.安裝Tomcat



  • 在Apache官網取得適合的Tomcat,本範例使用Tomcat 7安裝版(32-bit/64-bit Windows Service Installer)。
    下載網址: http://tomcat.apache.org/download-70.cgi

  • 安裝Tomcat過程

Step 1

Step 2

Step 3
因為是Server用的,Service Startup可以打勾,如此每次打開Server就會自動開啟Tomcat。
此功能之後也可以從Tomcat設定中更改為手動。



Step 4
需注意HTTP為8080 Port。
設定管理者的帳號和密碼。

Step 5
此處需注意路徑必須對應到剛才安裝JDK的位置。

Step 6

Step 7
測試Tomcat是否安裝成功
在瀏覽器輸入: http://127.0.0.1:8080 或 http://localhost:8080,應該會看到此畫面。


3.設定環境變數
  • Path 加上JDK的路徑 C:\Program Files\Java\jdk1.7.0_51\bin
  • CLASSPATH 加上Servlet API 的路徑
    C:\Program Files\Apache Software Foundation\Tomcat 7.0\lib\servlet-api.jar
  • 若沒有CLASSPATH,則自行新增,並設定為:
    .;C:\Program Files\Apache Software Foundation\Tomcat 7.0\lib\servlet-api.jar
4.準備測試檔案

  • 參考下列程式碼編寫一個java檔並 Compile成class檔(Testservlet.class)以供測試。
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
public class Testservlet extends HttpServlet {
  public void service(HttpServletRequest req, HttpServletResponse res)
                                           throws ServletException, IOException {
    PrintWriter output;
    res.setContentType("text/html;charset=Big5");
    output = res.getWriter(); 
    StringBuffer buf = new StringBuffer();
    buf.append("<html><head><title>\n");
    buf.append("Test\n");
    buf.append("</title></head><body>\n");
    buf.append("<h1>測試!</h1>\n");
    buf.append("</body></html>\n");
    output.println(buf.toString());
    output.close();
  }
}

  • 在C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\ROOT\WEB-INF目錄下建立一個新資料夾classes,並將編譯好的class檔放進去。


5.修改web.xml檔

  • 編輯下列目錄中的web.xml檔
    C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\ROOT\WEB-INF

  • 在<web-app>……</web-app>之間加入下列幾行原始碼,url寫成php是為了增加安全性。
<servlet>
     <servlet-name>Test Servlet</servlet-name>
     <servlet-class>Testservlet</servlet-class>
</servlet>
<servlet-mapping>
     <servlet-name>Test Servlet</servlet-name>
     <url-pattern>/test.php</url-pattern>
</servlet-mapping>


6.測試

  • 在瀏覽器輸入 http://localhost:8080/test.php
  • 防火牆設定讓程式通過之後,在其它裝置輸入http://XXX.XXX.XXX.XXX:8080/test.php (XXX.XXX...為Server的IP)
  • 即可看見以下畫面。


7.其他注意事項

  • 防火牆
    要讓其他裝置連線到本機,防火牆需設定讓Tomcat7.exe通過。


  • 常見錯誤和參考解決方案
    (1) 編譯時出現”package javax.servlet does not exist….”訊息
    --找不到Servlet的API,通常是環境變數CLASSPATH設定錯誤。
    (2) 使用瀏覽器測試時出現”糟糕! Google 瀏覽器無法連線至127.0.0.1:8080”訊息
    --需重新啟動Tomcat
    (3) 使用瀏覽器測試時出現”HTTP Status 404 錯誤”
    --請先檢查網址列之路徑是否輸入錯誤。

常見錯誤


相關:Tomcat, Windows server, Servlet, JSP

沒有留言:

張貼留言