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容器的工作过程在下 ...
随机推荐
- mysql和SqlServer 中取得汉字字段的各汉字首字母
mysql 中取得汉字字段的各汉字首字母 这个转载于http://blog.csdn.net/lky5387/article/details/11973721 DELIMITER ;;CREATE ...
- lambda表达式 <二>
概念了解: 1.什么是匿名委托(匿名方法的简单介绍.为什么要用匿名方法) 2.匿名方法的[拉姆达表达式]方法定义 3.匿名方法的调用(匿名方法的参数传递.使用过程中需要注意什么) 什么是匿名方法? 匿 ...
- form表单注册——HTML
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...
- Bing的Translation API 接入
参考: https://msdn.microsoft.com/zh-cn/library/mt146806.aspx 首先你需要一个Microsoft的帐号,如果没有在这里注册一下 https://s ...
- CentOS7 修改默认时区为 北京时间
首先同步时间 yum install -y ntpdate ntpdate -u cn.pool.ntp.org 然后设置中国时区(北京时间) timedatectl set-timezone Asi ...
- Linux(CentOS7)下发送邮件(使用Gmail作为发件服务器)
参考下述文章的思路,补充了在Gmail上的相关设置 https://gist.github.com/ilkereroglu/aa6c868153d1c5d57cd8 1.安装mailx yum ins ...
- 解决apt-get安装中的E: Sub-process /usr/bin/dpkg returned an error code (1)问题
在用apt-get安装软件包的时候遇到E: Sub-process /usr/bin/dpkg returned an error code (1)问题,解决方法如下: cd /var/lib/dpk ...
- 设计模式 - 代理模式(Proxy Pattern)
一.引言 在软件开发过程中,有些对象有时候会由于网络或其他的障碍,以至于不能够或者不能直接访问到这些对象,如果直接访问对象给系统带来不必要的复杂性,这时候可以在客户端和目标对象之间增加一层中间层,让代 ...
- iOS通讯录相关知识-浅析
本文来自于:贞娃儿的博客 http://blog.sina.com.cn/zhenwawaer 在开发一些应用中,我们如果需要iPhone设备中的通讯录信息.或者,需要开发通讯录相关的一些功能.那 ...
- 高德地图 Android编程中 如何设置使 标记 marker 能够被拖拽
由于本人对智能手机真心的不太会用,我本人大概是不到3年前才买的智能手机,用以前的索尼爱立信手机比较方便小巧,平时学习工作打个电话发个短信也就够了,出去吃饭一般都是朋友拿手机去弄什么美团团购啥的,然后我 ...