目录
- 第一部分:环境准备
- 1 安装 JDK
- 2 安装 Eclipse IDE for Enterprise Java and Web Developers
- 3 安装 Tomcat 服务器
- 第二部分:在 Eclipse 中配置 Tomcat
- 1 下载并添加 Tomcat 服务器到 Eclipse
- 2 验证 Tomcat 配置
- 第三部分:创建第一个 Java Web 项目
- 1 新建 Dynamic Web Project
- 2 项目结构解析
- 第四部分:编写和运行你的第一个 Web 应用
- 1 编写 Servlet
- 2 配置 Web 部署描述符 (
web.xml) - 3 运行和测试项目
- 第五部分:进阶开发
- 1 使用 JSP 和 JSTL
- 2 添加外部依赖 (使用 Maven)
- 3 调试 Web 应用
- 第六部分:项目部署
- 1 导出 WAR 文件
- 2 部署到外部 Tomcat
- 常见问题与解决方案
第一部分:环境准备
在开始之前,你需要确保你的电脑上安装了以下三样东西。

1 安装 JDK (Java Development Kit)
Java Web 应用运行在 Java 虚拟机上,JDK 是必需的。
- 下载:访问 Oracle 官网 或 OpenJDK 官网 下载适合你操作系统的 JDK 版本(推荐 JDK 8, 11, 17 或 21 LTS 版本)。
- 安装:运行安装程序,按照提示一步步完成。记住安装路径,
C:\Program Files\Java\jdk-17。 - 配置环境变量:
- 新建系统变量
JAVA_HOME,值为你的 JDK 安装路径。 - 编辑系统变量
Path,添加%JAVA_HOME%\bin。 - 打开一个新的命令行窗口,输入
java -version和javac -version,如果显示出版本信息,则说明安装成功。
- 新建系统变量
2 安装 Eclipse IDE
你需要安装专门用于 Web 开发的 Eclipse 版本。
- 下载:访问 Eclipse 官网,下载 "Eclipse IDE for Enterprise Java and Web Developers"(企业 Java 和 Web 开发者版),这个版本已经内置了 Web 开发所需的各种插件。
- 安装:将下载的压缩包解压到你想要的目录即可,无需安装。
3 安装 Tomcat 服务器
Tomcat 是一个开源的 Servlet 容器,用于运行 Java Web 应用。
- 下载:访问 Tomcat 官网 下载 Tomcat 9 或 10 版本(选择 "Core" 下的 "zip" 或 "tar.gz" 包)。
- 安装:同样,解压到你想要的目录即可,
C:\apache-tomcat-9.0.85,这个目录就是你的CATALINA_HOME。
第二部分:在 Eclipse 中配置 Tomcat
你需要告诉 Eclipse 你的 Tomcat 安装在哪里。

- 打开 Eclipse,点击顶部菜单栏的
Window->Preferences(在 macOS 上是Eclipse->Preferences)。 - 在弹出的窗口中,导航到
Server->Runtime Environments。 - 点击右侧的
Add...按钮。 - 在弹出的窗口中,选择你下载的 Tomcat 版本("Apache Tomcat v9.0"),然后点击
Next。 - 在 "Tomcat installation directory" 一栏,点击
Browse...,选择你之前解压的 Tomcat 目录(C:\apache-tomcat-9.0.85)。 - JRE 通常会自动检测,如果没有,手动选择你安装的 JDK。
- 点击
Finish。 - 回到
Preferences窗口,点击Apply and Close。
第三部分:创建第一个 Java Web 项目
现在环境都准备好了,可以创建项目了。
- 在 Eclipse 中,点击
File->New->Dynamic Web Project。 - 输入项目名称:
HelloWebApp。 - 选择目标运行时:在 "Target runtime" 下拉菜单中,选择你刚刚配置好的 Tomcat 版本,如果看不到,点击
New...按钮进行配置。 - 配置项目配置:
- Configuration:可以选择 "Java EE 7 Web Profile" 或更高版本,这会帮你自动生成一些标准的目录结构和
web.xml文件。 - Content directory:默认是
WebContent,这是存放 JSP、HTML、CSS、JS 等前端资源的地方。
- Configuration:可以选择 "Java EE 7 Web Profile" 或更高版本,这会帮你自动生成一些标准的目录结构和
- 点击
Finish。
项目创建成功后,你会看到类似下面这样的结构:
项目结构解析:
src/main/java:存放 Java 源代码(如果你的项目是 Maven 或 Gradle 结构)。src/main/resources:存放配置文件(如log4j.xml,db.properties)。WebContent:核心目录,存放所有 Web 资源。WEB-INF:安全目录,里面的内容不能被浏览器直接访问。lib:存放项目依赖的 JAR 包。web.xml:Web 部署描述符,用于配置 Servlet、Filter、Listener 等。
index.jsp:默认的首页文件。
第四部分:编写和运行你的第一个 Web 应用
我们将创建一个简单的 Servlet,当访问 /hello 路径时,它会返回 "Hello from Eclipse!"。

1 编写 Servlet
- 在
src目录(或src/main/java)上右键,New->Package,创建一个包,com.example.controller。 - 在新创建的包上右键,
New->Servlet。 - 输入类名,
HelloServlet。 - 点击
Next,Finish,Eclipse 会自动生成doGet和doPost方法。 - 在
doGet方法中添加以下代码:
package com.example.controller;
import java.io.IOException;
import java.io.PrintWriter;
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("/hello") // 使用注解来映射 URL,这比在 web.xml 中配置更方便
public class HelloServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 设置响应内容类型为 HTML
response.setContentType("text/html;charset=UTF-8");
// 获取输出流
PrintWriter out = response.getWriter();
// 向浏览器输出 HTML 内容
out.println("<html>");
out.println("<head><title>Hello Servlet</title></head>");
out.println("<body>");
out.println("<h1>Hello from Eclipse!</h1>");
out.println("<p>这是一个通过 Eclipse 创建的 Java Web 应用。</p>");
out.println("</body>");
out.println("</html>");
}
}
@WebServlet("/hello"):这是一个 Servlet 3.0+ 的注解,它告诉 Tomcat 当有请求访问/hello这个 URL 时,由这个HelloServlet来处理,这比在web.xml中手动配置要简单得多,如果你使用的是较旧的 Java EE 版本,或者更喜欢web.xml配置,可以去掉这个注解,然后在web.xml中添加配置。
2 配置 Web 部署描述符 (web.xml)
如果你使用了 @WebServlet 注解,web.xml 不是必须的,但了解一下它的格式是很有用的。
打开 WebContent/WEB-INF/web.xml,你可以看到类似这样的内容:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
id="WebApp_ID" version="4.0">
<display-name>HelloWebApp</display-name>
<!-- 如果不使用 @WebServlet 注解,可以在这里配置 Servlet -->
<servlet>
<servlet-name>helloServlet</servlet-name>
<servlet-class>com.example.controller.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>helloServlet</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
</web-app>
3 运行和测试项目
- 在 Eclipse 的 "Servers" 视图中(如果看不到,点击
Window->Show View->Servers),你应该能看到你配置的 Tomcat 服务器。 - 右键点击你的 Tomcat 服务器,选择
Add and Remove...。 - 在弹出的窗口中,将你的
HelloWebApp项目从 "Available" 添加到 "Configured" 列表,然后点击Finish。 - 再次右键点击 Tomcat 服务器,选择
Start,等待服务器启动完成,状态变为 "Started"。 - 在你的项目上(
HelloWebApp)右键,选择Run As->Run on Server。 - 在弹出的窗口中,选择你的 Tomcat 服务器,点击
Finish。 - Eclipse 会自动打开系统默认浏览器,并访问
http://localhost:8080/HelloWebApp/hello。
你应该能看到页面中显示 "Hello from Eclipse!"。
第五部分:进阶开发
1 使用 JSP 和 JSTL
Servlet 负责业务逻辑,JSP (JavaServer Pages) 负责展示。
- 在
WebContent目录下新建一个 JSP 文件:File->New->JSP File,命名为index.jsp。 - 修改
HelloServlet,让它将数据传递给 JSP。
// 在 HelloServlet 的 doGet 方法中
request.setAttribute("message", "这是从 Servlet 传递过来的消息");
request.getRequestDispatcher("/index.jsp").forward(request, response);
- 修改
index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">Home Page</title>
</head>
<body>
<h1>Welcome to JSP!</h1>
<p>${message}</p>
</body>
</html>
访问 /hello,你会看到 Servlet 转发过来的消息。
2 添加外部依赖 (使用 Maven)
现代 Java 开发离不开构建工具 Maven。
- 右键项目 ->
Configure->Convert to Maven Project。 - 项目会变成 Maven 结构,并生成
pom.xml文件。 - 在
pom.xml的<dependencies>标签中添加你需要的依赖,JSTL:
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
<scope>provided</scope>
</dependency>
添加依赖后,右键项目 Maven -> Update Project,Eclipse 会自动下载 JAR 包到你的 Maven Dependencies 中。
3 调试 Web 应用
调试是开发中至关重要的一环。
- 在你的 Java 代码(如
HelloServlet)的行号左侧双击,设置一个断点(一个蓝色圆点)。 - 以调试模式启动服务器:右键 Tomcat 服务器 ->
Debug As->Debug on Server。 - 当请求到达断点时,程序会暂停,你可以在 "Debug" 视图中查看变量值、单步执行代码等。
第六部分:项目部署
当你完成开发,需要将应用部署到生产环境的 Tomcat 服务器上时。
1 导出 WAR 文件
WAR (Web Application Archive) 是 Java Web 应用的标准打包格式。
- 右键你的项目 ->
Export。 - 选择
Web->WAR file,点击Next。 - 选择要导出的项目,并设置 WAR 文件的保存路径和文件名,点击
Finish。
2 部署到外部 Tomcat
- 将生成的
HelloWebApp.war文件复制到你外部 Tomcat 服务器的webapps目录下。 - 启动外部 Tomcat(运行
bin/startup.bat或startup.sh)。 - Tomcat 会自动解压 WAR 文件,然后你就可以通过浏览器访问
http://localhost:8080/HelloWebApp/hello了。
第七部分:常见问题与解决方案
-
问题:
java.lang.NoClassDefFoundError: javax/servlet/http/HttpServlet- 原因:项目中缺少 Servlet API 的 JAR 包。
- 解决:如果你使用的是 Maven,添加
javax.servlet:javax.servlet-api依赖,如果不是,手动下载 Servlet API 的 JAR 包并添加到项目的WEB-INF/lib目录中。
-
问题:HTTP Status 404 - /项目名/hello
- 原因:
- URL 输入错误。
- Servlet 的映射路径(
@WebServlet的值或web.xml中的<url-pattern>)与浏览器访问的路径不匹配。 - 项目没有成功部署到 Tomcat 中。
- 解决:仔细检查 URL 和配置,并确保在 "Servers" 视图中项目已添加到 Tomcat。
- 原因:
-
问题:Tomcat 控制台端口 8080 被占用。
- 原因:可能你已经启动了一个其他 Tomcat 实例,或者其他程序占用了 8080 端口。
- 解决:关闭其他程序或修改 Tomcat 的端口,修改
conf/server.xml文件,找到<Connector port="8088" ... />,将8088改成其他未被占用的端口,如8081。
-
问题:修改代码后,Tomcat 没有更新。
- 原因:Tomcat 默认不会自动重新加载应用。
- 解决:在 Tomcat 的
conf/context.xml中,找到<Context>标签,添加reloadable="true"属性,<Context reloadable="true">,但这会影响性能,开发时可用,生产环境禁用。
希望这份详细的指南能帮助你顺利地使用 Eclipse 开发 Java Web 应用!祝你编码愉快!
