news 2026/4/23 11:34:57

[Java Web]在IDEA中完整实现Servlet的示例

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
[Java Web]在IDEA中完整实现Servlet的示例

一、Tomcat的相关下载和配置教程


https://blog.csdn.net/2301_79954314/article/details/142059407?fromshare=blogdetail&sharetype=blogdetail&sharerId=142059407&sharerefer=PC&sharesource=2302_80281315&sharefrom=from_link


二、Tomcat项目配置(备注:这里使用的是IDEA2024旗舰版)


三、创建 Servlet 类

package servlet; import jakarta.servlet.ServletException; import jakarta.servlet.annotation.WebServlet; import jakarta.servlet.http.HttpServlet; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; // 注解配置:指定Servlet处理/greeting路径的请求 @WebServlet("/greeting") public class GreetingServlet extends HttpServlet { // 处理GET请求(浏览器直接访问、超链接、表单GET提交) @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 1. 设置响应编码(解决中文乱码) response.setContentType("text/html;charset=UTF-8"); // 2. 获取请求参数(URL中?name=张三 部分) String name = request.getParameter("name"); // 3. 处理参数:如果没传name,默认显示“游客” if (name == null || name.isEmpty()) { name = "游客"; } // 4. 向浏览器返回响应内容 response.getWriter().println("<h1>你好," + name + "!这是Servlet的GET请求响应</h1>"); } // 处理POST请求(表单POST提交、Ajax POST) @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 1. 设置请求/响应编码(解决POST中文乱码) request.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=UTF-8"); // 2. 获取POST表单中的message参数 String message = request.getParameter("message"); // 3. 返回响应 response.getWriter().println("<h1>收到你的POST消息:" + message + "</h1>"); } }

这里创建软件包是为了好管理代码,也可以不创建,直接在scr文件夹下建即可


四、创建前端 HTML 表单(测试 POST 请求)

<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <title>Servlet测试页面</title> </head> <body> <h2>测试GET请求(直接访问Servlet)</h2> <a href="/greeting?name=小宝你好!">点击发送GET请求</a> <hr> <h2>测试POST请求(表单提交)</h2> <form action="/greeting" method="POST"> 输入消息:<input type="text" name="message" placeholder="比如:Servlet真简单" required> <input type="submit" value="提交POST请求"> </form> </body> </html>

注意:这里html文件需要建在web文件夹下才能正常运行


五、配置 Tomcat 并运行项目

注意:注意,这里接下来可能会出现一个错误:点击“点击发送GET请求”和输入消息内容之后点击“提交POST请求”出来的网页是404

原因:缺少对应的jakarta.servlet相关依赖

解决办法:去Maven官网下载相应的依赖Maven Repository: jakarta.servlet » jakarta.servlet-api » 6.0.0

将下载的依赖包另存到项目的lib文件夹下

回到IDEA中,找到lib文件夹下的依赖包,将 JAR 包 “添加为库”(让 IDEA 识别依赖)

重新启动项目

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 9:56:14

FlashAttention实战指南:如何在AMD GPU上突破大模型训练瓶颈

FlashAttention实战指南&#xff1a;如何在AMD GPU上突破大模型训练瓶颈 【免费下载链接】flash-attention Fast and memory-efficient exact attention 项目地址: https://gitcode.com/GitHub_Trending/fl/flash-attention 你是否曾经在大语言模型训练中遇到这样的困扰…

作者头像 李华
网站建设 2026/4/23 9:59:15

CesiumJS体素渲染实战:解锁3D数据可视化新维度

CesiumJS体素渲染实战&#xff1a;解锁3D数据可视化新维度 【免费下载链接】cesium An open-source JavaScript library for world-class 3D globes and maps :earth_americas: 项目地址: https://gitcode.com/GitHub_Trending/ce/cesium 你是否曾想过&#xff0c;如何让…

作者头像 李华
网站建设 2026/4/23 9:58:45

Cap开源录屏工具:从零到一的屏幕录制革命

Cap开源录屏工具&#xff1a;从零到一的屏幕录制革命 【免费下载链接】Cap Effortless, instant screen sharing. Open-source and cross-platform. 项目地址: https://gitcode.com/GitHub_Trending/cap1/Cap 在数字内容创作蓬勃发展的今天&#xff0c;屏幕录制已成为教…

作者头像 李华
网站建设 2026/4/20 18:17:25

【量子电路可视化进阶指南】:掌握颜色配置的5大核心原则与最佳实践

第一章&#xff1a;量子电路可视化的颜色配置在量子计算领域&#xff0c;量子电路的可视化是理解门操作、量子比特状态演化以及调试算法的重要手段。合理的颜色配置不仅能提升图表的可读性&#xff0c;还能帮助研究人员快速识别不同类型的量子门和电路结构。配色方案的设计原则…

作者头像 李华
网站建设 2026/4/18 9:34:36

Avue.js终极指南:用数据驱动视图构建企业级应用的完整方案

Avue.js终极指南&#xff1a;用数据驱动视图构建企业级应用的完整方案 【免费下载链接】avue &#x1f525;Avue.js是基于现有的element-plus库进行的二次封装&#xff0c;简化一些繁琐的操作&#xff0c;核心理念为数据驱动视图,主要的组件库针对table表格和form表单场景&…

作者头像 李华
网站建设 2026/4/23 11:33:23

别再手动验证了!自动化评估量子机器学习结果的VSCode高级技巧

第一章&#xff1a;量子机器学习的 VSCode 结果评估在量子机器学习项目开发中&#xff0c;VSCode 作为主流集成开发环境&#xff0c;提供了强大的调试与结果可视化支持。通过插件如 Python、Quantum Development Kit 和 Jupyter&#xff0c;开发者能够在本地高效运行量子电路模…

作者头像 李华