文章目录
1. 什么是 JavaWeb?
JavaWeb 是指使用 Java 技术开发在 Web 服务器/容器 上运行的应用程序,通常由浏览器请求、服务器响应构成。
JavaWeb 基本架构:
浏览器(前端) ↔ HTTP 协议 ↔ Web服务器(如 Tomcat) ↔ Servlet(后端 Java 类) ↔ 数据库等
组成模块:
模块 | 说明 |
---|---|
客户端 | 浏览器或前端应用,向服务器发送请求 |
Web服务器 | 接收 HTTP 请求并将其分发至 Java 组件(如Servlet)处理 |
Servlet容器 | 处理 Java 的业务逻辑(如登录验证、数据处理) |
数据持久层 | 数据库或文件系统,用于数据的存储与读取 |
2. HTTP 协议与请求响应流程
2.1 HTTP 概述:
- 一种无状态的应用层协议
- 使用请求-响应机制,客户端通过 HTTP 请求服务器,服务器响应数据
2.2 请求响应流程:
浏览器输入 URL →
发送 HTTP 请求 →
Tomcat 解析请求 →
Servlet 执行业务逻辑 →
响应 HTML/JSON →
浏览器展示内容
2.3 常见 HTTP 方法:
方法 | 含义 |
---|---|
GET | 请求资源(读取) |
POST | 提交数据(如表单) |
PUT | 更新资源 |
DELETE | 删除资源 |
3. 开发环境搭建
我之前学习java时已经安装了IDEA社区版,版本为2024.3.4.1,以下内容仅是在已有的IDEA基础上进行环境搭建,如果还未安装IDEA,可前往官网进行下载IDEA官网
3.1 安装 Tomcat
官方下载:链接
推荐版本:Tomcat 9.x
下载类型:选择 .zip(Windows)或 .tar.gz(Linux/macOS)
3.1.1 我的是win11 64位版,选择下载如图:
3.1.2 解压 Tomcat
- 解压至合适目录,例如:
D:\Java\apache-tomcat-9.0.85
3.1.3 测试 Tomcat 是否可用
- 双击 bin/startup.bat(Windows)或运行 ./startup.sh(Linux/macOS)
- 浏览器访问:http://localhost:8080
- 出现 Tomcat 欢迎页即表示启动成功
双击打开后显示如图:
不关闭此运行框,使用浏览器访问:http://localhost:8080
如果显示如下界面,则Tomcat 可用
3.2 创建 JavaWeb 项目(IDEA 示例)
3.2.1 新建 Maven 项目
- 打开 IDEA → New Project → 选择 Maven
- 填写项目信息:
GroupId: com.example
ArtifactId: javaweb-demo
Project Name: javaweb-demo - 点击Create
- 操作步骤如下图:
3.2.2 创建项目结构
在项目根目录下创建如下目录结构(右键 → New → Directory):
src/
├── main/
│ ├── java/
│ ├── resources/
│ └── webapp/
│ └── index.jsp
- webapp 是 Web 应用的入口目录,后续部署时 Tomcat 会识别这个目录。
选择 Directory后在弹出的框中输入webapp后回车
3.2.3 添加 Maven 配置文件 pom.xml
将 pom.xml 修改为如下内容,添加 servlet 依赖:
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>javaweb-demo</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<finalName>javaweb-demo</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.2.3</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
</plugins>
</build>
</project>
* 直接复制粘贴覆盖原pom.xml 代码即可,覆盖完后点击右边刷新按钮进行刷新
3.2.4 添加 JSP 页面(Hello JavaWeb)
创建 src/main/webapp/index.jsp:
填写内容到 index.jsp(粘贴以下代码):
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Hello JavaWeb</title>
</head>
<body>
<h1>Hello JavaWeb!</h1>
</body>
</html>
4. 部署到 Tomcat(外部)
【步骤 1】打包项目
在 IDEA终端 中执行:
mvn clean package
这里需要时间,等待即可,大概5分钟左右,完成后会有BUILD SUCCESSFULLY字样
成功后会生成 .war 文件,在:
target/javaweb-demo.war
找到该目录,将 .war 文件复制到你 Tomcat 目录的webapps/
- 然后运行startup.bat文件(一开始的那个)
最后打开浏览器,访问:
http://localhost:8080/javaweb-demo/
如果你看到你写的 index.jsp 页面(如 Hello JavaWeb!),就说明部署成功!
恭喜你,做到这一步的话你已经成功完成了Tomcat 自动解压部署,接下来可根据我后续的学习计划一步步来学习javaweb。