Servlet—servlet概述

news2024/12/22 22:25:37

文章目录

  • servlet概述
    • 狭义
    • 广义
      • 总结图示
    • 部分细化:
  • tomcat和servlet关系
  • 统一资源定位符
    • 统一资源定位符详细内容:
      • 协议
      • http协议总结图示
      • ip地址

————————————————————————————————

servlet概述

本质上是java专门用来处理web数据的文件
为什么有servlet:在java中用来处理web数据
servlet分为广义和狭义

狭义

【1】狭义:指的是servlet接口
(DelectServlet继承HttpServlet, HttpServlet继承GenericServlet,GenericServlet中定义了servlet借口,即狭义的servlet接口)
补充:—什么是接口—>对行为(方法)的定义(不包括方法的实现)
—什么是继承—>继承:代码复用(子类使用父类非私有代码)
—接口内容(包含的方法及作用)—>
在这里插入图片描述
(1)Servlet接口由GenericServlet实现,GenericServlet中包含init();和destroy();确定了在什么情况下创建或销毁servlet;
(2)GenericServlet继承于HttpServlet,HttpServlet单独实现了service();演化成doGet和doPost方法进行具体实现。

广义

【2】广义:自定义类继承了HttpServlet;
定义一个类实现servlet接口(不继承,直接实现)

总结图示

在这里插入图片描述

部分细化:

servlet接口:servlet接口是对servlet功能的定义,是servlet生命周期的体现

GenericServlet:GenericServlet是一个抽象类,实现了servlet接口当中的init()和destroy();

HttpServlet:HttpServlet也是一个抽象类,继承了GenericServlet类,并且实现了service(方法,将该方法改写成了doGet、doPost等匹配http请求的方法;

普通类只需要继承HttpServlet就可以实现servlet的基本功能

tomcat和servlet关系

myweb项目在tomcat中,在MyServlet文件在myweb项目里,因此tomcat想要访问myweb必须提供tomcat。
在这里插入图片描述

统一资源定位符

如何访问servlet?——>通过url

url:统一资源定位符。http://localhost:8080/myweb/sss —— > <协议>://ip地址:端口号/项目名称/文件名

统一资源定位符详细内容:

统一资源定位符包含:协议、ip地址、端口号、项目名称、文件名。

协议

【1】协议:为了达成某种目的形成的官方文件
(1)http协议:是浏览器访问服务器数据时需要遵守的协议,规定了如何访问服务器上的数据,是为了解决浏览器访问问题
http协议详细内容:
(2)http协议中包含请求方和响应方;

  • 请求方包括请求头、请求正文、请求方式;
    注:
    请求头包含内容:Accept-Encoding:浏览器使用的语言、Host:远程域名、Cookie:浏览器状态、User-Agent:浏览器类型;

请求正文示例:?name=张三&password=111

请求方式:url、http版本,url包括:get请求、post请求、put请求等;

  • 响应方即服务器,包括响应头、响应正文、状态行;

注:
相应正文即json数据、返回的html文件、图片等;
状态行(Status Code)具体内容:

  • 200:相应成功
  • 400:错误的请求(发送的方式不对)
  • 404:文件不存在(一般是url拼写错误)
  • 405:服务器不支持用户的请求方式(doGet和doPost使用不对)
  • 500:服务器内部错误(java代码写错了)

http协议总结图示

在这里插入图片描述

ip地址

在http://localhost:8080/myweb/sss中
localhost:指的是本地ip;因此需要了解ip地址

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/67249.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Effective C++条款27:尽量少做转型动作(Minimize casting)

Effective C条款27&#xff1a;尽量少做转型动作&#xff08;Minimize casting&#xff09;条款27&#xff1a;尽量少做转型动作1、数据类型转型语法回顾1.1 C风格的cast1.2 C风格的cast1.3 新风格转型更受欢迎2、使用cast会产生运行时代码——不要认为你以为的就是你以为的3、…

“一人负债,全家背锅”,严厉打击信用卡套现欺诈

不可否认&#xff0c;负债消费往往与高风险密不可分。 近日&#xff0c;一则关于网购的新闻冲上热搜。故事的主人公沉迷于网购&#xff0c;工资不足便利用信用卡透支&#xff0c;长期的积累已至入不敷出&#xff0c;只能向家人求助&#xff0c;家人也因此欠下巨额债务。最终&a…

文本-图像生成(Text-to-Image Generation)的评价指标介绍——CLIPScore、TISE

目录CLIPScore: A Reference-free Evaluation Metric for Image Captioning背景公式总结TISE: Bag of Metrics for Text-to-Image Synthesis Evaluation背景文本-图像生成基本评价指标图像质量和多样性图像和文本相关性创新点1&#xff1a;IS*创新点2&#xff1a;多目标文本-图…

GIS基础测量、地形分析、位置分析、空间分析功能介绍与实操应用

通知 入门级、进阶级一、二、三期、高阶级一期已完成&#xff0c;大家可进入公众号“图新地球”查看底部菜单&#xff1a;2022教程&#xff0c;获得软件直播课程的相关资料&#xff0c;包括直播讲解、直播PPT、直播的示例数据。 另外&#xff0c;本周周三12月7日将举行进阶级…

2020全栈学习Demo大合集 AllDemo-996station GitHub鉴赏官

推荐理由&#xff1a; 2020全栈学习Demo大合集 包含最新 hooks TS 等 还有umidva,数据可视化等实战项目 (持续更新中) 全栈学习 Demo 大合集 说明: 本项目包含常用的技术点和技术栈,时间为 2020 年度最新的技术栈,大范围的包含(Vue,Vuex,SSR,vue 源码解析,vue 实战,vue 单元测…

使用php解压缩ZipArchive类实现后台管理升级的解决方案

项目说明 开发php项目管理系统&#xff0c;由于是新项目且已经部署在生产环境&#xff0c;导致需要根据实际使用情况&#xff0c;进行及时的功能升级或bug修复。 每次升级&#xff0c;进行程序打包&#xff0c;然后通过FTP上传覆盖&#xff1b;后期因服务器转为内网&#xff…

自然语言处理基本概念 natural_language_processing-996station GitHub鉴赏官

推荐理由&#xff1a;自然语言处理基本概念 自然语言处理技术 第1章 语言模型 第2章 隐马尔可夫模型 第3章 最大熵模型 第4章 条件随机场模型 适用人群&#xff1a;自然语言 推荐指数&#xff1a;3 项目名称&#xff1a;natural_language_processing 自然语言处理基本概念 …

二叉树的遍历

二叉树的遍历 文章目录二叉树的遍历•二叉树的遍历定义• 二叉树的三种遍历方式先序遍历的递归算法中序和后序遍历的递归算法二叉树遍历的相关问题♥问题1解题模型▪算法构思:▪代码实现:♥问题2解题模型构建思路:代码如下:♥问题3算法构思:代码构建:♥问题4算法思路:解题模型:…

mysql读写分离

MySQL读写分离 原理 读写分离基本的原理是让主数据库处理事务性增、改、删操作&#xff08;INSERT、UPDATE、DELETE&#xff09;&#xff0c;而从数据库处理SELECT查询操作。数据库复制被用来把事务性操作导致的变更同步到集群中的从数据库。 读写分离就是只在主服务器上写&…

自学前端到什么程度,可以去找工作呢?

前言 可以看看现在市面上关于前端工程师职业招聘的相关要求&#xff0c;从以下两个的招聘可以看出&#xff0c;无论是普通的前端构造工程师还是高级前端开发工程师&#xff0c;对于h5、css3、es6以及相关框架如vue、react等都需要有深入的认知并能熟练运用 基于上面的相关要求…

刷爆力扣之第三大的数

刷爆力扣之第三大的数 HELLO&#xff0c;各位看官大大好&#xff0c;我是阿呆 &#x1f648;&#x1f648;&#x1f648; 今天阿呆继续记录下力扣刷题过程&#xff0c;收录在专栏算法中 &#x1f61c;&#x1f61c;&#x1f61c; 该专栏按照不同类别标签进行刷题&#xff0c;每…

(四)Spring Security Oauth2.0 源码分析--客户端端鉴权(token校验)

一 引言 在上篇文章我们分析了token的获取过程,那么拿到token后,将token放在请求头中进行资源的访问,客户端是如如何对token进行解析的呢,本文带你走进token校验的源码解析,基本流程如下所示 客户端向资源服务器发起请求时,在请求头Authorization携带申请的token请求被Filte…

网络编程——BIO与NIO介绍与底层原理

BIO BIO(Blocking IO) 又称同步阻塞IO&#xff0c;一个客户端由一个线程来进行处理 当客户端建立连接后&#xff0c;服务端会开辟线程用来与客户端进行连接。以下两种情况会造成IO阻塞&#xff1a; 服务端会一直阻塞&#xff0c;直到和客户端进行连接客户端也会一直阻塞&…

CPP 核心编程9-STL

STL初识 2.1 STL的诞生 长久以来&#xff0c;软件界一直希望建立一种可重复利用的东西C的面向对象和泛型编程思想&#xff0c;目的就是复用性的提升大多情况下&#xff0c;数据结构和算法都未能有一套标准,导致被迫从事大量重复工作为了建立数据结构和算法的一套标准,诞生了S…

四、文件管理(二)目录

目录 2.0文件控制块和索引结点 2.1目录的结构 2.1.1单级目录结构 2.1.2两级目录结构 2.1.3树形目录结构 2.1.4有向无环图目录结构 2.2目录的操作 2.4文件共享 2.4.1基于索引结点&#xff08;硬链接&#xff09; 2.4.2基于符号链&#xff08;软链接&#xff09; 2.0文…

前端开发是做什么的?工作职责

想要了解前端从业者的工作职责&#xff0c;需要从一个完整网站应用产生流程入手&#xff0c;一个网站应用从无到有的过程大致如下 &#xff1a; 1&#xff09;产品经理与甲方反复沟通交流&#xff0c;逐步确定产品需求完成设计草图&#xff1b; 2&#xff09;产品经理根据需求…

如何在centos上安装nvidia docker

当基于nvidia gpu开发的docker镜像在实际部署时&#xff0c;需要先安装nvidia docker。那么如何安装nvidia docker呢。下面将详细介绍下。 安装原生docker yum -y install docker-io 下载nvidia docker安装包 我下载的是rpm文件&#xff0c;具体见截图 安装nvidia docker…

word如何给论文加引用文献

给论文加引用文献其实差不多就是加了个链接&#xff0c;通过点击链接跳转到文末最后展示引用文献额作者&#xff0c;论文名等等信息&#xff0c;给论文加引用文献只要有一下几步&#xff1a; 一、设置参考文献标号字体格式 对于论文中的文献&#xff0c;首先设置论文前序号的…

redis基础6——缓存穿透、缓存击穿、缓存雪崩

文章目录一、缓存穿透&#xff08;双库为空&#xff09;1.1 基础概念1.2 解决办法1.2.1 业务层校验1.2.2 设置key过期时间1.2.3 布隆过滤器1.2.3.1 原理1.2.3.1.1 哈希函数使用1.2.3.1.2 布隆过滤器数据结构1.2.3.1.2.1 映射函数执行过程1.2.3.1.2.2 布隆过滤器的误判率1.2.3.2…

华为机试 - 最大化控制资源成本

目录 题目描述 输入描述 输出描述 用例 题目解析 算法源码 题目描述 公司创新实验室正在研究如何最小化资源成本&#xff0c;最大化资源利用率&#xff0c;请你设计算法帮他们解决一个任务混部问题&#xff1a; 有taskNum项任务&#xff0c;每个任务有开始时间&#xf…