首页 > 其他分享 >自定义Mini-Tomcat(一)

自定义Mini-Tomcat(一)

时间:2024-04-23 14:55:05浏览次数:27  
标签:Mini HTTP 请求 Tomcat 访问 http 自定义

  在Spring+ Spring MVC中使用到了Tomcat。那么Tomcat提供什么功能呢?访问使用HTTP协议,所以它首先是一个HTTP服务器(关于HTTP协议资料较多自行查找);其次MVC提供servlet部署在tomcat中进行实际的业务操作,所以它还是一个Servlet容器。

  下面定义一个Mini-Tomcat提供以上两个功能(通过简单需求一步一步实现,不涉及复杂的应用场景):

  V1.0需求:浏览器请求http://localhost:8080,返回⼀个固定的字符串到⻚⾯"Hello Kisscat!"

                

  通过以上两个类实现,代码具体如下:

                

                

                 

   测试:

                

  V2.0需求:封装Request和Response对象,返回html静态资源⽂件(可以验证http协议的构成)

                

  核心代码如下:

                

                

                响应:

                

  调试测试:

    启动:         

    访问:         

    请求行所有内容:

          

                

    第一行http请求行内容:

                

    显然这个访问请求在本文案例中是访问不到的,应该返回404:

                

  V3.0需求:可以请求动态资源(Servlet)

                

                

    在servletMap中如果没有动态资源返回静态页面,反之则调用动态servlet中的service服务。

 

 

  

标签:Mini,HTTP,请求,Tomcat,访问,http,自定义
From: https://www.cnblogs.com/ilovebath/p/18149268

相关文章

  • HIVE使用java生成自定义(UDF)函数,并在hive命令中使用
      创建一个maven项目(不要用springboot)  引入依赖<!--添加hive依赖--><dependency><groupId>org.apache.hive</groupId><artifactId>hive-exec</artifactId><version>3.1.1</versio......
  • maixcam部署自定义模型
    maixcam部署yolov5s自定义模型本博客将向你展示零基础一步步的部署好自己的yolov5s模型(博主展示的是安全帽模型),训练就引用我自己之前写过的,已经训练好的可以跳过该部分,其中有部分不一样。获得自定义训练得到的yolov5sonnx模型准备自定义数据集(博主用的是VOC数据集)数据集......
  • web server apache tomcat11-16-mbean
    前言整理这个官方翻译的系列,原因是网上大部分的tomcat版本比较旧,此版本为v11最新的版本。开源项目从零手写实现tomcatminicat别称【嗅虎】心有猛虎,轻嗅蔷薇。系列文章webserverapachetomcat11-01-官方文档入门介绍webserverapachetomcat11-02-setup启动web......
  • HarmonyOS NEXT应用开发案例—自定义日历选择器
    介绍本示例介绍通过CustomDialogController类显示自定义日历选择器。效果图预览使用说明加载完成后显示主界面,点当前日期后会弹出日历选择器,选择日期后会关闭弹窗,主页面日期会变成选定的日期。实现思路获取当前月和下个月的日期信息。源码参考GetDate.ets。constSATU......
  • vis.js外部自定义折线图
    代码案例<!doctypehtml><html><head><title>Timeline</title><scripttype="text/javascript"src="https://unpkg.com/vis-timeline@latest/standalone/umd/vis-timeline-graph2d.min.js"></script>......
  • docker - [06] 安装部署Tomcat
    题记部分   一、官方测试镜像官方文档给出以下命令,一般用来测试,用完即删,下载并运行镜像,退出镜像就会自动删除镜像?亲测不会自动删除dockerrun-it--rmtomcat:9.0使用快捷键:Ctrl+P+Q可以让其在后台运行(这里执行Ctrl+C之后,dockerimages还是有tomcat镜像) ......
  • jeect 自定义包路径问题
    问题描述Annotation-specifiedbeanname'dictAspect'forbeanclass[org.jxbd.common.aspect.DictAspect]conflictswithexisting,non-compatiblebeandefinitionofsamenameandclass[org.jeecg.common.aspect.DictAspect] classpathresource[org/j......
  • 自定义表单系统开源是否好用?
    在竞争激烈的社会中,拥有够灵活、易维护、可视化界面等优势特点的低代码技术平台获得了很多中小型企业的认可与信赖。在提升企业竞争力、办公效率和规避信息孤岛等方面具有重要的应用价值和作用。流程信息为客户提供低代码技术平台、自定义表单系统开源,助力企业降本增效,创造新前程......
  • 自定义登录和登出页面
    自定义登录在默认的情况下,SpringSecurity为我们生成的登录登出页面如下:我们可以自定义登录和登出页面,我们使用thymeleaf来编写登录页面,代码如下:<!DOCTYPEhtml><htmlxmlns="http://www.w3.org/1999/xhtml"xmlns:th="https://www.thymeleaf.org"><head><title>Pleas......
  • linux下springboot项目nohup日志或tomcat日志切割处理方案
    https://juejin.cn/post/7081890486453010469通常情况下,我们的springboot项目部署到linux服务器中,通过nohupjava-jarxxx.jar&指令来进行后台运行我们的springboot项目。这种方式针对中小型项目来说,还是比较简单方便的。通过nohup运行springboot项目,默认日志输出到当前目......