Tomcat原理的一点看法
版权声明:本文为博主原创文章,未经博主允许不得转载。
首先,运行tomcat之前,先写一个html页面,
再写一个serlvet程序
配置文件如下:
那么程序是怎样运行的呢?
浏览器发起请求到 --> 服务器 --> 扫描配置文件 --> 找到对应方法 --> 通过继承的httpServlet方法 --> 抽象的类GenericServlet -->
实现了Servlet, ServletConfig,java.io.Serializable这三个类 --> httpServlet 继承了GenericServlet 中的 一个service的方法,但是必须重写。
同时客户的请求,就已经包含了一个对象。 最后httpServlet重写了service的方法,并且servlet容器创建了一个HttpServletRequest对象,
并将其作为参数传递给servlet的服务方法(doGet、doPost等)。
那就厉害了!tomcat一启动,就调用下列各种方法,获取各种参数,然后通过浏览器的请求,由服务器创建一个对象,
通过对象调用service方法, 获取各种参数(包括内容长度、内容类型、内容转换编码、内容编码、内容基础、内容语言、内容位置、内容-md5和内容范围);
最后再响应给浏览器。
GenericServlet 通用类服务器 实现了服务器,服务器配置文件,以及io序列化,
1.一个无参构造器,
destroy() 2.默认通过的销毁方法
getInitParameter() 3. 获取初始化参数
getInitParameterNames() 4.获取初始化参数名称
return getServletConfig().getInitParameterNames()
ServletConfig getServletConfig() 5.获取服务器配置,return config;
ServletContext getServletContext() 5.1 获取服务器上下文配置
return getServletConfig().getServletContext();
getServletInfo() 6.获取服务器信息,返回一个空船
init(ServletConfig config) 7.初始化配置,含有参数
init() 8.初始化无参
log(String msg) 9.记录,参数是提示信息
log(String message, Throwable t) 10.记录在线信息,可抛出异常
service(ServletRequest req, ServletResponse res) 11.服务方法
getServletName() 12.获取服务器名称,返回一个配置文件的服务器名称
return config.getServletName();
tomcat 解决乱码问题
1.在页面中加入这段代码
response.setContentType("text/html; charset=UTF-8");//返回浏览器的中文编码,写在输出前
PrintWriter pw = response.getWriter();
pw.print(html);
Tomcat原理的一点看法的更多相关文章
- Tomcat 原理篇
TOMCAT 原理篇一.Tomcat 组成(Tomcat 由以下组件组成) 1.server a) Server是一个Catalina Servlet容器: b) Server 可以包含一个或多个se ...
- TOMCAT原理详解及请求过程(转载)
转自https://www.cnblogs.com/hggen/p/6264475.html TOMCAT原理详解及请求过程 Tomcat: Tomcat是一个JSP/Servlet容器.其作为Ser ...
- tomcat原理解析(一):一个简单的实现
tomcat原理解析(一):一个简单的实现 https://blog.csdn.net/qiangcai/article/details/60583330 2017年03月07日 09:54:27 逆 ...
- tomcat原理分析与简单实现
tomcat原理分析与简单实现 https://blog.csdn.net/u014795347/article/details/52328221 2016年08月26日 14:48:18 卫卫羊习习 ...
- Tomcat原理剖析
Tomcat原理学习 理解Tomcat工作原理 Tomcat的概念及启动原理浅析 Tomcat系统架构与设计模式
- 关于js的回调函数的一点看法
算了一下又有好几个月没写博客了,最近在忙公司android的项目,所以也就很少抽时间来写些东西了.刚闲下来,我就翻了翻之前看的东西.做了android之后更加感觉到手机端开发的重要性,现在做nativ ...
- tomcat原理(二)
一.打包JavaWeb应用 在Java中,使用"jar"命令来对将JavaWeb应用打包成一个War包,jar命令的用法如下:
- tomcat原理解析(二):整体架构
一 整体结构 前面tomcat实现原理(一)里面描述了整个tomcat接受一个http请求的简单处理,这里面我们讲下整个tomcat的架构,以便对整体结构有宏观的了解.tomat里面由很多个容器结合在 ...
- Tomcat原理 分类: 原理 2015-06-28 19:26 5人阅读 评论(0) 收藏
Tomcat的模块结构设计的相当好,而且其Web 容器的性能相当出色.JBoss直接就使用了Tomcat的web容器,WebLogic的早期版本也是使用了Tomcat的代码. Web容器的工作过程在下 ...
随机推荐
- css去掉input记住密码的黄色
input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autof ...
- 【zznu-夏季队内积分赛3-I】逛超市
题目描述 “别人总说我瓜,其实我一点也不瓜,大多数时候我都机智的一批“我宝儿姐背包学的太差了,你们谁能帮我解决这道题,我就让他做我的男朋友!宝儿姐现在在逛超市,超市里的种类实在是太多了,每种都有很多很 ...
- UML_00_资源帖
一.官方文档 https://www.uml-diagrams.org/ https://www.omg.org/spec/UML/ 二.精选资料 UML教程-w3cschool UML建模图实战笔记 ...
- 深入浅出down_interruptible
http://blog.csdn.net/ce123_zhouwei/article/details/7547973
- Miscosoft Visual Studio项目guid取值
There isn't an easy way to change the type of a project in Visual Studio project once it is created; ...
- EasyPlayer RTSP Windows(with ActiveX/OCX插件)播放器支持H.265播放与抓图功能
EasyPlayer作为业界一款比较优秀的RTSP播放器,一直深受用户的好评,经过了近3年的开发和迭代,从一开始的简单PC版本的RTSP播放功能,到如今支持PC(支持ocx插件).Android.iO ...
- $timeout
$timeout 会在执行后刷新页面上 与angular 相关的变量,在于jQuery共用修改页面变量时,这很可能会导致刷新跳动的现象:
- 创建第一个python程序:‘Hello World!’
安装好python解释器就可以创建第一个仪式程序Helloworld了 1.Python程序的3种运行方式 1.1.Python解释器直接运行 在Windows或者Linux命令行输入python,进 ...
- 每天一个linux命令:【转载】more命令
more命令,功能类似 cat ,cat命令是整个文件的内容从上到下显示在屏幕上. more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会 ...
- 20165212 学习基础和C语言基础调查
学习基础与C语言基础调查 阅读文章的心得体会 五篇文章都从不同角度阐述了毅力的重要性,打字.减肥.运动各方面,比如“每天一万步”这个任务,人们通过建群聊互相监督.“打卡”的方式来实现坚持的目的,我认为 ...