解析浏览器访问服务器 Servlet 应用程序的交互过程(Servlet 容器如何处理请求资源路径)
案例 1:
请求资源路径:http://localhost:8080/web01/greeting?name=zs
- 浏览器通过
localhost:8080
连接服务器; - 服务器在
webapps
目录下寻找web01
目录,找到后进入web01
目录内寻找WEB-INF
目录,在进入WEB-INF
目录内寻找web.xml
文件; - 再进入
web.xml
文件中找到greeting
,从而找到对应的servlet-name
,再找到某个servlet
的子类,并创建该类的实例对象; - 再调用该对象的
service
方法,并传入request
和response
两个对象参数,service
方法会从request
对象中获取到name=zs
,然后执行service
方法中的业务逻辑语句,并把结果写入到response
中; - 而后
server
会从response
中获得结果传送给浏览器显示出来。
案例 2:
请求资源路径:http://ip:port/appname/abc.html
Servlet 容器处理请求资源路径的步骤
step1
依据 /appname
查找该应用对应的目录(比如查找 webapps
目录下面的是否存在 appname
目录)。
step2
在找到的目录下面,找到 web.xml 文件,然后解析节点 <url-pattern>
的内容,判断是否与 /abc.html
相匹配。
匹配规则:
精确匹配: 即要求
<url-pattern>
的内容与/abc.html
完全一致。通配符匹配: 使用
*
代表任意的字符串。
比如在<url-pattern>
中使用:
/*
表示任意字符串
/abc/*
表示有/abc/
的字符串后缀匹配: 不能使用
/
开头,要求*.任意的字符串
。
比如:
*.do
要求以.do
结尾
*.action
要求以.action
结尾
step3
尝试查找 /abc.html
文件,如果找到,则返回该文件,找不到,则返回 404
状态码。
解析浏览器访问服务器 Servlet 应用程序的交互过程(Servlet 容器如何处理请求资源路径)相关推荐
- Servlet容器如何处理请求资源路径
1.. 什么是请求资源路径 在地址栏中输入的请求地址中,端口号之后的部分都是请求资源路径.紧跟端口号的是部署到Web服务器上的应用名(appName),紧跟应用名的则是具体的应用内的组件路径. 2. ...
- 单文件浏览器_图文并茂深度解析浏览器渲染原理,包看懂超值得收藏
在我们面试过程中,面试官经常会问到这么一个问题,那就是从在浏览器地址栏中输入URL到页面显示,浏览器到底发生了什么?这个问题看起来是老生常谈,但是这个问题回答的好坏,确实可以很好的反映出面试者知识的广 ...
- 【愚公系列】2022年01月 Java教学课程 71-自建HTTP服务器解析浏览器请求案例
文章目录 一.自建HTTP服务器解析浏览器请求案例 1.环境搭建 2.获取请求信息并解析 3.给浏览器响应数据 4.代码优化 一.自建HTTP服务器解析浏览器请求案例 1.环境搭建 实现步骤 编写Ht ...
- java服务器端开发-servlet:202、Servlet执行过程介绍:get请求与post请求、编码相关等
声明:本教程不收取任何费用,欢迎转载,尊重作者劳动成果,不得用于商业用途,侵权必究!!! 文章目录 4.get请求与post请求 (1)哪一些情况下,浏览器会发送get请求? (2)哪一些情况下,浏览 ...
- 快递收件寄件JAVA小程序技术描述_解析“微快递”小程序的交互流程
小程序凭借用完即走.无需独立下载等优点成为了饱受用户青睐的一种产品形式,而"微快递"更是人们在选择下单寄件的主要小程序之一.那么这个小程序在交互上有什么特点呢.它的流程又是怎样的呢 ...
- WEB请求过程(http解析,浏览器缓存机制,域名解析,cdn分发)
WEB请求过程(http解析,浏览器缓存机制,域名解析,cdn分发) 目录 WEB请求过程(http解析,浏览器缓存机制,域名解析,cdn分发) 概述 HTTP解析 HTTP请求头 HTTP响应头 H ...
- java web——servlet+jsp实现前后台交互
大学生涯终于结束,在公司学习了一段时间的java web方面的知识,结合自己之前的一些理解,想通过几篇文章来对我所接触到的java技术进行梳理与总结,也希望能给大家一些参考,由于作者水平有限,难免存在 ...
- java基于http协议客户端与服务器端的交互,通俗易懂客户端与服务器端交互原理(HTTP数据请求与HTTP响应,包括Servlet部分...
经 常看到HTTP客户端与服务器端交互原理的各种版本的文章,但是专业术语太多,且流程过于复杂,不容易消化.于是就按照在 Servlet 里面的内容大致做了一些穿插.本来 连 Tomcat 容器 和 S ...
- HTTP协议, 浏览器访问服务器, HTTP响应, HTTP请求, 访问百度
浏览器访问服务器的过程 1/用户输入网址 2/浏览器请求DNS服务器,获取域名对应的IP地址(电脑连上网之后会被自动分配一个DNS服务器,域名跟ip是以键值对的形式存在DNS服务器,会按一定规则更新, ...
最新文章
- Linux的文件管理
- androidstudio返回之前界面_charles 如何修改服务器返回内容 - Breakpoints
- Spring MVC报错:The request sent by the client was syntactically incorrect ()
- cjson 对象是json数组型结构体_C语言 - cJSON解析特定格式 含有数组array类型的数据...
- MongoDB中MapReduce介绍与使用
- MyBatis Plus 导入IdType失败
- LoadRunner函数中文翻译
- 计算机基础(九):C语言基础知识小结
- Mendeley简单操作
- Appium基础 — APPium安装(二)
- 基于51单片机的电子秤设计
- CMD 命令行实现 Windows 下复制文件到文件夹下的所有文件夹
- 零基础CSS入门教程(24)–内联/内部/外部样式
- 不再东寻西找,常见数据库分页方法都在这里了
- 安装C4D步骤 附加一大波C4D序列号
- 最小二乘法 几何意义
- 无线信道的选择性衰落
- linux删除 grub rescue,删除Ubuntu后 开机grub rescue无法进入BIOS
- 你不知道的JavaScript APIs
- 英国留学生论文introduction部分怎么写比较好?
热门文章
- jdk只有一个java进程_JDK 10:从Java访问Java应用程序的进程ID
- lineseparator_首选System.lineSeparator()以用Java编写系统相关的行分隔符字符串
- java开发五年面试经验_只有经验丰富的开发人员才能教您有关Java的5件事
- slf4j 记录日志文件_教程:正确的SLF4J日志记录用法以及如何检查它
- javaio流层次结构_流的多层次分组
- 博科光纤交换机java_带有光纤的可扩展,健壮和标准的Java Web服务
- maven和docker_Java EE,Docker和Maven(技术提示#89)
- lambda ::表达式_Lambda表达式和流API:基本示例
- 数据结构栈的知识_数据知识栈
- Apache Ant 1.9.13和1.10.5发布–支持Java 11单文件源程序