版权声明本文为博主原创文章,未经博主允许不得转载。

首先,运行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.在页面中加入这段代码

 <meta http-equiv="Content-Type" content="textml; charset=UTF-8"> 
告诉浏览器,提交的信息,用这个格式
 
2.在serlvet中加入,必须加载请求参数之前 request.getParameter
request.setCharacterEncoding("UTF-8");
 
2.返回给页面的时候

response.setContentType("text/html; charset=UTF-8");//返回浏览器的中文编码,写在输出前
PrintWriter pw = response.getWriter();
pw.print(html);

Tomcat原理的一点看法的更多相关文章

  1. Tomcat 原理篇

    TOMCAT 原理篇一.Tomcat 组成(Tomcat 由以下组件组成) 1.server a) Server是一个Catalina Servlet容器: b) Server 可以包含一个或多个se ...

  2. TOMCAT原理详解及请求过程(转载)

    转自https://www.cnblogs.com/hggen/p/6264475.html TOMCAT原理详解及请求过程 Tomcat: Tomcat是一个JSP/Servlet容器.其作为Ser ...

  3. tomcat原理解析(一):一个简单的实现

    tomcat原理解析(一):一个简单的实现 https://blog.csdn.net/qiangcai/article/details/60583330 2017年03月07日 09:54:27 逆 ...

  4. tomcat原理分析与简单实现

    tomcat原理分析与简单实现 https://blog.csdn.net/u014795347/article/details/52328221 2016年08月26日 14:48:18 卫卫羊习习 ...

  5. Tomcat原理剖析

    Tomcat原理学习 理解Tomcat工作原理 Tomcat的概念及启动原理浅析 Tomcat系统架构与设计模式

  6. 关于js的回调函数的一点看法

    算了一下又有好几个月没写博客了,最近在忙公司android的项目,所以也就很少抽时间来写些东西了.刚闲下来,我就翻了翻之前看的东西.做了android之后更加感觉到手机端开发的重要性,现在做nativ ...

  7. tomcat原理(二)

    一.打包JavaWeb应用 在Java中,使用"jar"命令来对将JavaWeb应用打包成一个War包,jar命令的用法如下:

  8. tomcat原理解析(二):整体架构

    一 整体结构 前面tomcat实现原理(一)里面描述了整个tomcat接受一个http请求的简单处理,这里面我们讲下整个tomcat的架构,以便对整体结构有宏观的了解.tomat里面由很多个容器结合在 ...

  9. Tomcat原理 分类: 原理 2015-06-28 19:26 5人阅读 评论(0) 收藏

    Tomcat的模块结构设计的相当好,而且其Web 容器的性能相当出色.JBoss直接就使用了Tomcat的web容器,WebLogic的早期版本也是使用了Tomcat的代码. Web容器的工作过程在下 ...

随机推荐

  1. css去掉input记住密码的黄色

    input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autof ...

  2. 【zznu-夏季队内积分赛3-I】逛超市

    题目描述 “别人总说我瓜,其实我一点也不瓜,大多数时候我都机智的一批“我宝儿姐背包学的太差了,你们谁能帮我解决这道题,我就让他做我的男朋友!宝儿姐现在在逛超市,超市里的种类实在是太多了,每种都有很多很 ...

  3. UML_00_资源帖

    一.官方文档 https://www.uml-diagrams.org/ https://www.omg.org/spec/UML/ 二.精选资料 UML教程-w3cschool UML建模图实战笔记 ...

  4. 深入浅出down_interruptible

    http://blog.csdn.net/ce123_zhouwei/article/details/7547973

  5. 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; ...

  6. EasyPlayer RTSP Windows(with ActiveX/OCX插件)播放器支持H.265播放与抓图功能

    EasyPlayer作为业界一款比较优秀的RTSP播放器,一直深受用户的好评,经过了近3年的开发和迭代,从一开始的简单PC版本的RTSP播放功能,到如今支持PC(支持ocx插件).Android.iO ...

  7. $timeout

    $timeout 会在执行后刷新页面上 与angular 相关的变量,在于jQuery共用修改页面变量时,这很可能会导致刷新跳动的现象:

  8. 创建第一个python程序:‘Hello World!’

    安装好python解释器就可以创建第一个仪式程序Helloworld了 1.Python程序的3种运行方式 1.1.Python解释器直接运行 在Windows或者Linux命令行输入python,进 ...

  9. 每天一个linux命令:【转载】more命令

    more命令,功能类似 cat ,cat命令是整个文件的内容从上到下显示在屏幕上. more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会 ...

  10. 20165212 学习基础和C语言基础调查

    学习基础与C语言基础调查 阅读文章的心得体会 五篇文章都从不同角度阐述了毅力的重要性,打字.减肥.运动各方面,比如“每天一万步”这个任务,人们通过建群聊互相监督.“打卡”的方式来实现坚持的目的,我认为 ...