Maven + Servlet + JSP。
第一步:准备工作
在开始之前,请确保你已经安装并配置好了以下软件:
- JDK (Java Development Kit): Java 开发工具包,建议使用 JDK 8 或更高版本。
- IntelliJ IDEA: 社区版(Community Edition)完全足够开发 Java Web 项目,专业版功能更多,但社区版已满足所有基本需求。
- Tomcat: 一个流行的 Web 应用服务器,用于运行我们的 Web 项目,你可以从 Tomcat 官网 下载。
第二步:创建新项目
-
打开 IntelliJ IDEA,点击 File -> New -> Project...。
-
在弹出的窗口中,进行如下配置:
- 左侧选择
New Project。 - Project name: 为你的项目起一个名字,
my-first-webapp。 - Location: 选择项目存放的路径。
- Add sample code: 不要勾选,因为我们选择的是
Java Enterprise,它会自带一个示例,但我们想从头开始构建。 - Project type: 选择
Java Enterprise。 - SDK: 选择你已安装的 JDK,如果没显示,点击
New...添加你的 JDK 路径。 - Application server: 点击下拉框,选择
Tomcat Server->Local,然后点击旁边的Configure...。
- 左侧选择
-
配置 Tomcat 服务器:
- 在弹出的 Tomcat 服务器配置窗口中,点击
Configure...(或者如果你的 Tomcat 还没配置,点击 号 ->Tomcat Server->Local)。 - 选择你下载并解压好的 Tomcat 目录。
- 点击
OK保存配置。
- 在弹出的 Tomcat 服务器配置窗口中,点击
-
选择框架和技术:
- 回到新建项目的主窗口,勾选
Web应用程序模板,这会自动为你创建webapp、WEB-INF等标准 Web 目录结构。 - 在右侧的
Additional Libraries and Frameworks部分,确保勾选了Maven。 Create project from template: 勾选它,这会生成一个标准的web.xml文件(Servlet 3.1 规范),对于初学者来说,有web.xml更容易理解。- 点击
Create按钮。
- 回到新建项目的主窗口,勾选
IDEA 会自动为你创建项目结构,并下载 Maven 依赖,这可能需要一点时间。
第三步:理解项目结构
创建完成后,你会在左侧的 Project 窗口看到类似下面的结构:
my-first-webapp/
├── src/
│ ├── main/
│ │ ├── java/ # 存放你的 Java 源代码(如 Servlet 类)
│ │ ├── resources/ # 存放配置文件(如 `log4j.xml`, `db.properties`)
│ │ └── webapp/ # 存放所有 Web 相关的内容
│ │ ├── WEB-INF/ # 存放敏感或私有的配置文件
│ │ │ └── web.xml # Web 应用部署描述符(核心配置文件)
│ │ └── index.html # 默认首页(可选)
│ └── test/
│ └── java/ # 存放测试代码
└── pom.xml # Maven 项目对象模型,管理项目依赖
第四步:编写代码
现在我们来创建一个简单的 "Hello, World!" Servlet。
-
创建 Servlet 类:
- 在
src/main/java目录上右键,选择New -> Servlet。 - 在弹出的窗口中:
- Package: 输入你的包名,
com.example.controller。 - Class name: 输入 Servlet 的名字,
HelloServlet。 - 模板: 保持默认即可。
- Package: 输入你的包名,
- 点击
OK。
- 在
-
编写 Servlet 逻辑: IDEA 会自动生成
HelloServlet.java文件,修改其doGet方法,添加如下代码:package com.example.controller; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; @WebServlet("/hello") // 这个注解将 URL "/hello" 映射到这个 Servlet public class HelloServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 设置响应内容类型为 HTML response.setContentType("text/html;charset=UTF-8"); // 获取一个输出流,用于向客户端发送响应 PrintWriter out = response.getWriter(); out.println("<html>"); out.println("<head><title>Hello Servlet</title></head>"); out.println("<body>"); out.println("<h1>你好,世界!</h1>"); out.println("<p>这是我的第一个 Java Web 程序!</p>"); out.println("</body>"); out.println("</html>"); } }@WebServlet("/hello"): 这是一个现代的 Servlet 注解,它告诉 Tomcat 当访问/hello这个 URL 时,由HelloServlet来处理,这比在web.xml中手动配置要方便得多。
-
创建 JSP 页面 (可选): 为了展示更典型的 Web 开发,我们再创建一个 JSP 页面。
- 在
src/main/webapp目录上右键,选择New -> JSP/JSPX。 - File name: 输入
index.jsp。 - 点击
OK。
在
index.jsp中写入以下内容:<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>首页</title> </head> <body> <h1>欢迎来到我的网站首页!</h1> <p>点击下面的链接访问 Servlet:</p> <a href="hello">点击这里</a> </body> </html> - 在
第五步:配置和运行项目
-
配置 Artifacts (部署描述): Artifacts 告诉 IDEA 如何将你的项目代码打包成一个 WAR (Web Application Archive) 文件,并部署到 Tomcat。
- 点击顶部菜单栏的 File -> Project Structure...。
- 在左侧选择
Artifacts。 - 点击中间的 号,选择
Web -> Web Application: Exploded。 - 在右侧的
Output Directory中,确保路径指向你配置的 Tomcat 的work\Catalina\localhost\你的项目名目录下的exploded文件夹,IDEA 通常会自动检测并填充。 - 你也可以在下方的
Available Libraries中将Maven: javax.servlet:javax.servlet-api:4.0.1添加到右侧,这样 Tomcat 运行时就能找到 Servlet API。 - 点击
OK保存。
-
运行项目:
- 确保你右上角的运行/调试配置是
Tomcat Server -> Local。 - 点击绿色的
Run 'Tomcat'按钮 (或者按Shift + F10)。
IDEA 会启动 Tomcat 服务器,并将你的项目部署上去,在底部的
Run窗口中,你会看到 Tomcat 启动的日志。 - 确保你右上角的运行/调试配置是
-
访问项目:
- Tomcat 启动后,IDEA 会自动在浏览器中打开默认地址,通常是
http://localhost:8080/my-first-webapp/。 - 你会看到
index.jsp的内容。 - 点击 "点击这里" 链接,浏览器地址会变成
http://localhost:8080/my-first-webapp/hello,页面会显示 "你好,世界!"。
- Tomcat 启动后,IDEA 会自动在浏览器中打开默认地址,通常是
总结与常见问题
- 端口被占用? Tomcat 启动失败,提示端口 8080 被占用,你可以在
Run/Debug Configurations中修改 Tomcat 的 HTTP 端口。 - 找不到
javax.servlet? 确保pom.xml文件中包含了servlet-api的依赖,对于较新的 Tomcat,你可能需要显式添加它,否则在编译时可能会报错。<dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>4.0.1</version> <scope>provided</scope> <!-- Tomcat 已经提供了,scope 是 provided --> </dependency> - 如何更新部署? 修改了 Java 代码或 JSP 文件后,Tomcat 通常会自动热部署(重新加载),如果没有,可以点击 IDEA 界面右上角的 Tomcat 图标,选择
Reload。
恭喜你!你已经成功地在 IntelliJ IDEA 中创建并运行了你的第一个 Java Web 项目,这为你学习更高级的 Web 框架(如 Spring Boot)打下了坚实的基础。
