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方法中对浏览器做出响应操作.
servlet请求流程.png
java 调用tomcat api,调用servlet接口流程相关推荐
- Java+MyEclipse+Tomcat (二)配置Servlet及简单实现表单提交
在Java EE应用编程中Servlet是基础,JSP是建立在Servlet基础之上的,其他Web框架如Struts.WebWork和Spring MVC都是基于Servlet的.本文主要讲述MyEc ...
- java 调用tomcat api,Tomcat采用双向认证https协议通过JavaAPI调用(一)配置SSL
双向认证(个人理解): 客户端认证: 客户端通过浏览器访问某一网站时,如果该网站为HTTPS网站,浏览器会自动检测系统中是否存在该网站的信任证书,如果没有信任证书,浏览器一般会拒绝访问,IE会有一个继 ...
- python调用阿里API车牌识别接口步骤
一.目的 使用python对阿里云的车牌识别算法接口API,识别蓝牌.新能源车牌.白牌等,图片大小要求100k以上,按照步骤即可. 阿里云网站:https://market.aliyun.com/pr ...
- java 页面查询_JAVA页面浏览量查询api调用代码实例
代码描述:基于JAVA页面浏览量查询api调用代码实例 接口地址:http://www.juhe.cn/docs/api/id/51 1.[代码][Java]代码 import java.io.Buf ...
- Java+MyEclipse+Tomcat (六)详解Servlet和DAO数据库增删改查操作
此篇文章主要讲述DAO.Java Bean和Servlet实现操作数据库,把链接数据库.数据库操作.前端界面显示分模块化实现.其中包括数据的CRUD增删改查操作,并通过一个常用的JSP网站前端模板界面 ...
- Java+MyEclipse+Tomcat (四)Servlet提交表单和数据库操作
前面三篇文章讲述了如何配置MyEclipse和Tomcat开发JSP网站.如何配置Servlet简单实现表单提交.如何配置MySQL实现JSP数据库查询. 这篇文章主要讲述Servle ...
- 百度在线人脸识别API调用教程
目录 API调用 第一步 获取access token 第二步 访问API 最后 API调用 百度API调用主要是分为两步 第一步:通过AK和SK获取 access token 第二步:使用夹带acc ...
- java servlet dao_Java+MyEclipse+Tomcat 详解Servlet和DAO数据库增删改查操作(源码)
[实例简介] 该资源主要参考自己的博客http://blog.csdn.net/eastmount/article/details/45936121 讲诉Java+MyEclipse+Tomcat 详 ...
- GitHub:哔哩哔哩的API调用模块
#hello,小伙伴们,大家好,今天给大家介绍的开源项目是:bilibili_api,这个开源项目主要是用Python写的调用 Bilibili 各种API的库,范围涵盖视频.音频.直播.动态.专栏. ...
最新文章
- 计算机视觉方向简介 | 自动驾驶中的车道线跟踪技术
- crontab命令linux,crontab命令
- Java多线程之实现多线程的三种方法
- python制作软件界面_Python 脚本 GUI 界面生成工具
- Spark vs. MapReduce 时间节约66%,计算节约40%
- I2C总线学习—查缺补漏—S3C2440的I2C控制器
- html 动物特效,分享9款用HTML5/CSS3制作的动物人物动画,
- arcgis中dem坐标定义_GIS基础-DEM Grid规则格网结构
- 转:为 setuptools 开路搭桥
- Vertx与Spring配合完成DML操作
- 软考高级软件架构师论文——论软件架构风格
- Windows的快捷方式打开方式被修改后恢复方法
- windows禅道环境搭建
- PhantomJS not found on PATH
- 清华大学计算机考研经历,2020清华大学计算机考研经验,相信梦想的力量
- 视频教程-C语言-从汇编角度理解C语言的本质-C/C++
- 掌财社骑士:顾比均线怎么设置?顾比均线的投资技巧介绍
- Android 开发摆脱数据线 - Android studio 无线调试App
- Qt 设置合适的字体大小
- 【001】C++11允许匿名类型、局部类型作为模板实参
热门文章
- uni-app 微信小程序授权登录
- IDEA JDK1.8 ProGuard 混淆Maven项目代码
- Easyexcel异常处理:getOutputStream() has already been called for this response
- Vue 实现 Open Graph 分享预览
- java生成html表格数据_使用Java将表格数据导出成Excel格式
- python find方法的复杂度_python内置的方法的时间复杂度
- 感知器算法的基本原理和步骤_很多情况下,深度学习算法和人脑相似
- rust盖错了怎么拆除_细说Rust错误处理
- go 根据输入类型执行对应的方法_安全很重要:Go项目的安全评估技术
- Qt下继承于QObject创建的线程