从现在进入 JavaWeb 网页开发 阶段,这是后端开发主流方向。 本节课带你搭建环境、手写第一个 Web 程序,实现浏览器访问 Java 代码。
前置准备:
- 安装 JDK 8/11(已配置环境变量)
- 下载并解压 Tomcat 9(主流稳定版本)
- IDE 推荐:IDEA / Eclipse,本文以通用代码 + 部署方式讲解
一、核心概念先了解
- JavaWeb:使用 Java 开发网页后端程序,处理浏览器请求、返回数据。
- Tomcat :免费的 Web 服务器,专门运行 Java Web 项目。
- Servlet:JavaWeb 最基础核心组件,用来接收浏览器请求、做出响应。
二、第一步:创建 Web 项目结构(标准目录)
手动创建文件夹(Web 项目固定规范),命名为 FirstWeb:
plaintext
FirstWeb
└── WEB-INF # 核心目录,浏览器无法直接访问
├── classes # 存放编译后的 class 字节码文件
└── lib # 存放依赖 jar 包
web.xml # 项目配置文件(WEB-INF 同级)
index.html # 静态页面(可选)
1. 导入依赖包
进入 Tomcat 安装目录 lib,复制两个 jar 包到项目 WEB-INF/lib:
servlet-api.jarjsp-api.jar作用:提供 Servlet 相关 API,否则代码会报错。
三、编写第一个 Servlet 代码
1. 编写 Servlet 类(Java 代码)
新建 Java 源文件 HelloServlet.java,代码如下:
java
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
/**
* 第一个 Servlet:处理浏览器请求,响应页面内容
* 继承 HttpServlet 是标准写法
*/
public class HelloServlet extends HttpServlet {
// 重写 doGet 方法:处理浏览器 GET 请求(地址栏直接访问就是GET)
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 1. 设置响应编码,防止中文乱码
response.setContentType("text/html;charset=UTF-8");
// 2. 获取输出流,向浏览器写内容
PrintWriter out = response.getWriter();
// 3. 拼接 HTML 内容,返回给浏览器
out.write("<html>");
out.write("<head><title>我的第一个JavaWeb程序</title></head>");
out.write("<body>");
out.write("<h1>Hello JavaWeb!</h1>");
out.write("<p>成功运行 Servlet 啦 🎉</p>");
out.write("</body>");
out.write("</html>");
// 关闭流
out.close();
}
}
2. 编译 Java 文件
打开命令行,进入 HelloServlet.java 所在目录,执行编译命令(指定依赖包路径):
bash
# 格式:javac -cp jar包路径 文件名.java
javac -cp "Tomcat安装目录/lib/*" HelloServlet.java
编译成功后会生成 HelloServlet.class,把该文件放入项目 WEB-INF/classes 下。
四、配置 web.xml(核心映射配置)
在项目根目录创建 web.xml,作用:把访问地址和 Servlet 类绑定。
xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">
<!-- 1. 注册 Servlet -->
<servlet>
<!-- 别名,自定义名称 -->
<servlet-name>HelloServlet</servlet-name>
<!-- Servlet 完整类名(包名+类名,无包名直接写类名) -->
<servlet-class>HelloServlet</servlet-class>
</servlet>
<!-- 2. 配置访问路径映射 -->
<servlet-mapping>
<servlet-name>HelloServlet</servlet-name>
<!-- 浏览器访问地址:项目名 + /hello -->
<url-pattern>/hello</url-pattern>
</servlet-mapping>
</web-app>
五、部署项目 & 启动 Tomcat
- 将整个
FirstWeb文件夹,复制到 Tomcat/webapps 目录下。 - 进入 Tomcat 的
bin目录:- Windows 双击
startup.bat - Linux/Mac 执行
startup.sh
- Windows 双击
- 看到控制台无报错,代表服务器启动成功。
六、浏览器访问测试
打开浏览器,输入地址:
plaintext
http://localhost:8080/FirstWeb/hello
页面效果
浏览器会展示:
plaintext
Hello JavaWeb!
成功运行 Servlet 啦 🎉
七、核心知识点讲解
1. HttpServlet 常用方法
doGet():处理 GET 请求(地址栏访问、超链接、表单 get 提交)doPost():处理 POST 请求(表单 post 提交,后面讲解)
2. 两大核心对象
- HttpServletRequest request :请求对象 接收浏览器发送过来的参数、请求头、地址等数据。
- HttpServletResponse response :响应对象 向浏览器返回文本、HTML、数据,设置编码、状态码。
3. 中文乱码解决方案
java
// 固定写法,放在方法第一行
response.setContentType("text/html;charset=UTF-8");
4. 访问地址规则
plaintext
http://服务器IP:端口/项目名/映射路径
默认端口:8080
本机IP:localhost / 127.0.0.1
八、补充:静态页面 index.html
在项目根目录新建 index.html,测试静态页面访问:
html预览
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>静态页面</title>
</head>
<body>
<h2>静态 HTML 页面</h2>
<a href="hello">点击访问 Servlet</a>
</body>
</html>
访问地址:http://localhost:8080/FirstWeb
九、记忆口诀
plaintext
Tomcat 是服务器,运行 Web 程序;
Servlet 处理请求,doGet 接收GET;
request 拿请求,response 做响应;
xml 配映射,地址访问全打通!