news 2026/6/23 21:05:32

[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/6/23 12:27:18

ITPUB 专访|李志宇:在 AGI 的未来版图中,记忆是最有温度的力量

在当下科技发展的宏大叙事中&#xff0c;大模型与生成式人工智能无疑是最为耀眼的篇章&#xff0c;它们正以前所未有的速度和深度渗透到社会经济的各个角落&#xff0c;重塑着我们的生产生活方式。从智能客服精准解答用户疑问&#xff0c;到内容创作领域生成富有创意的文字、图…

作者头像 李华
网站建设 2026/6/23 20:47:37

音频分离黑科技:3步实现智能多说话人识别

想象一下这样的场景&#xff1a;会议室里多人激烈讨论&#xff0c;你需要整理会议纪要&#xff1b;播客节目中嘉宾轮流发言&#xff0c;你想要剪辑精彩片段&#xff1b;客服录音中客户与客服对话交织&#xff0c;你需要分离双方语音。这些困扰着无数人的音频处理难题&#xff0…

作者头像 李华
网站建设 2026/6/23 20:47:47

如何快速掌握pose-search:人体姿态搜索的完整指南

如何快速掌握pose-search&#xff1a;人体姿态搜索的完整指南 【免费下载链接】pose-search x6ud.github.io/pose-search 项目地址: https://gitcode.com/gh_mirrors/po/pose-search pose-search是一款基于现代Web技术的开源人体姿态搜索工具&#xff0c;能够实时识别图…

作者头像 李华
网站建设 2026/6/23 17:50:19

Agent性能提升迫在眉睫?,立即掌握这3种Docker级性能加速黑科技

第一章&#xff1a;Agent性能提升的紧迫性与Docker-LangGraph融合趋势随着AI代理&#xff08;Agent&#xff09;在自动化决策、客户服务和复杂任务编排中的广泛应用&#xff0c;其响应速度、可扩展性和系统稳定性面临严峻挑战。传统单体架构难以满足动态负载下的高效运行需求&a…

作者头像 李华
网站建设 2026/6/23 16:17:03

Note-Gen图片上传实战:从本地预览到云端同步的完整指南

Note-Gen图片上传实战&#xff1a;从本地预览到云端同步的完整指南 【免费下载链接】note-gen 一款跨平台的 Markdown AI 笔记软件&#xff0c;致力于使用 AI 建立记录和写作的桥梁。 项目地址: https://gitcode.com/codexu/note-gen 在Markdown写作过程中&#xff0c;图…

作者头像 李华
网站建设 2026/6/23 16:30:10

VSCode调试Azure QDK API时总出错?这7个坑你必须避开

第一章&#xff1a;VSCode调试Azure QDK API的核心机制 在量子计算开发中&#xff0c;Azure Quantum Development Kit&#xff08;QDK&#xff09;与Visual Studio Code的深度集成提供了强大的调试能力。通过VSCode的调试器&#xff0c;开发者能够直观地追踪量子操作的执行流程…

作者头像 李华