java 调用tomcat api,调用servlet接口流程

使用Servlet接口的整体流程

目前对JavaWeb的理解是:用一次提交过程来表示,当点击一个提交的标签。会将url传到tomcat服务器,在tomcat的配置文件中找到管理javaweb项目的配置文件server.xml,在server.xml中配置管理web项目的路径。从当前web项目的路径中找到web.xml文件(web.xml文件是配置servlet的内容,把网络请求和响应的信息都是放在servlet中的service方法里处理)。在servlet中创建ServletRequest对象和ServletResponse对象,并调用service方法,在service方法中对浏览器做出响应操作。

Servlet的请求流程:

** 2:解析请求信息:**

http:协议

localhost:找互联网上的哪一台主机.

80: 从主机中找到对应80端口的程序--->Tomcat服务器.

/day11: 当期项目的上下文路径

/hello: 当期请求的资源名

3:找到Tomcat根/config/server.xml文件.

解析server.xml文件:

判断获取哪一个元素的path属性为day11.

若找不到:404错误.

若 找到:解析该元素,得到docBase属性,获取当期访问Web项目的根的绝对路径:

H:\javaPros\Servlet\webapp

4:从H:\javaPros\Servlet\webapp下的WEB-INF下找到web.xml文件.

判断web.xml中是否有的文本内容为/hello.

若找不到:404错误.

若 找到:继而可以获取该资源对应Servlet类的全限定名称:com._520it._01_hello.HelloServlet.

5:判断Servlet实例缓存池中是否有

com._520it._01_hello.HelloServlet的对象.

Map cache = ......(Tomcat提供的);

key:存Servlet类的全限定名称

value:该Servlet类的对象.

Servlet obj = cache.get("com._520it._01_hello.HelloServlet");

if(obj==null){

//Servlet实例缓存中没有该类的对象,第一次.

GOTO 6:

}else{

//有对象,非第一次.

GOTO 8:

}

6:使用反射调用构造器,创建对象.

obj = Class.forName("com._520it._01_hello.HelloServlet").newInstance();

把当前创建的Servlet对象,存放在缓存之中,供下次使用.

cache.put("com._520it._01_hello.HelloServlet",obj);

7:创建ServletConfig对象,并调用init方法.

obj.init(config);

8:创建ServletRequest对象和ServletResponse对象,并调用service方法.

obj.service(req,resp);

9:在service方法中对浏览器做出响应操作.

b89c5311a99f

servlet请求流程.png

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

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

相关文章

pve万兆网卡驱动_无线环境下打游戏,还能不能更稳?附各类AX网卡换装思路

无线环境下打游戏,还能不能更稳?附各类AX网卡换装思路 1.写在前面 去年这个时候我还是建议大家持观望状态,然后从今年上半年开始新发布的手机就已经把Wi-Fi 6作为标配了。第三季度开始新发的笔记本和主板也已经全面转向标配ax网卡&#x…

php缩放库,php的缩放图像类使用

标题: php的缩放图像类使用作者:李英江日期: 2006-11-25 14:54:05转载请保留作者内容: http://www.cgsir.com使用缩略图有个好处就是可以减少用户下载的时间,为此要在上传图片时生成一张比原图小的图片,一般的PHP空间都…

网页设计工资一般多少_理发师工资一般多少钱一个月

现在社会物价上涨,就连理发的价格也上涨了,但是虽然价格上涨了,质量却未必保证了。理发师在现在生活中可是少不了的,尤其是对女性朋友来说,发型设计可是至关重要的,因此虽然理发的价格上涨,但是…

五笔字型键盘字根图_手机输入法的派别之争:九宫格和全键盘,哪个更科学?...

本 文 约 3376 字阅 读 需 要10 min有人的地方,就有江湖。而在手机输入法的江湖里,也分为两个派别。一个是九宫格输入法,另一个则是全键盘输入法。该问题的敏感程度,完全不亚于“咸甜豆腐脑”之争。…

java多线程编程_《java多线程编程实战指南》读书笔记 -- 基本概念

展开并发:多个线程操作相同资源,保证线程安全,合理使用资源高并发:服务能同时处理多个请求,提高程序性能测试上下文切换工具Lmbench3 测量上下文切换时长vmstat 测量上下文切换次数减少上下文切换无锁并发编程&#xf…

vue企业网站模板_模板网站VS定制网站,企业如何选择?

步入互联网时代,企业需要建设属于自己的网站,网站建设到底是选择模板网站,还是定制网站呢?笔者接下来跟大家详细分析一下。网站建设的类型一、网站建设的类型模板网站模板型网站是用已经成形的网站为框架进行套用,根据…

这张磁盘有写保护_架构师不得不了解的硬件知识 - 磁盘阵列RAID

概述什么是RAID? RAID ( Redundant Array of Independent Disks )即独立磁盘冗余阵列,通常简称为磁盘阵列。简单地说, RAID 是由多个独立的高性能磁盘驱动器组成的磁盘子系统,从而提供比单个磁盘更高的存储…

金蝶二次开发好跳槽吗_金蝶财务软件不会操作怎么办?

还在为不会操作金蝶软件而头疼吗?今天,小编和大家分享一些金蝶软件实操技巧,让大家更快速的完成工作!接下来,跟着小编一起来学习吧~1、新增凭证快捷键2、修改、删除凭证3、凭证审核说明:4、凭证过账说明&a…

可信计算3.0工程初步pdf_查校 | 英国大学工业工程与运筹学专业40个授课硕士+研究Mphil/Phd 项目汇总...

关注“留学壹周刊”,回复专业名称,如“金融”,可以自由查询相关资料介绍本篇微信主要包括如下内容:1、2020Fall英国工业工程与运筹学专业授课类硕士(共26个项目)2、2020Fall英国工业工程与运筹学专业研究类PHD(共14个项目)3、2020…

怎么把此电脑放到桌面_Win10我的电脑怎么放到桌面

1/5点击右键选择“个性化”2/5进入后,点击“主题”3/5在主题页面的右侧点击“桌面图标设置”4/5最后勾选“计算机”5/5再点击“确定”即可

vmware虚拟机安装win7_图文分享虚拟机怎么安装win7系统

最近有朋友问有什么方法可以在不重装系统的情况下体验到其他的操作系统。那就是使用虚拟机吧,下面就以win7为例给大家分享一下在虚拟机安装WIN7的步骤。1,打开运行虚拟机,然后点击界面左上方的“文件”按钮,菜单栏选择“新建虚拟机…

usb接口供电不足_1个USB接口变成4个?什么东西那么“牛”?请你花2分钟了解一下...

USB分线器可以说是许多电脑用户日常生活中必不可少的配件,有了这东西,能让你的USB接口多出许多,关键是通过延长线可以把USB接口放置在你随手可得的地方,可谓是一款家庭、办公都很实用的小配件。USB分线器通常可以分为4、6、8个USB…

js中的new file_JS中的new操作符

一、什么是new?众所周知,在JS中,new的作用是通过构造函数来创建一个实例对象。像下面这样:(和普通函数不一样,当函数用作 构造函数 时,首字母一般要大写,以作区分。)function Foo(name) { th…

css不继承父类样式_提升你的Python编程能力,细说类的继承,拿走不谢

今天咱们聊点啥呢?要不还是聊点Python基础的东东吧,大家已经都知道啦,Python呢是一种面向对象的脚本编程语言,那面向对象的编程语言呢,都会支持面向对象的三大特性,你知道是哪三大特性吗?当然是…

R 回归 虚拟变量na_【R语言进阶】Logistic回归及哑变量设置

点击上方“蓝字”,我们一起分析数据Logistic回归是最常用的多因素回归模型,在医学研究中,常用于研究疾病的危险因素,下面我们一起来看看,R语言是如何实现Logistic回归的。1第一步 导入数据首先,在excel里全选数据集,右键复制。然后&#xff0…

logisticregression参数_通俗地说逻辑回归【Logistic regression】算法(二)sklearn逻辑回归实战...

前情提要:通俗地说逻辑回归【Logistic regression】算法(一) 逻辑回归模型原理介绍上一篇主要介绍了逻辑回归中,相对理论化的知识,这次主要是对上篇做一点点补充,以及介绍sklearn 逻辑回归模型的参数&#…

tensorflow适用于python版本_tensorflow用python哪个版本更好?

tensorflow用python哪个版本?一、安装anaconda tensorflow是基于python脚本语言的,因此需要安装python, 当然还需要安装numpy、scipy、six、matplotlib等几十个扩展包。如果一个个安装,装到啥时候去?(我曾经光安装scip…

php parse url ctf,【SSRF】如何绕过filter_var(), preg_match() 和 parse_url()

0x01 前言这篇文章是在我看完一片国外安全大佬写的文章后对其进行总结并翻译得到的。0x02 正文之绕过filter_var和preg_match本片文章主要深入一种php ssrf的技术——如何绕过例如filter_var(), preg_match()和parse_url()等函数。本次我进行测试的php版本全部为php v5.6.30php…

python json解析_python读取json文件并解析

原博文 2018-07-09 18:35 − # -*- coding: utf-8 -*- import os import json import sys reload(sys) sys.setdefaultencoding(utf-8) filelistos.listdir(E:\\log\\files\\) for ite... 相关推荐 2019-12-05 20:03 − 如何使用 Python 语言来编码和解码 JSON 对象。 JSON(Jav…

python中文词云图代码_Python简单实现词云图代码及步骤解析

一、安装 wordcloud pip install wordcloud 二、加载包、设置路径 import os from wordcloud import WordCloud import matplotlib.pyplot as plt os.chdir(E:\\pyspace\\tmp) 三、词云图示例 1、默认参数示例 text Keep it simple and stupid. wc WordCloud() # 实例化词云图…