2016年6月4日 星期六

Apache Tomcat 環境建置

‧ 前言:
Apache Tomcat 是 Apache 軟體基金會下之 Jakarta 項目專案所開發出來的免費開源軟體,內含有 HTTP 伺服器,因此也可以被視作為一個單獨的網頁伺服器;另外主要特色為支援 Java Servlet 及 JavaServer Page (JSP),並且透過 XML 格式之設定檔來管理及控制網頁路徑。

##ReadMore##
---
Step 0. 安裝 Java JDK
可以參考本站文章「設定指令優先權(Java 安裝為例)」,本例使用版本:
~$ java -version

java version "1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_45-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)

---
Step 1. 下載檔案
官方下載 Apache Tomcat,
本文使用版本為 apache-tomcat-8.0.30-src.tar.gz

---
Step 2. 解壓縮
於 Linux 系統環境下,通常習慣將第三方協力軟體放置到 “/opt“ 目錄下(需 ROOT)。
~$ sudo tar xfva apache-tomcat-8.0.30-src.tar.gz -C /opt

---
Step 3. 啟動 apache-tomcat 服務
至解壓縮目錄內之 “bin“ 目錄下執行運作服務 Shell Scrip 檔。
~$sudo sh /opt/apache-tomcat-8.0.30/bin/startup.sh

---
Step 4. 測試網頁
開啟瀏覽器鍵入網址 “http://localhost:8080/“,若有正確啟動服務會看到下圖畫面:

---
Step 5. 建立專案
使用 Apache Tomcat 必須遵守其檔案目錄配置的規範,
以路徑 /opt/apache-tomcat-8.0.30/webapps 做為網頁之根目錄 (Root) 開始建立專案目錄。


---
Step 6. 寫 JSP 測試:/opt/apache-tomcat-8.0.30/webapps/Test/hello.jsp
<%@ page contentType="text/html;charset=UTF-8" %>                               
<html>
<head>
    <title>Hello</title><br>
</head>
<body>
    <h3>Input Name</h3>
    <form action="/TestApp/Hello" method="get">
        請輸入姓名:
        <input type="text" name="UserID" />
        <input type="submit" value="Send" />
    </form>
</body>
</html>

---
Step 7-1. 寫 Servlet 測試:/opt/apache-tomcat-8.0.30/webapps/Test/WEB-INF/src/HelloServlet.java
import java.io.*;                                                            
import javax.servlet.*;
import javax.servlet.http.*;

public class HelloServlet extends HttpServlet {
    public void doGet(HttpServletRequest request, HttpServletResponse response)
                    throws ServletException, IOException {
        // 下面兩行讓中文字能正確顯示
        response.setContentType("text/html;charset=UTF-8");
        request.setCharacterEncoding("UTF-8");

        PrintWriter out = response.getWriter();
        out.println("<HTML>");
        out.println("<BODY>");
        out.println("<p>Hello! 這是我的第一支 Java servlet 程式。</p>");
        out.println("</BODY>");
        out.println("</HTML>");
  }
}

Step 7-2. 以指令編譯成 .class 檔:/opt/apache-tomcat-8.0.30/webapps/Test/WEB-INF/classes/HelloServlet.class
cd /opt/apache-tomcat-8.0.30/webapps/Test/WEB-INF/src
javac *.java -d ../classes/

Step 7-3. 設定 web.xml:/opt/apache-tomcat-8.0.30/webapps/Test/WEB-INF/web.xml
<servlet>
   <servlet-name>HelloServlet</servlet-name>
   <servlet-class>HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
   <servlet-name>HelloServlet</servlet-name>
   <url-pattern>/HelloServlet</url-pattern>
</servlet-mapping>

---
Step 8-1. 測試 jsp 網址:
http://localhost:8080/Test/hello.jsp

Step 8-2. 測試 servlet 網址:
http://localhost:8080/Test/hello

沒有留言:

張貼留言