Eclipse JSP/Servlet 環境搭建

Eclipse JSP/Servlet 環境搭建

本文假定你已安裝了 JDK 環境,如未安裝,可參閱 Java 開發環境配置 。

我們可以使用 Eclipse 來搭建 JSP 開發環境,首先我們分別下載一下軟體包:

  • Eclipse J2EE:http://www.eclipse.org/downloads/
  • Tomcat:http://tomcat.apache.org/download-70.cgi

Tomcat 下載安裝

你可以根據你的系統下載對應的包(以下以Window系統為例):

下載之後,將壓縮包解壓到D盤(你可以自己選擇):

注意目錄名不能有中文和空格。目錄介紹如下:

  • bin:二進位制執行檔案。裡面最常用的檔案是startup.bat,如果是 Linux 或 Mac 系統啟動檔案為 startup.sh
  • conf:配置目錄。裡面最核心的檔案是server.xml。可以在裡面改埠號等。預設埠號是8080,也就是說,此埠號不能被其他應用程式佔用。
  • lib:庫檔案。tomcat執行時需要的jar包所在的目錄
  • logs:日誌
  • temp:臨時產生的檔案,即快取
  • webapps:web的應用程式。web應用放置到此目錄下瀏覽器可以直接訪問
  • work:編譯以後的class檔案。

接著我們可以雙擊 startup.bat 啟動 Tomcat,彈出如下介面:

這個時候,本地的伺服器就已經搭建起來了。如果想關閉伺服器,可以直接關閉上面的視窗,或者在裡面輸入Ctrl+C禁止服務。

接著我們在瀏覽器中輸入 http://localhost:8080/,如果彈出如下介面,表示tomcat安裝成功並且啟動起來了:

我們現在在瀏覽器上測試一下它吧:

首先在D:\apache-tomcat-8.0.14\webapps\ROOT目錄中新建一個jsp檔案:

test.jsp 檔案程式碼如下:

<%@ page contentType="text/html;charset=UTF-8" %>
<%
out.print("入門教學 : http://www.itread01.com");
%> 

接著在瀏覽器中訪問地址 http://localhost:8080/test.jsp, 輸出結果如下:


將 Tomcat 和 Eclipse 相關聯

Eclipse J2EE下載後,解壓即可使用,我們開啟Java EE ,選擇選單欄Windows-->preferences(Mac 系統為 Eclipse-->偏好設定),彈出如下介面:

上圖中,點選"add"的新增按鈕,彈出如下介面:

在選項中,我們選擇對應的 Tomcat 版本,接著點選 "Next",選擇 Tomcat 的安裝目錄,並選擇我們安裝的 Java 環境:

點選 "Finish",完成配置。

建立例項

選擇 "File-->New-->Dynamic Web Project",建立 TomcatTest 專案:

點開上圖中的紅框部分,彈出如下介面:

注意如果已預設選擇了我們之前安裝的 Tomcat 和 JDK 則可跳過此步。

然後,單擊finish, 繼續:

工程檔案結構:

上圖中各個目錄解析:

  • deployment descriptor:部署的描述。
  • Web App Libraries:自己加的包可以放在裡面。
  • build:放入編譯之後的檔案。
  • WebContent:放進寫入的頁面。

在WebContent資料夾下新建一個test.jsp檔案。在下圖中可以看到它的預設程式碼:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>

</body>
</html>

接著我們修改下test.jsp檔案程式碼如下所示:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>入門教學</title>
</head>
<body>
<%
    out.println("Hello World!");
%>
</body>
</html>

程式執行之前,我們先修改一下瀏覽器選項:

接著我們執行該專案:

執行時,彈出如下錯誤:(如果沒有此錯誤,請忽略)

原因是,我們之前點選了Tomcat安裝包中的?startup.bat,這樣一來就手動打開了Tomcat伺服器,這明顯是多餘的,因為程式執行時,eclipse會自動開啟Tomcat伺服器。所以我們先手動關掉tomcat軟體,再次執行程式,就行了。控制檯資訊如下:

瀏覽器訪問 http://localhost:8080/TomcatTest/test.jsp, 即可輸出正常結果:


Servlet 例項建立

我們也可以使用以上環境建立 Servlet 檔案,選擇 "File-->New-->Servlet":

位於 TomcatTest專案的 /TomcatTest/src 目錄下建立 "HelloServlet" 類,包為 "com.itread01.test":

HelloServlet.java 程式碼如下所示:

package com.itread01.test;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class HelloServlet
 */
@WebServlet("/HelloServlet")
public class HelloServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public HelloServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // 使用 GBK 設定中文正常顯示
        response.setCharacterEncoding("GBK");
        response.getWriter().write("入門教學:http://www.itread01.com");
    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        doGet(request, response);
    }

}

建立 /TomcatTest/WebContent/WEB-INF/web.xml 檔案(如果沒有),程式碼如下所示:

<?xml version="1.0" encoding="UTF-8"?>  
<web-app version="2.5"   
    xmlns="http://java.sun.com/xml/ns/javaee"   
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   
    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">  
  <servlet>  
     <!-- 類名 -->  
    <servlet-name>HelloServlet</servlet-name>  
    <!-- 所在的包 -->  
    <servlet-class>com.itread01.test.HelloServlet</servlet-class>  
  </servlet>  
  <servlet-mapping>  
    <servlet-name>HelloServlet</servlet-name>  
    <!-- 訪問的網址 -->  
    <url-pattern>/TomcatTest/HelloServlet</url-pattern>  
    </servlet-mapping>  
</web-app>  

接著重啟 Tomcat,瀏覽器訪問 http://localhost:8080/TomcatTest/HelloServlet

參考文章:http://www.cnblogs.com/smyhvae/p/4046862.html