本文假定你已安裝了 JDK 環(huán)境,如未安裝,可參閱 Java 開(kāi)發(fā)環(huán)境配置 。

我們可以使用 Eclipse 來(lái)搭建 JSP 開(kāi)發(fā)環(huán)境,首先我們分別下載一下軟件包:


Tomcat 下載安裝

你可以根據(jù)你的系統(tǒng)下載對(duì)應(yīng)的包(以下以Window系統(tǒng)為例):

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

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

  • bin:二進(jìn)制執(zhí)行文件。里面最常用的文件是startup.bat,如果是 Linux 或 Mac 系統(tǒng)啟動(dòng)文件為 startup.sh。
  • conf:配置目錄。里面最核心的文件是server.xml??梢栽诶锩娓亩丝谔?hào)等。默認(rèn)端口號(hào)是8080,也就是說(shuō),此端口號(hào)不能被其他應(yīng)用程序占用。
  • lib:庫(kù)文件。tomcat運(yùn)行時(shí)需要的jar包所在的目錄
  • logs:日志
  • temp:臨時(shí)產(chǎn)生的文件,即緩存
  • webapps:web的應(yīng)用程序。web應(yīng)用放置到此目錄下瀏覽器可以直接訪問(wèn)
  • work:編譯以后的class文件。

接著我們可以雙擊 startup.bat 啟動(dòng) Tomcat,彈出如下界面:

這個(gè)時(shí)候,本地的服務(wù)器就已經(jīng)搭建起來(lái)了。如果想關(guān)閉服務(wù)器,可以直接關(guān)閉上面的窗口,或者在里面輸入Ctrl+C禁止服務(wù)。

接著我們?cè)跒g覽器中輸入 http://localhost:8080/,如果彈出如下界面,表示tomcat安裝成功并且啟動(dòng)起來(lái)了:

我們現(xiàn)在在瀏覽器上測(cè)試一下它吧:

首先在D:\apache-tomcat-8.0.14\webapps\ROOT目錄中新建一個(gè)jsp文件:

test.jsp 文件代碼如下:

<%@ page contentType="text/html;charset=UTF-8" %>
<%
out.print("w3cschool教程 : http://eska-fuses.cn");
%> 

接著在瀏覽器中訪問(wèn)地址 http://localhost:8080/test.jsp, 輸出結(jié)果如下:



將 Tomcat 和 Eclipse 相關(guān)聯(lián)

Eclipse J2EE下載后,解壓即可使用,我們打開(kāi)Java EE ,選擇菜單欄Windows-->preferences(Mac 系統(tǒng)為 Eclipse-->偏好設(shè)置),彈出如下界面:

上圖中,點(diǎn)擊"add"的添加按鈕,彈出如下界面:

在選項(xiàng)中,我們選擇對(duì)應(yīng)的 Tomcat 版本,接著點(diǎn)擊 "Next",選擇 Tomcat 的安裝目錄,并選擇我們安裝的 Java 環(huán)境:

點(diǎn)擊 "Finish",完成配置。

創(chuàng)建實(shí)例

選擇 "File-->New-->Dynamic Web Project",創(chuàng)建 TomcatTest 項(xiàng)目:

點(diǎn)開(kāi)上圖中的紅框部分,彈出如下界面:

注意如果已默認(rèn)選擇了我們之前安裝的 Tomcat 和 JDK 則可跳過(guò)此步。

然后,單擊finish, 繼續(xù):

工程文件結(jié)構(gòu):

上圖中各個(gè)目錄解析:

  • deployment descriptor:部署的描述。
  • Web App Libraries:自己加的包可以放在里面。
  • build:放入編譯之后的文件。
  • WebContent:放進(jìn)寫(xiě)入的頁(yè)面。

在WebContent文件夾下新建一個(gè)test.jsp文件。在下圖中可以看到它的默認(rèn)代碼:

<%@ 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>w3cschool教程</title>
</head>
<body>
<%
    out.println("Hello World!");
%>
</body>
</html>

程序運(yùn)行之前,我們先修改一下瀏覽器選項(xiàng):

未標(biāo)題-1(1)

接著我們運(yùn)行該項(xiàng)目:

未標(biāo)題-1

運(yùn)行時(shí),彈出如下錯(cuò)誤:(如果沒(méi)有此錯(cuò)誤,請(qǐng)忽略)

原因是,我們之前點(diǎn)擊了Tomcat安裝包中的?startup.bat,這樣一來(lái)就手動(dòng)打開(kāi)了Tomcat服務(wù)器,這明顯是多余的,因?yàn)槌绦蜻\(yùn)行時(shí),eclipse會(huì)自動(dòng)開(kāi)啟Tomcat服務(wù)器。所以我們先手動(dòng)關(guān)掉tomcat軟件,再次運(yùn)行程序,就行了??刂婆_(tái)信息如下:

瀏覽器訪問(wèn) http://localhost:8080/TomcatTest/test.jsp, 即可輸出正常結(jié)果:



Servlet 實(shí)例創(chuàng)建

我們也可以使用以上環(huán)境創(chuàng)建 Servlet 文件,選擇 "File-->New-->Servlet":

位于 TomcatTest項(xiàng)目的 /TomcatTest/src 目錄下創(chuàng)建 "HelloServlet" 類,包為 "com.youj.test":

未標(biāo)題-2

HelloServlet.java 代碼如下所示:

package com.youj.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 設(shè)置中文正常顯示
		response.setCharacterEncoding("GBK");
		response.getWriter().write("w3cschool教程:http://eska-fuses.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,瀏覽器訪問(wèn) http://localhost:8080/TomcatTest/HelloServlet


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