使用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接口流程相关推荐

  1. Java+MyEclipse+Tomcat (二)配置Servlet及简单实现表单提交

    在Java EE应用编程中Servlet是基础,JSP是建立在Servlet基础之上的,其他Web框架如Struts.WebWork和Spring MVC都是基于Servlet的.本文主要讲述MyEc ...

  2. java 调用tomcat api,Tomcat采用双向认证https协议通过JavaAPI调用(一)配置SSL

    双向认证(个人理解): 客户端认证: 客户端通过浏览器访问某一网站时,如果该网站为HTTPS网站,浏览器会自动检测系统中是否存在该网站的信任证书,如果没有信任证书,浏览器一般会拒绝访问,IE会有一个继 ...

  3. python调用阿里API车牌识别接口步骤

    一.目的 使用python对阿里云的车牌识别算法接口API,识别蓝牌.新能源车牌.白牌等,图片大小要求100k以上,按照步骤即可. 阿里云网站:https://market.aliyun.com/pr ...

  4. java 页面查询_JAVA页面浏览量查询api调用代码实例

    代码描述:基于JAVA页面浏览量查询api调用代码实例 接口地址:http://www.juhe.cn/docs/api/id/51 1.[代码][Java]代码 import java.io.Buf ...

  5. Java+MyEclipse+Tomcat (六)详解Servlet和DAO数据库增删改查操作

    此篇文章主要讲述DAO.Java Bean和Servlet实现操作数据库,把链接数据库.数据库操作.前端界面显示分模块化实现.其中包括数据的CRUD增删改查操作,并通过一个常用的JSP网站前端模板界面 ...

  6. Java+MyEclipse+Tomcat (四)Servlet提交表单和数据库操作

    前面三篇文章讲述了如何配置MyEclipse和Tomcat开发JSP网站.如何配置Servlet简单实现表单提交.如何配置MySQL实现JSP数据库查询.         这篇文章主要讲述Servle ...

  7. 百度在线人脸识别API调用教程

    目录 API调用 第一步 获取access token 第二步 访问API 最后 API调用 百度API调用主要是分为两步 第一步:通过AK和SK获取 access token 第二步:使用夹带acc ...

  8. java servlet dao_Java+MyEclipse+Tomcat 详解Servlet和DAO数据库增删改查操作(源码)

    [实例简介] 该资源主要参考自己的博客http://blog.csdn.net/eastmount/article/details/45936121 讲诉Java+MyEclipse+Tomcat 详 ...

  9. GitHub:哔哩哔哩的API调用模块

    #hello,小伙伴们,大家好,今天给大家介绍的开源项目是:bilibili_api,这个开源项目主要是用Python写的调用 Bilibili 各种API的库,范围涵盖视频.音频.直播.动态.专栏. ...

最新文章

  1. 计算机视觉方向简介 | 自动驾驶中的车道线跟踪技术
  2. crontab命令linux,crontab命令
  3. Java多线程之实现多线程的三种方法
  4. python制作软件界面_Python 脚本 GUI 界面生成工具
  5. Spark vs. MapReduce 时间节约66%,计算节约40%
  6. I2C总线学习—查缺补漏—S3C2440的I2C控制器
  7. html 动物特效,分享9款用HTML5/CSS3制作的动物人物动画,
  8. arcgis中dem坐标定义_GIS基础-DEM Grid规则格网结构
  9. 转:为 setuptools 开路搭桥
  10. Vertx与Spring配合完成DML操作
  11. 软考高级软件架构师论文——论软件架构风格
  12. Windows的快捷方式打开方式被修改后恢复方法
  13. windows禅道环境搭建
  14. PhantomJS not found on PATH
  15. 清华大学计算机考研经历,2020清华大学计算机考研经验,相信梦想的力量
  16. 视频教程-C语言-从汇编角度理解C语言的本质-C/C++
  17. 掌财社骑士:顾比均线怎么设置?顾比均线的投资技巧介绍
  18. Android 开发摆脱数据线 - Android studio 无线调试App
  19. Qt 设置合适的字体大小
  20. 【001】C++11允许匿名类型、局部类型作为模板实参

热门文章

  1. uni-app 微信小程序授权登录
  2. IDEA JDK1.8 ProGuard 混淆Maven项目代码
  3. Easyexcel异常处理:getOutputStream() has already been called for this response
  4. Vue 实现 Open Graph 分享预览
  5. java生成html表格数据_使用Java将表格数据导出成Excel格式
  6. python find方法的复杂度_python内置的方法的时间复杂度
  7. 感知器算法的基本原理和步骤_很多情况下,深度学习算法和人脑相似
  8. rust盖错了怎么拆除_细说Rust错误处理
  9. go 根据输入类型执行对应的方法_安全很重要:Go项目的安全评估技术
  10. Qt下继承于QObject创建的线程