# Eclipse JSP/Servlet 環境搭建
本文假定你已安裝了 JDK 環境,如未安裝,可參閱[Java 開發環境配置](http://cms.yiniuedu.com/javastudy/2394094)。
我們可以使用 Eclipse 來搭建 JSP 開發環境,首先我們分別下載一下軟件包:
* **Eclipse J2EE:**[http://www.eclipse.org/downloads/](http://www.eclipse.org/downloads/)
* **Tomcat:**[http://tomcat.apache.org](https://tomcat.apache.org)
* * *
## 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://cms.yiniuedu.com");
%>
~~~
接著在瀏覽器中訪問地址**http://localhost:8080/test.jsp**, 輸出結果如下:
你好 : http://cms.yiniuedu.com
* * *
## 將 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**, 即可輸出正常結果:
標題是:你好
網頁內容是:Hello World!
* * *
## Servlet 實例創建
我們也可以使用以上環境創建 Servlet 文件,選擇 "File-->New-->Servlet":

位于 TomcatTest項目的 /TomcatTest/src 目錄下創建 "HelloServlet" 類,包為 "com.yiniuedu.test":

HelloServlet.java 代碼如下所示:
~~~
package com.yiniuedu.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://cms.yiniuedu.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.yiniuedu.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://cms.yiniuedu.com
- Java Web項目開發學習手冊
- 一、B/S開發環境搭建
- 1.1 tomcat服務器目錄結構及作用
- 1.2 在IDE開發工具上配置tomcat服務器
- 1.3 簡單web項目在tomcat服務器上運行的方法
- 1.4 開發工具設置
- 1.5 總結
- 二、Servlet技術應用
- 2.1 HttpServlet中的主要方法及應用
- 2.1.1 基于Eclipse完成一個JavaWeb項目
- 2.2 HttpRequest,HttpResponse的應用
- 2.2.1客戶端請求
- 2.2.2服務器響應
- 2.2.3Servlet HTTP 狀態碼
- 2.2.4圖片驗證碼類
- 2.2.5注冊模擬實現(帶驗證碼)
- 2.3 ServletConfig對象和ServletContext對象的概念
- 2.4 總結
- 三、JSP技術應用
- 3.1 JSP基本語法
- 3.2 JSP標簽和指令
- 3.3 JSP中的隱式對象
- 3.4 常用應用操作
- 3.4.1 JSP客戶端請求
- 3.4.2 JSP服務器響應
- 3.4.3 HTTP狀態碼
- 3.4.4 表單處理
- 3.4.5 過濾器
- 3.4.6 Cookie處理
- 3.4.7 Session處理
- 3.4.8 文件上傳
- 3.4.9 日期處理
- 3.4.10 頁面重定向
- 3.4.11 點擊量統計
- 3.4.12 自動刷新
- 3.4.13 發送郵件
- 3.5 JSP高級應用
- 3.5.1 JSP標準標簽庫(JSTL)
- 3.5.2 JSP連接數據庫
- 3.5.3 JSP XML數據處理
- 3.5.4 JSP JavaBean
- 3.5.5 自定義標簽
- 3.5.6 表達式語言
- 3.5.7 異常處理
- 3.5.8 調試
- 3.5.9 JSP國際化
- 3.6 實踐代碼
- 3.6.1 實踐代碼
- 3.6.2 項目實戰
- 3.7 總結
- 四、MVC思想的理解和搭建MVC
- 4.1 MVC設計模式的思想
- 4.2 MVC設計模式的實現步驟
- 4.3 項目實踐
- 4.4 總結
- 五、EL表達式和JSTL技術
- 5.1 EL表達式及其應用
- 5.2 常用的JSTL標簽的應用
- 5.3 項目實踐
- 5.4 總結
- 六、Cookie和Session
- 6.1 cookie對象的概念和應用
- 6.2 session對象的概念和應用
- 6.3 項目實踐
- 6.4 總結
- 七、過濾器技術應用
- 7.1 Filter的概念及應用
- 7.2 Filter、FilterChain、FilterConfig 介紹
- 7.3 用戶登錄過濾案例
- 7.4 項目實戰
- 7.5總結
- 八、異步請求技術
- 8.1 JSON數據格式
- 8.2 使用AJAX實現異步請求
- 8.3 用戶名校驗案例
- 8.4小結
- 綜合項目技術實訓
- 1.BS項目開發項目實戰
- 2.項目需求分析和系統設計
- 2.1需求分析
- 2.2類型模型設計
- 2.3原型設計
- 3.項目數據庫分析和系統設計
- 4.BS項目編程實現
- 4.1搭建框架和命名規約
- 4.2實現步驟
- 4.2.1創建實體類
- 4.2.2創建過濾器類
- 4.2.3創建工具類
- 4.2.4創建DAO接口及其實現類
- 4.2.5創建Service接口及其實現類
- 4.2.6創建測試類
- 4.2.7創建控制器類
- 5.企業開發流程規范
- 6.總結
- 九、練習題及答案
- 企業開發常用技術
- 1.Maven技術
- Java命名規范解讀
- 參考資料
- 開發中常用的應用服務器和Web服務器