大家好~在上一篇前端博客里,我们聊了如何用 HTML 搭骨架、CSS 穿皮肤、JavaScript 让页面动起来。但一个完整的网站,光有前端还不够 —— 用户登录的信息存在哪?商品数据怎么存储?表单提交后谁来处理?这些 “看不见的工作”,全靠后端来完成。

        这篇博客就带大家入门后端核心知识,从 “服务器容器” Tomcat 到 “请求处理核心” Servlet,再到 “数据存储” JDBC 和 “会话管理” Cookie/Session,全是初学者必掌握的重点,每个知识点都配实操例子,跟着敲代码就能上手~

目录

一、先搞懂:后端是什么?我们要学什么?

二、服务器容器:Tomcat 的安装与配置

1. Tomcat 是什么?为什么需要它?

2. Tomcat 安装与目录结构

(1)下载与安装

(2)核心目录解析(重点记 3 个)

(3)常见配置:修改端口(解决 8080 被占用)

3. 在 MyEclipse 中集成 Tomcat(实操)

三、请求处理核心:Servlet 详解

1. Servlet 是什么?为什么需要它?

2. 第一个 Servlet:从创建到运行

(1)创建 Web 项目

(2)创建 Servlet 类

(3)配置 Servlet(让 Tomcat 找到它)

(4)部署并运行

3. Servlet 的核心概念:生命周期与请求处理

(1)Servlet 生命周期(重点!面试常考)

(2)request 和 response 对象(请求与响应的核心)

4. 常见错误排查(初学者必看)

四、HTTP 协议:理解请求与响应的 “规则”

1. HTTP 的核心特性(3 个重点)

2. HTTP 请求的格式(前端发给后端)

GET 和 POST 的区别(重点!面试必问)

3. HTTP 响应的格式(后端发给前端)

常见 HTTP 状态码(记住 3 个)

五、会话管理:Cookie 与 Session(解决 HTTP 无状态)

1. Cookie:存在客户端的 “小纸条”

(1)创建并发送 Cookie(后端代码)

(2)获取前端传来的 Cookie(后端代码)

(3)Cookie 的特点

2. Session:存在服务器的 “身份卡”

(1)创建并使用 Session(后端代码)

(2)获取 Session 中的数据(其他 Servlet 中)

(3)Session 的特点

3. Cookie 与 Session 的区别(总结)

六、JSP:简化后端页面生成

1. JSP 是什么?为什么说它是 Servlet?

一个简单的 JSP 页面(index.jsp)

2. JSP 的核心语法(3 个重点)

(1)脚本段(嵌入 Java 代码)

(2)表达式(输出变量或表达式结果)

(3)指令(配置 JSP 页面)

3. JSP 九大内置对象(不用创建直接用)

七、数据交互:JDBC 连接 MySQL 数据库

1. 准备工作:导入 MySQL 驱动包

2. JDBC 连接数据库的步骤(6 步)

关键参数说明

3. 常见操作:增删改查(CRUD)

(1)新增数据(INSERT)

(2)修改数据(UPDATE)

(3)删除数据(DELETE)

八、后端学习建议:从入门到实践


一、先搞懂:后端是什么?我们要学什么?

       后端,简单说就是服务器端的代码,负责处理前端发送的请求(比如登录、提交表单)、操作数据(比如存用户信息到数据库)、返回响应结果(比如 “登录成功” 或商品列表)。

初学者入门后端,核心要掌握 4 块内容:

  1. 服务器容器:比如 Tomcat,是运行后端代码的 “舞台”;
  2. 请求处理:用 Servlet/JSP 接收前端请求,处理业务逻辑;
  3. 会话管理:用 Cookie/Session 解决 HTTP 无状态的问题(比如记住登录状态);
  4. 数据交互:用 JDBC 连接数据库,实现数据的增删改查。

接下来我们一步步拆解这些知识点,从环境搭建到代码实操,全是 “保姆级” 教程~

二、服务器容器:Tomcat 的安装与配置

后端代码不能像前端一样直接用浏览器打开,需要一个 “容器” 来运行 ——Tomcat 就是最常用的 Java 后端服务器容器(支持 Servlet/JSP),初学者建议用 Tomcat 7(兼容性好,学习资料多)。

1. Tomcat 是什么?为什么需要它?

简单说,Tomcat 就像一个 “服务员”:

  • 前端发送请求(比如访问http://localhost:8080/login),Tomcat 接收请求;
  • 找到对应的后端代码(比如 LoginServlet),让代码执行;
  • 把代码的执行结果(比如 “登录成功”)返回给前端。

没有 Tomcat,你的 Servlet 代码根本跑不起来 —— 它是后端代码和浏览器之间的 “中间件”。

2. Tomcat 安装与目录结构

(1)下载与安装
  1. 官网下载:Apache Tomcat 7,选择对应系统的压缩包(Windows 选32-bit/64-bit Windows Service Installer);
  2. 安装时注意:端口默认 8080(如果被占用,后续可修改),JDK 路径要选对(Tomcat 需要依赖 JDK);
  3. 验证是否安装成功:双击bin/startup.bat启动 Tomcat,打开浏览器访问http://localhost:8080,能看到 Tomcat 默认页面就说明成功了。
(2)核心目录解析(重点记 3 个)
目录 作用 关键文件 / 操作
bin 启动 / 关闭 Tomcat 的脚本 startup.bat(启动)、shutdown.bat(关闭)
conf Tomcat 的配置文件 server.xml(改端口)、web.xml(全局配置)
webapps 存放你的后端项目 把项目放到这里,启动 Tomcat 就能访问
(3)常见配置:修改端口(解决 8080 被占用)

如果启动 Tomcat 时提示 “8080 端口被占用”,修改conf/server.xml

<!-- 找到这行,把port="8080"改成其他端口(比如8081) -->
<Connector port="8081" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443" />

改完后重启 Tomcat,访问http://localhost:8081即可。

3. 在 MyEclipse 中集成 Tomcat(实操)

后端开发常用 MyEclipse(或 Eclipse),集成 Tomcat 后能直接在 IDE 中启动项目,步骤如下:

  1. 打开 MyEclipse,点击Window > Preferences > MyEclipse > Servers > Tomcat > Tomcat 7.x
  2. 选择Enable,在Tomcat home directory中选择你的 Tomcat 安装路径;
  3. 点击Apply,集成完成。

之后创建 Web 项目时,就能直接选择这个 Tomcat 作为服务器啦~

三、请求处理核心:Servlet 详解

       Servlet 是 Java 后端的 “核心组件”,专门用来处理前端发送的 HTTP 请求(比如登录表单提交、商品查询)。简单说,前端是 “用户”,Servlet 就是 “服务员”—— 接收用户的 “需求”(请求),处理后给出 “答复”(响应)。

1. Servlet 是什么?为什么需要它?

举个例子:你在前端填写登录表单(用户名 + 密码),点击 “登录” 后,请求会发送到服务器。这时候就需要一个 Servlet 来处理:

  • 接收表单中的用户名和密码;
  • 验证用户名密码是否正确(比如和数据库中的数据对比);
  • 返回结果:正确就跳转到首页,错误就提示 “用户名或密码错误”。

没有 Servlet,服务器就不知道如何处理前端的请求 —— 它是后端处理业务逻辑的 “入口”。

2. 第一个 Servlet:从创建到运行

我们用 MyEclipse 创建一个简单的 Servlet,实现 “接收请求并返回 Hello” 的功能,步骤如下:

(1)创建 Web 项目
  1. 右键New > Web Project,项目名填FirstServlet,JDK 选 1.6/1.7,Java EE 版本选 Java EE 5;
  2. 项目创建后,目录结构如下(重点关注srcWebRoot/WEB-INF):
    • src:写 Java 代码(Servlet 就在这里);
    • WebRoot/WEB-INF:放配置文件(web.xml)和 jar 包(lib目录)。
(2)创建 Servlet 类
  1. 右键src > New > Servlet,Package 填com.test.servlet,Class name 填HelloServlet
  2. 点击Finish,MyEclipse 会自动生成 Servlet 代码,我们只需要重写service方法(处理请求的核心方法):
package com.test.servlet;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class HelloServlet extends HttpServlet {
    // 处理请求的核心方法:req是请求对象(获取前端传过来的数据),resp是响应对象(返回数据给前端)
    protected void service(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        // 1. 设置响应的编码格式(防止中文乱码)
        resp.setContentType("text/html;charset=utf-8");
        // 2. 获得输出流,向前端返回内容
        resp.getWriter().print("<h1>Hello Servlet!这是后端返回的内容</h1>");
        // 3. 打印日志(在控制台查看)
        System.out.println("收到前端请求,已返回Hello消息");
    }
}
(3)配置 Servlet(让 Tomcat 找到它)

Servlet 需要配置WebRoot/WEB-INF/web.xml,告诉 Tomcat “哪个请求对应哪个 Servlet”:

<web-app xmlns="http://java.sun.com/xml/ns/javaee" version="2.5">
    <!-- 1. 配置Servlet类 -->
    <servlet>
        <servlet-name>HelloServlet</servlet-name> <!-- 给Servlet起个名字 -->
        <servlet-class>com.test.servlet.HelloServlet</servlet-class> <!-- Servlet的完整路径 -->
    </servlet>
    
    <!-- 2. 配置请求路径(URL) -->
    <servlet-mapping>
        <servlet-name>HelloServlet</servlet-name> <!-- 和上面的名字一致 -->
        <url-pattern>/hello</url-pattern> <!-- 前端访问的路径:http://localhost:8081/FirstServlet/hello -->
    </servlet-mapping>
</web-app>
(4)部署并运行
  1. 右键项目Run As > MyEclipse Server Application,选择集成的 Tomcat 7;
  2. 启动成功后,打开浏览器访问:http://localhost:8081/FirstServlet/hello(注意端口和项目名要和你的配置一致);
  3. 页面显示<h1>Hello Servlet!这是后端返回的内容</h1>,控制台打印 “收到前端请求,已返回 Hello 消息”,说明 Servlet 运行成功!

3. Servlet 的核心概念:生命周期与请求处理

(1)Servlet 生命周期(重点!面试常考)

Servlet 的一生分为 4 个阶段,由 Tomcat 管理:

  1. 实例化:第一次访问 Servlet 时,Tomcat 创建 Servlet 对象(只创建一次,单例模式);
  2. 初始化:调用init()方法(初始化资源,比如连接数据库的配置);
  3. 服务:调用service()方法(处理请求,每次请求都会执行);
  4. 销毁:Tomcat 关闭时,调用destroy()方法(释放资源,比如关闭数据库连接)。
(2)request 和 response 对象(请求与响应的核心)

service方法中,HttpServletRequest reqHttpServletResponse resp是两个核心对象:

  • request(请求对象):获取前端传过来的数据,比如表单参数、请求路径;
    // 1. 获取表单中的用户名(前端表单的name属性是"username")
    String username = req.getParameter("username");
    // 2. 获取请求方式(GET/POST)
    String method = req.getMethod();
    // 3. 获取请求路径(比如"/FirstServlet/hello")
    String uri = req.getRequestURI();
    
  • response(响应对象):向前端返回数据,比如 HTML 内容、跳转页面;
    // 1. 返回HTML内容
    resp.getWriter().print("<h1>登录成功</h1>");
    // 2. 重定向到首页(跳转到另一个页面)
    resp.sendRedirect("index.jsp");
    

4. 常见错误排查(初学者必看)

  • 404 错误:路径不对!检查web.xml中的url-pattern是否正确,浏览器访问的地址是否包含项目名(比如FirstServlet);
  • 405 错误:没重写doGet/doPostservice方法!Tomcat 默认调用doGet,如果没重写就会报错,解决方法是重写service方法;
  • 500 错误:Java 代码报错!查看 MyEclipse 的控制台,找到报错的行(比如空指针、数组越界),修复代码即可。

四、HTTP 协议:理解请求与响应的 “规则”

前端和后端通信,靠的是 HTTP 协议(超文本传输协议)—— 它就像 “交通规则”,规定了请求和响应的格式、方式和特性。理解 HTTP 是后端入门的基础。

1. HTTP 的核心特性(3 个重点)

  • 单向性:只有前端发请求,后端才会给响应(后端不会主动给前端发消息);
  • 无状态:后端不记得之前的请求(比如第一次登录成功,第二次访问时,后端默认不知道你是谁);
  • 长连接:HTTP 1.1 开始支持长连接,一次连接可以发送多次请求(减少连接开销)。

2. HTTP 请求的格式(前端发给后端)

一个完整的 HTTP 请求包含 3 部分:请求行、请求头、请求体,用浏览器 F12 的 Network 面板可以查看(以登录表单为例):

// 1. 请求行:请求方式 + 资源路径 + 协议版本
POST /FirstServlet/login HTTP/1.1
// 2. 请求头:浏览器信息、Cookie等
Host: localhost:8081
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) Chrome/120.0.0.0
Cookie: JSESSIONID=ABC123456789
// 3. 请求体:表单参数(POST方式在这里,GET方式在URL后面)
username=zhangsan&password=123456

GET 和 POST 的区别(重点!面试必问)
对比项 GET POST
参数位置 URL 后面(比如?username=zhangsan 请求体中(不显示在地址栏)
数据大小 有限制(地址栏长度限制,一般 2KB) 无限制(适合传大数据,比如文件)
缓存 有缓存(相同 URL 会返回缓存结果) 无缓存
安全性 不安全(参数暴露在地址栏) 相对安全(参数在请求体中)
用途 查询数据(比如搜索、获取列表) 提交数据(比如登录、上传文件)

3. HTTP 响应的格式(后端发给前端)

响应也包含 3 部分:响应行、响应头、响应体

// 1. 响应行:协议版本 + 状态码 + 描述
HTTP/1.1 200 OK
// 2. 响应头:服务器信息、内容类型等
Server: Apache-Coyote/1.1
Content-Type: text/html;charset=utf-8
// 3. 响应体:后端返回的内容(比如HTML、JSON)
<h1>登录成功!欢迎你,zhangsan</h1>
常见 HTTP 状态码(记住 3 个)
  • 200 OK:请求成功(后端正常处理并返回结果);
  • 404 Not Found:资源不存在(路径错了,比如 Servlet 的url-pattern配置错误);
  • 500 Internal Server Error:服务器内部错误(Java 代码报错,比如空指针)。

五、会话管理:Cookie 与 Session(解决 HTTP 无状态)

       HTTP 是 “无状态” 的 —— 后端不记得你之前的请求。比如你登录成功后,刷新页面,后端默认不知道你是谁。这时候就需要 Cookie 和 Session 来 “记住” 用户状态。

1. Cookie:存在客户端的 “小纸条”

Cookie 是后端发给前端的 “小纸条”,前端会保存在本地(浏览器缓存中),下次访问时再把 “小纸条” 发给后端。

(1)创建并发送 Cookie(后端代码)
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    // 1. 创建Cookie(key=value形式)
    Cookie userCookie = new Cookie("username", "zhangsan");
    // 2. 设置Cookie的有效期(单位:秒,3600*24=1天)
    userCookie.setMaxAge(3600*24);
    // 3. 发送Cookie给前端
    resp.addCookie(userCookie);
    
    // 返回提示
    resp.setContentType("text/html;charset=utf-8");
    resp.getWriter().print("<h1>Cookie已发送,下次访问会携带</h1>");
}
(2)获取前端传来的 Cookie(后端代码)
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    // 1. 获取所有Cookie
    Cookie[] cookies = req.getCookies();
    // 2. 遍历Cookie,找到我们需要的
    String username = null;
    if (cookies != null) {
        for (Cookie cookie : cookies) {
            if ("username".equals(cookie.getName())) {
                username = cookie.getValue(); // 拿到"zhangsan"
                break;
            }
        }
    }
    
    // 3. 根据Cookie判断是否登录
    resp.setContentType("text/html;charset=utf-8");
    if (username != null) {
        resp.getWriter().print("<h1>欢迎回来," + username + "!</h1>");
    } else {
        resp.getWriter().print("<h1>请先登录!</h1>");
    }
}
(3)Cookie 的特点
  • 存储在客户端(浏览器),安全性低(用户可以修改或删除);
  • 存储容量有限(一般 4KB),适合存少量数据(比如用户名、记住登录状态);
  • 每次请求都会携带 Cookie,增加请求开销(不适合存大量数据)。

2. Session:存在服务器的 “身份卡”

        Session 是存在服务器的 “身份卡”—— 后端给每个用户创建一个 Session 对象,存储用户信息(比如登录状态、购物车),并把 Session 的 ID 通过 Cookie 发给前端。下次前端访问时,携带 Session ID,后端就能找到对应的 Session 对象。

(1)创建并使用 Session(后端代码)
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    // 1. 获取Session(没有就创建)
    HttpSession session = req.getSession();
    // 2. 往Session中存数据(比如登录成功的用户名)
    session.setAttribute("username", "zhangsan");
    // 3. 获取Session ID(后端通过这个ID找到Session对象)
    String sessionId = session.getId();
    
    resp.setContentType("text/html;charset=utf-8");
    resp.getWriter().print("<h1>Session创建成功,ID:" + sessionId + "</h1>");
    resp.getWriter().print("<h1>Session中存储的用户名:" + session.getAttribute("username") + "</h1>");
}
(2)获取 Session 中的数据(其他 Servlet 中)
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    // 1. 获取Session(如果没有,返回null)
    HttpSession session = req.getSession(false);
    
    resp.setContentType("text/html;charset=utf-8");
    if (session != null && session.getAttribute("username") != null) {
        String username = (String) session.getAttribute("username");
        resp.getWriter().print("<h1>登录状态有效,欢迎你," + username + "!</h1>");
    } else {
        resp.getWriter().print("<h1>登录状态已失效,请重新登录!</h1>");
    }
}

(3)Session 的特点
  • 存储在服务器,安全性高(用户看不到也改不了数据);
  • 存储容量无限制,适合存大量数据(比如购物车、用户权限);
  • Session 有有效期(默认 30 分钟,可在web.xml中配置),过期后自动销毁;
  • 依赖 Cookie(Session ID 通过 Cookie 传递),如果用户禁用 Cookie,Session 会失效(可通过 URL 重写解决)。

3. Cookie 与 Session 的区别(总结)

对比项 Cookie Session
存储位置 客户端(浏览器) 服务器
安全性 低(可修改、删除) 高(仅服务器可访问)
存储容量 有限(4KB) 无限制
依赖关系 独立存在 依赖 Cookie(传递 Session ID)
用途 存少量数据(用户名、记住登录) 存大量数据(购物车、用户权限)

六、JSP:简化后端页面生成

       Servlet 处理业务逻辑很方便,但生成 HTML 页面很麻烦(需要用resp.getWriter().print()拼接标签)。JSP(Java Server Pages)就是为了解决这个问题 —— 它本质是 Servlet,但允许在 HTML 中嵌入 Java 代码,让页面生成更简单。

1. JSP 是什么?为什么说它是 Servlet?

JSP 页面的后缀是.jsp,第一次访问时,Tomcat 会把 JSP 编译成 Java 类(Servlet),然后执行。比如index.jsp会被编译成index_jsp.java,存放在 Tomcat 的work目录下。

一个简单的 JSP 页面(index.jsp
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<html>
<head>
    <title>第一个JSP页面</title>
</head>
<body>
    <h1>这是JSP页面</h1>
    <!-- 嵌入Java代码:输出当前时间 -->
    <% 
        java.util.Date now = new java.util.Date();
        out.print("<p>当前时间:" + now.toLocaleString() + "</p>");
    %>
    <!-- EL表达式:获取Session中的用户名(简化Java代码) -->
    <p>登录用户:${sessionScope.username}</p>
</body>
</html>

访问这个页面时,Tomcat 会先编译它为 Servlet,然后执行,最终返回 HTML 给前端。

2. JSP 的核心语法(3 个重点)

(1)脚本段(嵌入 Java 代码)

<% %>包裹 Java 代码,会被编译到 Servlet 的_jspService方法中:

<%
    // 定义变量
    String message = "Hello JSP";
    // 循环输出
    for (int i = 0; i < 3; i++) {
        out.print("<p>" + message + i + "</p>");
    }
%>
(2)表达式(输出变量或表达式结果)

<%= %>包裹,直接输出结果(不用写out.print()):

<%= "当前页码:" + 1 %> <!-- 输出:当前页码:1 -->
<%= Math.random() %> <!-- 输出一个随机数 -->
(3)指令(配置 JSP 页面)

最常用的是page指令(设置编码、导入包)和include指令(引入其他页面):

<!-- page指令:设置编码和导入Java包 -->
<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8" import="java.util.List,java.util.ArrayList" %>

<!-- include指令:静态引入其他页面(把header.jsp的内容嵌入当前页面) -->
<%@ include file="header.jsp" %>

3. JSP 九大内置对象(不用创建直接用)

JSP 有 9 个内置对象,不用手动创建就能使用,最常用的有 4 个:

对象名 作用 例子
request 获取请求数据 String username = request.getParameter("username");
session 会话管理 session.setAttribute("username", "zhangsan");
out 输出内容到页面 out.print("<h1>登录成功</h1>");
application 全局对象(整个项目共享) application.setAttribute("onlineCount", 100);

七、数据交互:JDBC 连接 MySQL 数据库

后端处理的核心是数据 —— 用户信息、商品数据都存在数据库中。JDBC(Java Database Connectivity)是 Java 连接数据库的标准 API,通过 JDBC 可以实现对数据库的增删改查。

1. 准备工作:导入 MySQL 驱动包

  1. 下载 MySQL 驱动包(mysql-connector-java-5.1.47.jar,对应 MySQL 5.7);
  2. 把驱动包复制到项目的WebRoot/WEB-INF/lib目录下;
  3. 右键驱动包Build Path > Add to Build Path,完成导入。

2. JDBC 连接数据库的步骤(6 步)

以 “查询用户表(user)中的数据” 为例,代码如下:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class JDBCDemo {
    public static void main(String[] args) {
        Connection conn = null;
        Statement stmt = null;
        ResultSet rs = null;
        
        try {
            // 1. 加载MySQL驱动
            Class.forName("com.mysql.jdbc.Driver");
            
            // 2. 建立数据库连接(URL格式:jdbc:mysql://主机名:端口号/数据库名)
            String url = "jdbc:mysql://localhost:3306/test_db?useUnicode=true&characterEncoding=utf-8";
            String username = "root"; // 数据库用户名
            String password = "123456"; // 数据库密码
            conn = DriverManager.getConnection(url, username, password);
            
            // 3. 创建Statement对象(执行SQL语句)
            stmt = conn.createStatement();
            
            // 4. 执行SQL查询(查询user表中的所有数据)
            String sql = "SELECT id, username, password FROM user";
            rs = stmt.executeQuery(sql);
            
            // 5. 处理查询结果(遍历ResultSet)
            while (rs.next()) {
                int id = rs.getInt("id");
                String user = rs.getString("username");
                String pwd = rs.getString("password");
                System.out.println("ID:" + id + ",用户名:" + user + ",密码:" + pwd);
            }
            
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            // 6. 关闭资源(先关ResultSet,再关Statement,最后关Connection)
            try {
                if (rs != null) rs.close();
                if (stmt != null) stmt.close();
                if (conn != null) conn.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
}
关键参数说明
  • URLjdbc:mysql://localhost:3306/test_dbtest_db是数据库名,useUnicode=true&characterEncoding=utf-8是防止中文乱码;
  • 用户名 / 密码:MySQL 的登录账号(默认是root)和密码(安装 MySQL 时设置的);
  • SQL 执行executeQuery()执行查询(返回ResultSet),executeUpdate()执行增删改(返回影响的行数)。

3. 常见操作:增删改查(CRUD)

(1)新增数据(INSERT)
String sql = "INSERT INTO user(username, password) VALUES ('lisi', '654321')";
int rows = stmt.executeUpdate(sql); // 返回影响的行数(1表示成功)
System.out.println("新增了" + rows + "条数据");
(2)修改数据(UPDATE)
String sql = "UPDATE user SET password='111111' WHERE username='lisi'";
int rows = stmt.executeUpdate(sql);
System.out.println("修改了" + rows + "条数据");
(3)删除数据(DELETE)
String sql = "DELETE FROM user WHERE username='lisi'";
int rows = stmt.executeUpdate(sql);
System.out.println("删除了" + rows + "条数据");

八、后端学习建议:从入门到实践

  1. 先搭环境,再写代码:Tomcat、MySQL 的配置是基础,先确保环境能跑通(比如 Servlet 能返回 Hello、JDBC 能连接数据库);
  2. 理解原理,不要死记:比如 Servlet 的生命周期、Cookie/Session 的区别、GET/POST 的差异,理解后自然能记住;
  3. 多做小项目,串联知识点:比如做一个 “登录功能”—— 前端用 HTML 写登录表单,后端用 Servlet 处理请求,用 JDBC 验证用户名密码,用 Session 保存登录状态;
  4. 学会调试:用 MyEclipse 的断点调试 Servlet 代码,用浏览器 F12 查看 HTTP 请求 / 响应,用 MySQL 的 Navicat 查看数据是否正确;
  5. 循序渐进,不要贪多:先掌握 Servlet、HTTP、JDBC,再学框架(比如 SSM、Spring Boot)—— 框架是对基础的封装,基础学好了,框架上手会很快。

        后端学习不像前端能即时看到页面效果,需要更多耐心去理解 “请求 - 处理 - 响应” 的流程,去排查代码中的错误。但只要跟着例子一步步敲,理解每个环节的作用,你会慢慢发现:后端其实就是 “接收请求、处理逻辑、操作数据、返回结果” 的循环,没那么复杂~

       如果这篇总结对你有帮助,欢迎点赞收藏~后续可以分享更多后端进阶知识(比如框架、数据库优化),有疑问的地方也可以在评论区讨论呀!

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐