杰瑞科技汇

Java Web开发如何快速入门?

学习路径概览

  1. 第一步:准备环境 - 安装和配置开发所需的软件。
  2. 第二步:Java Web 基础 - 理解核心概念和三大组件。
  3. 第三步:动手实践 - Servlet & JSP - 编写你的第一个动态网页。
  4. 第四步:引入框架 - Spring Boot - 学习现代 Java Web 开发的标准。
  5. 第五步:进阶与拓展 - 学习数据库交互、前端集成等。
  6. 第六步:项目部署 - 将你的应用部署到服务器上。

第一步:准备开发环境

在开始之前,你需要安装以下几款核心软件:

  1. JDK (Java Development Kit): Java 的开发工具包,包含了编译和运行 Java 程序所需的一切,推荐使用 JDK 8JDK 11/17 (LTS版本)。

  2. IDE (Integrated Development Environment): 集成开发环境,能极大地提高你的编码效率,强烈推荐 IntelliJ IDEA

    • 社区版 (免费): 已经足够强大,完全满足 Java Web 开发需求。
    • 下载地址: JetBrains 官网
  3. 构建工具: 用于管理项目依赖、编译、打包等。Maven 是最主流的选择。

    • IntelliJ IDEA 通常会内置 Maven,无需单独安装,但建议你了解一下它的 pom.xml 文件。
  4. Web 服务器/容器: 用于运行和部署你的 Java Web 应用。

    • Tomcat: 最流行、最轻量级的 Web 服务器,非常适合学习和开发。
    • 下载地址: Tomcat 官网 (选择 Core 下的 zip 包即可)。

环境配置检查: 安装好 JDK 后,打开命令行工具,输入 java -versionjavac -version,如果能正确显示版本号,说明 JDK 配置成功。


第二步:Java Web 基础概念

在写代码之前,必须理解几个核心概念:

HTTP 协议

Web 应用是构建在 HTTP 协议之上的,你需要了解:

  • 请求: 浏览器向服务器发送数据,包含 请求方法 (GET, POST)、请求头请求体
  • 响应: 服务器向浏览器返回数据,包含 响应状态码 (200, 404, 500)、响应头响应体 (通常是 HTML, JSON, 图片等)。

三大核心组件 (传统模式)

早期的 Java Web 应用基于 Servlet 规范,主要有三个部分:

  • Servlet (小服务程序):

    • 作用: 运行在服务器端的 Java 类,用于接收和处理 HTTP 请求,并生成 HTTP 响应。
    • 你可以把它想象成一个“Java 版的 PHP”,但它更强大、更面向对象,一个 URL 可以映射到一个特定的 Servlet 来处理。
  • JSP (JavaServer Pages):

    • 作用: 一种在 HTML 页面中嵌入 Java 代码的技术。
    • 你可以把它想象成一个“混合了 Java 代码的 HTML 文件”,服务器会将其编译成 Servlet 来执行,JSP 主要负责展示数据(视图层)。
  • JDBC (Java Database Connectivity):

    • 作用: Java 访问数据库的 API。
    • 作用: 它提供了一套标准的接口,让你可以用 Java 代码连接任何关系型数据库(如 MySQL, Oracle),执行 SQL 查询,并处理结果。

MVC 设计模式

这是一个非常重要的设计思想,用于将代码分层,提高可维护性。

  • Model (模型): 数据和业务逻辑,负责从数据库获取数据,并进行计算和处理,通常是一个 Java 对象。
  • View (视图): 用户界面,负责展示数据,通常是 HTML 或 JSP 页面。
  • Controller (控制器): 调度中心,接收用户的 HTTP 请求,调用 Model 处理业务逻辑,然后选择一个 View 来响应。

流程: 用户请求 -> Controller -> Model -> Controller -> View -> 用户。


第三步:动手实践 - Servlet & JSP

这是理解 Java Web 工作原理的最佳方式。

目标: 创建一个简单的网页,输入用户名,点击提交后,在另一个页面显示 "Hello, [用户名]!"。

创建项目

在 IntelliJ IDEA 中,选择 File -> New -> Project,然后选择 Java Enterprise

  • 勾选 Web application
  • Application server 选择你配置好的 Tomcat。
  • 点击 Create。

IDEA 会为你创建一个标准的 Maven Web 项目结构,其中最重要的是:

  • src/main/java: 存放 Java 代码 (Servlet, Model)。
  • src/main/webapp: 存放 Web 资源 (JSP, HTML, CSS, JS)。
  • src/main/webapp/WEB-INF: 存放配置文件,其中的 web.xml 是 Web 应用的部署描述符。

编写 Servlet (Controller)

java 目录下创建一个 com.example.controller 包,然后创建一个 HelloServlet.java

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;
// @WebServlet 注解替代了 web.xml 的配置,更简单
@WebServlet("/hello")
public class HelloServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // 1. 获取请求参数 (从 JSP 页面传来的 username)
        String username = request.getParameter("username");
        // 2. 将数据存入 request 作用域,传递给 JSP
        request.setAttribute("message", "Hello, " + username + "!");
        // 3. 转发到 JSP 页面进行显示
        request.getRequestDispatcher("/welcome.jsp").forward(request, response);
    }
}

编写 JSP (View)

webapp 目录下创建 welcome.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>Welcome</title>
</head>
<body>
    <h1>${message}</h1>
    <p>这是从 Servlet 传递过来的消息。</p>
</body>
</html>

编写输入页面

webapp 目录下创建 index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">Input Page</title>
</head>
<body>
    <form action="hello" method="get">
        <label for="username">请输入您的名字:</label>
        <input type="text" id="username" name="username">
        <button type="submit">提交</button>
    </form>
</body>
</html>

运行和测试

  1. 确保你的 Tomcat 服务器在 IDEA 中配置正确。
  2. 点击右上角的绿色 "Run" 按钮。
  3. 浏览器会自动打开 http://localhost:8080/你的项目名/
  4. 在输入框中输入你的名字,点击提交,你会看到 welcome.jsp 页面显示欢迎信息。

恭喜!你已经完成了你的第一个 Java Web 应用! 通过这个例子,你应该清晰地理解了 HTTP 请求 -> Servlet 处理 -> 数据传递 -> JSP 展示 的完整流程。


第四步:引入框架 - Spring Boot

你会发现,直接使用 Servlet/JSP 开发非常繁琐:

  • 手动管理依赖 (pom.xml 配置很复杂)。
  • 手动配置 Web 服务器 (web.xml 配置)。
  • 没有依赖注入,代码耦合度高。

Spring Boot 就是为了解决这些问题而生的,它不是要取代 Servlet,而是基于 Servlet,通过“约定优于配置”和“自动配置”的理念,极大地简化了开发。

为什么是 Spring Boot?

  • 快速启动: 内嵌 Tomcat,无需单独安装和配置服务器。
  • 简化配置: 无需 web.xml,大量使用注解,配置极少。
  • 生态强大: 拥有庞大的社区和丰富的“Starter”依赖,开箱即用。
  • 现代标准: Java Web 开发的事实标准,是求职必备技能。

使用 Spring Boot 重写上面的例子

  1. 创建项目: 访问 start.spring.io

    • Project: Maven
    • Language: Java
    • Spring Boot: 选择一个稳定版本 (如 2.7.x 或 3.x.x)。
    • Project Metadata: 填写 Group, Artifact 等。
    • Dependencies: 添加 Spring WebThymeleaf (一个更现代的模板引擎,替代 JSP)。
    • 点击 "GENERATE" 下载项目压缩包,并用 IDEA 打开。
  2. 编写 Controller: 在 src/main/java 下创建 com.example.demo.controller.HelloController.java

    package com.example.demo.controller;
    import org.springframework.stereotype.Controller;
    import org.springframework.ui.Model;
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.RequestParam;
    @Controller // 声明这是一个控制器
    public class HelloController {
        // @GetMapping 注解映射 GET 请求到 "/hello"
        @GetMapping("/hello")
        public String hello(@RequestParam(name = "name", defaultValue = "World") String name, Model model) {
            // Spring 会自动创建一个 Model 对象
            // 你只需要调用 model.addAttribute() 将数据存入
            model.addAttribute("message", "Hello, " + name + "!");
            // 返回字符串 "welcome",Spring Boot 会自动寻找名为 "welcome.html" 的模板文件
            return "welcome";
        }
    }
  3. 编写模板 (View): 在 src/main/resources/templates 目录下创建 welcome.html (使用 Thymeleaf)。

    <!DOCTYPE html>
    <html lang="en" xmlns:th="http://www.thymeleaf.org">
    <head>
        <meta charset="UTF-8">
        <title>Welcome</title>
    </head>
    <body>
        <h1 th:text="${message}">Hello, World!</h1>
        <p>这是从 Spring Controller 传递过来的消息。</p>
    </body>
    </html>
  4. 运行测试: 直接运行 DemoApplication.java (主启动类),然后访问 http://localhost:8080/hello?name=YourName

对比一下

  • 代码更简洁,没有复杂的 XML 配置。
  • 依赖管理由 pom.xml 中的 spring-boot-starter-web 自动完成。
  • 服务器由 Spring Boot 自动启动和管理。

第五步:进阶与拓展

掌握了 Spring Boot 后,你可以学习以下内容来构建更完整的应用:

  1. 数据库交互 - Spring Data JPA / MyBatis

    • Spring Data JPA: 只需要定义接口,Spring 就能自动帮你实现 CRUD (增删改查) 操作,非常方便。
    • MyBatis: 更灵活的 SQL 映射框架,当需要写复杂 SQL 时非常有用。
  2. 前端集成

    • Thymeleaf: 如上所述,用于服务端渲染。
    • Vue.js / React: 现代前端框架,通常与 Spring Boot 一起构建前后端分离的应用,Spring Boot 提供后端 RESTful API,前端通过 HTTP 请求获取数据并用 JavaScript 渲染页面。
  3. 安全控制 - Spring Security

    用于处理用户认证(你是谁)和授权(你能做什么),比如登录、注册、权限控制等。

  4. 构建与打包

    • 学习使用 Maven 或 Gradle 将项目打包成一个可执行的 .jar 文件,方便部署。

第六步:项目部署

当你开发完成一个应用后,需要把它部署到服务器上,让其他人可以访问。

  • 传统部署: 将你的 .war 包放到 Tomcat 的 webapps 目录下,然后启动 Tomcat。
  • Spring Boot 部署: 将你的 .jar 包通过 java -jar your-app.jar 命令在服务器上直接运行。
  • 云服务器: 将应用部署到阿里云、腾讯云等云服务器上。
  • 容器化: 使用 Docker 将你的应用和其运行环境打包成一个镜像,然后部署到任何支持 Docker 的平台(如 Docker, Kubernetes),这是目前最主流的部署方式。

总结与建议

  1. 打好基础: 不要急于求成,先搞懂 HTTP、Servlet、JSP 和 MVC,这是理解上层框架的基石。
  2. 拥抱 Spring Boot: 学会 Servlet/JSP 后,立刻转向 Spring Boot,它能让你用更现代、更高效的方式开发,并且是业界标准。
  3. 动手实践: 看十遍教程不如自己写一遍,从最简单的 CRUD (增删改查) 项目开始,逐步增加功能。
  4. 学会调试: 学会使用 IDE 的断点调试功能,这是排查问题的最重要手段。
  5. 查阅官方文档: Spring Boot 的官方文档写得非常好,是学习的最佳参考资料。

Java Web 开发是一个持续学习的过程,但只要你按照这个路径扎实地走下去,就一定能成为一名合格的 Java Web 开发者,祝你学习顺利!

分享:
扫描分享到社交APP
上一篇
下一篇