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.在页面中加入这段代码
ml; charset=UTF-8"> 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容器的工作过程在下 ...
随机推荐
- laravel中上传图片之后图片的处理
$file=Input::file('file'); if ($file->isValid()){ $entension=$file->getClientOriginalExtension ...
- ASP.NET MVC 路由系统类
RouteData public class RouteData { private RouteValueDictionary _dataTokens; private IRouteHandler _ ...
- C++复习2.软件开发知识小节
高质量的软件开发 1.满足正确性,健壮性,可靠性,性能,易用性,清晰性,安全性,兼容性,扩展性,可移植性等等来评价软件的质量. 2.没有错误的程序世间难求,任何一个程序,无论他多么的小,总是存在着错误 ...
- nodejs编译sass模块包 node-compass,与gulp包gulp-sass使用方法
简介:node express或者就是node项目中,要自动编译sass方法很多,比如gulp 比如考拉,比如今天我想说的这个包node-compass. 编译sass的三种方法: 前提条件: 都需要 ...
- Linux文件在系统中传输
一.文件的传输 1.命令:scp scp file user@ip:/dir ##把当前系统目录下的文件file复制到另一个系统目录下 scp user@ip:/file dir 2.命令:rsync ...
- Java泛型常见面试题
怀着崇拜的心情读完这篇文章,却发现作者不是原创,而不标注转载~所以转载地址不详~ 1. Java中的泛型是什么 ? 使用泛型的好处是什么? 这是在各种Java泛型面试中,一开场你就会被问到的问题中的一 ...
- 一张图说明HTTPS 握手过程
- String.prototype.getParm
String.prototype.getParms=function(name){ var reg = new RegExp('(^|&)' + name + '=([^&]*)(&a ...
- [CSAPP笔记]Binary , Unsigned , Signed 之间的相互装换
LaTex+MarkDown+Pandoc组合套件写博客的处女作,试试效果.各自的分工为:Latex下编辑公式,在Sublime Text 2下使用Markdown排版,最后用Pandoc导出. 摘要 ...
- Android Dialog 创建上下文菜单
Android Dialog中的listview创建上下文菜单 listView.setOnCreateContextMenuListener(new OnCreateContextMenuListe ...