Eclipse JSP/Servlet


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

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

  • Eclipse J2EE:http://www .eclipse.org/downloads/

  • Tomcat:http://tomcat.apache.org/download-70.cgi


#Tomcat 下載安裝

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

232104286524890.png

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

232104410586765.png

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


  • bin:二進位執行檔。裡面最常用的檔案是

    startup.bat,如果是 Linux 或 Mac 系統啟動檔案為 startup.sh

  • conf:配置目錄。裡面最核心的檔案是

    server.xml。可以在裡面改連接埠號碼等。預設連接埠號碼是8080,也就是說,此連接埠號碼不能被其他應用程式佔用。

  • lib:函式庫檔案。 tomcat運行時需要的jar包所在的目錄

  • logs:日誌

  • #temp:暫時產生的文件,即快取

  • webapps:web的應用程式。

    web應用程式放置到此目錄下瀏覽器可以直接存取

  • work:編譯以後的class檔案。

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

232105392158264.png

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

接著我們在瀏覽器中輸入

http://localhost:8080/,如果彈出如下介面,表示tomcat安裝成功並且啟動起來了:

tomcat-index.jpg##我們現在在瀏覽器上測試一下它:

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

232106198557249.jpgtest.jsp 檔案程式碼如下:

<%@ page contentType="text/html;charset=UTF-8" %>
<%
out.print("php中文网 : http://www.php.cn");
%>

接著在瀏覽器中存取位址http://localhost:8080/test.jsp, 輸出結果如下:

test-jsp.jpg


將Tomcat 和Eclipse 相關聯

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

232111301681549.png

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

232111442933866.png

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

232112245587963.png

點擊"Finish" ,完成配置。

建立實例

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

232112541213100.png

302044303245040.png

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

8998BEC1-D622-4BD4-A9E6-8B18D2A5F29C.jpg

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

然後,按一下finish, 繼續:

232113121219000.png

232113256216676.png

工程檔案結構:

232113367466511.png

#上圖中各目錄解析:

  • 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>php中文网</title>
</head>
<body>
<%
	out.println("Hello World!");
%>
</body>
</html>

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

testjsp1.png

接著我們運行該項目:

runas.png

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

232120047932694.png

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

232120199803353.png

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

A72F19CD-4FEA-4AE3-8D91-43B34623EC37.jpg


Servlet 實例建立

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

sns.png

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

22D8CED0-F2DD-4554-BFBD-2B19D1685FB9.jpg

HelloServlet.java  程式碼如下圖:

package com.php.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("php中文网:http://www.php.cn");
	}

	/**
	 * @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);
	}

}

接著重新啟動Tomcat,瀏覽器存取http://localhost:8080/TomcatTest/HelloServlet#:

test-jsp.jpg

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