恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

浅析 HttpServlet

  • 首页
  • 资讯中心
  • /
  • 浅析 HttpServlet

相关资讯

[LeetCode]303. Range Sum Query - Immutable ★ 2026/8/25 10:50:13
47. 全排列 II 2026/8/2 17:54:18
HarmonyOS 启动任务编排实战:依赖、并发、超时与失败兜底 2026/8/2 1:31:24

最新资讯

rsocket-js KeepAlive与Lease完全指南:保活心跳和背压租约的2大核心机制
摸鱼低代码代码生成实战教程:从数据库表一键生成完整CRUD代码
barbotine-arbitrage-bot架构拆解:跨交易所套利机器人核心模块的分工与协作
DMALibrary特征码扫描完全指南:如何在游戏中快速定位函数地址
16种反调试反虚拟机检测技巧:GoRedOps AntiDebug模块全解析
JavaScript作用域与闭包讲解 - JavaScript学习系列文章

今日推荐

三步把QQ空间历史说说导出到本地:GetQzonehistory 极简指南
洛谷 P7912:[CSP-J 2021 T4] 小熊的果篮 ← 双向链表
Transformers.js 网页端图像抠图实战:零后端 3 行代码返回透明 PNG

本周热门

Nextcloud 桌面客户端:把同步交给它,你只管改文件
如何将 HTML 转成 Word 文档且格式不丢失?html-to-docx 使用教程
Anki 批量操作卡片完整指南:一次搞定上千张,不再逐张修改

本月精选

如何用DamaiHelper实现演唱会门票的智能自动化抢购:完整技术解决方案指南
第4篇:59 倍性能差距的索引瓶颈定位——一次教科书级的全表扫描调优
终极歌词批量下载神器:5分钟解决离线音乐库歌词同步难题

浅析 HttpServlet

发布时间:2026/8/25 10:53:21
浅析 HttpServlet 本文包含内容Servlet 的处理流程和任务javax.servlet.http.HttpServlet 包WebServlet(…) 注解在 javax.servlet 包中定义了所有的 Servlet 都必须实现的或扩展的通用接口和类javax.servlet.http. 包中定义了采用 HTTP 通信协议的 HttpServlet 类。Servlet 是运行在带有支持 Java Servlet 规范的解释器的 web 服务器上的 Java 类。Servlet 的 TomcatJspEL specWebSocketApache TomcatJava 版本支持支持关系https://blog.csdn.net/jackpk/article/details/46235815— Servlet 框架由两个包组成企业版标准组成1javax.servlet2javax.servlet.http.Servlet 的处理流程和任务1Servlet 的处理流程2Servlet 的任务①读取客户端浏览器发送的显式的数据。包括HTML表单或来自 applet 或自定义 HTTP 客户端程序表单②读取客户端浏览器发送的隐式的 HTTP 请求数据。包括 cookies媒体类型及浏览器能理解的压缩格式等③处理数据并生成结果。可对数据库进行访问执行 RMI 或 CORBA 调用调用 Web 服务或者直接计算得出对应的响应④发送显式的数据即文档到客户端浏览器。该文档的格式可以是文本文件HTML 或 XML、二进制文件GIF 图像、Excel 等⑤发送隐式的 HTTP 响应到客户端浏览器。返回响应类型contentType 如 HTML页面plain文本设置 cookies 和缓存参数以及其他类似的任务。当一个 Web 服务器响应一个 HTTP 请求时响应通常包括一个状态行一些响应报头一个空行和文档。— Servlet 处理 HTTP 请求过程① Web客户端向 Servlet 发出 HTTP 请求② Servlet 容器解析 HTTP 请求③ Servlet 容器创建一个 HttpRequest 对象在该对象中封装 HTTP 请求信息包括客户端发送的数据和请求类型④ Servlet 容器创建一个 HttpResponse 对象.— javax.servlet.http.HttpServlet 包Servlet 服务器 HTTP 响应关于HTTP响应参考菜鸟教程 https://www.runoob.com/servlet/servlet-server-response.htmlHttpServlet (abstract class)Http 请求方式包括六种DELETEGETPOSTOPTIONSPUTTRACE。HttpServlet 为公共抽象类(什么都不做)提供要进行子类化的抽象类以创建适用于Web站点的HTTP Servlet。HttpServlet 必须重写至少一个方法的子类。通常是以下方法之一处理标准 HTTP 请求void service(ServletRequest req, ServletResponse res) –继承自 javax.servlet将客户端请求分派给受保护的 service方法。客户端发送的 HTTP 请求和服务器的 HTTP 响应均在service() 下完成。 protected void doGet(HttpServletRequest req, HttpServletResponse resp) –用于HTTP GET 请求 protected void doPost(HttpServletRequest req, HttpServletResponse resp) –用于 HTTP POST 请求 protected void doPut(HttpServletRequest req, HttpServletResponse resp) –用于 HTTP PUT 请求 protected void doDelete(HttpServletRequest req, HttpServletResponse resp) –用于 HTTP DELETE 请求(init 并且 destroy –管理为 Servlet 的生命周期而持有的资源 getServletInfo –Servlet 用来提供有关自身的信息) protected long getLastModified(HttpServletRequest req), --从public service方法接收标准HTTP请求 并将它们分派给此类中定义的doXXX方法。HttpServlet 包括更多方法如 doHead(…), doOptions(…), doTrace(…),关于 HttpServlet 下的方法这里不详细记录更多详细内容API 详述https://docs.oracle.com/javaee/7/api/javax/servlet/http/HttpServlet.html注意① HttpServlet 是 javax.servlet 的子类Servlet 对浏览器发送的 HTTP 请求(request) 和 HTTP响应(response)都是在 service() 方法中进行的。② 如果 Servlet 通过 javax.servlet.http.HttpServlet 实现对 doGet(…) 或 doPost(…) 重写那么该 Servlet只能对 GET 或 POST 作出响应。③ 如果开发人员想处理所有类型的请求request只要简单地实现service方法即可但假如选择实现service方法则不必实现doPost或doGet方法除非在service方法的开始调用super.service()— 创建 HttpServlet 步骤…扩展 HttpServlet 抽象类;…重写 HttpServlet 部分方法。如 doGet(…), doPost(…);…获取 Http 请求信息。通过 HttpServletRequest 对象获取用户提交的数据或URL上的查询字符串;…生成 HTTP 响应结果。通过 HttpResponse 对象.getWirter() 方法生成响应结果该方法返回 PrintWriter 对象。— Http 服务器端响应实例package servlet; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.annotation.WebServlet; //关于 WebServlet(…) 注解 // – 如引入注解有误则需要导入 .jar 包jackson-annotation-2.2.3.jar //WebServlet(...) 注解相关内容 WebServlet(“/BaseServlet”) public class BaseServlet extends HttpServlet {//1. 扩展 HttpServlet 抽象类 //2. 重写 doPost(…) 和 doGet(…)方法 Override //ServletException 处理异常无法处理 POST 请求 //IOException 处理异常处理 POST 请求时检测到输入或输出错误 Protected void doPost(HttpServletRequset req, HttpServletResponse resp) throws ServletException, IOException { try { //3. 获取客户端请求信息 String myName req.getParameter(“myName”); if(null ! myName) { myName resp.setCharacterEncoding(“UTF-8”); } else { myName “你的名字”; } //4. 生成 HTTP 响应结果并向客户端回显信息 resp.setContentType(“text/plain”); //返回结果为 plain -- .txt 文本 PrintWriter pw resp.getWriter(); pw.write(myName); pw.flush(); //刷新 PrintWriter缓存区 pw.close(); } catch(Exception e) { e.printStackTrace(); } }//end doPost protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { this.doPost(req, resp); }//end doGet }//end class BaseServlet extends HttpServlet最后在 web.xml 中添加如使用了 WebServlet(“”) 注解, 则无需这一步操作servlet !-- 类名称 -- servlet-nameBaseServlet/servlet-name !—包名.类名 -- servlet-classservlet.BaseServlet/servlet-class /servlet servlet-mapping servlet-nameBaseServlet/servlet-name !—项目路径-- url-pattern/servletLearn/url-pattern /servlet-mapping参考资料菜鸟教程 – Servlet 服务器 HTTP 响应https://www.runoob.com/servlet/servlet-server-response.html博客园 Author 小顾问 – HttpServlet详解https://www.cnblogs.com/panjun-Donet/archive/2010/02/22/1671290.htmlOracle Java EE API – 类HttpServlethttps://docs.oracle.com/javaee/7/api/javax/servlet/http/HttpServlet.html

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号