基于 Servlet 的 Web 后端接口开发实践

举报
yd_280964324 发表于 2026/11/02 20:33:08 2026/11/02
【摘要】 一、实验目的理解 Servlet 的工作原理与生命周期,掌握 Tomcat 服务器部署 Web 项目的基础流程。学会使用 Servlet 编写后端接口,实现前端页面与服务端的数据交互。掌握请求参数获取、响应输出,了解编码乱码问题的解决方案。熟悉项目目录结构,完成简易用户信息查询接口开发与功能测试。二、实验环境操作系统:Windows11开发工具:IDEA 2024服务器:Apache Tom...

一、实验目的

  1. 理解 Servlet 的工作原理与生命周期,掌握 Tomcat 服务器部署 Web 项目的基础流程。
  2. 学会使用 Servlet 编写后端接口,实现前端页面与服务端的数据交互。
  3. 掌握请求参数获取、响应输出,了解编码乱码问题的解决方案。
  4. 熟悉项目目录结构,完成简易用户信息查询接口开发与功能测试。

二、实验环境

  • 操作系统:Windows11
  • 开发工具:IDEA 2024
  • 服务器:Apache Tomcat 9.0
  • 项目依赖:Servlet-api
  • 浏览器:Chrome

三、实验原理

Servlet 是 JavaWeb 的核心组件,运行在服务端,用来接收客户端的 HTTP 请求并返回响应。Servlet 生命周期分为:实例化→初始化init()→服务service()→销毁destroy()。

客户端通过浏览器发送 GET/POST 请求,Tomcat 接收请求,匹配对应的 Servlet,执行代码处理业务逻辑,最后将结果返回前端页面。

四、实验步骤

步骤 1:新建 Web 项目,导入 Servlet 依赖

在 IDEA 中创建 Java Enterprise 项目,选择 Web Application 模板,配置 Tomcat,在WEB-INF/lib放入 servlet-api.jar 包,添加库引用。

步骤 2:编写 Servlet 核心代码

java

运行


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;

//注解方式配置访问路径,无需web.xml
@WebServlet("/userQuery")
public class UserServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //设置编码,解决中文乱码
        request.setCharacterEncoding("utf-8");
        response.setContentType("text/html;charset=utf-8");

        //获取前端传入参数
        String username = request.getParameter("username");

        PrintWriter out = response.getWriter();
        if("admin".equals(username)){
            out.write("<h3>用户查询成功</h3>");
            out.write("<p>用户名:admin,身份:管理员</p>");
        }else{
            out.write("<h3>用户查询成功</h3>");
            out.write("<p>用户名:"+username+",身份:普通访客</p>");
        }
        out.close();
    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //POST请求直接复用GET处理逻辑
        doGet(request,response);
    }
}

步骤 3:编写前端测试页面 index.html

html

预览


<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>用户查询页面</title>
</head>
<body>
    <form action="userQuery" method="get">
        输入用户名:<input type="text" name="username">
        <input type="submit" value="提交查询">
    </form>
</body>
</html>

步骤 4:配置 Tomcat 并启动项目

  1. 在 IDEA 的 Run 配置中,选择 Tomcat Server,设置项目访问上下文。
  2. 点击启动,控制台无报错即代表服务器启动成功。
  3. 浏览器访问:http://localhost:8080/项目名/index.html

步骤 5:功能测试

  • 在输入框填写admin提交,页面展示管理员信息。
  • 填写其他名称,展示普通访客信息。
  • 观察请求地址,验证接口能否正常接收参数、返回内容。

五、实验遇到的问题与解决

  1. 中文乱码

    现象:后端输出中文变成问号。

    解决:在代码最前面设置 request、response 的编码为 utf-8。
  2. 404 页面找不到

    现象:访问地址提示 404。

    原因:@WebServlet 路径写错,或者项目上下文路径配置错误。

    解决:核对注解中的访问路径,检查 Tomcat 部署设置。
  3. 500 服务器内部错误

    现象:页面 500。

    原因:代码空指针异常、包缺失。

    解决:查看 Tomcat 控制台报错信息,定位代码问题,确认 servlet 包已导入。

六、实验总结

本次实验搭建了基于 Servlet 的简易 Web 后端,实现了表单提交与后端数据响应。我理解了 HTTP 请求的收发流程,学会使用注解简化 Servlet 配置,也意识到编码、路径问题是 JavaWeb 开发里高频踩坑点。

Servlet 是 JavaWeb 的基础,后续可以在此基础上,结合数据库完成真实用户数据读取,进一步开发完整 Web 管理系统。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。