一、什么是Servlet?

  Servlet是用Java编写的web组件,实际上可以简单的理解为是用来处理请求的,为什么这么说,看了它的生命周期就知道了。

二、常见的Servlet容器

  4容器顾名思义是装东西的,Servlet容器里面装的就都是Servlet,容器会根据请求选择不同的Servlet处理。 

  Weblogic,Jboss,Tomcat等这些都是常见常用的Servlet容器。

三、Tomcat容器的层级

  知道了容器,那么来看看容器的内部构造,因为我只用过tomcat所以这里已tomcat来讲,其他的应该八九不离十。

  Tomcat容器一共分为4个层级:Container,Servlet,Context,Wrapper,其中一个Context代表了一个项目。

四、Servlet的生命周期

  在讲Servlet生命周期前,先介绍参与周期的几个角色:Client(客户端),Web服务器,Servlet容器(Tomcat,WebLogic,Jboss...)

  [1]一切请求都始于用户,那么第一步,Client端像Web服务器发送请求;

  [2]Web服务器接收Client端请求后,将请求转发给了Servlet容器;

  [3]容器拿到请求后,根据请求的Url寻找对应的Servlet去处理这个请求;

    但事情往往不会辣么顺利,万一没找到对应的肿么办,这时候容器会去加载Servlet,并把它驻入容器内;

  [4]这里提一下,如果Servlet是第一次被加载的,那么会调用它的init()方法去初始化;

  [5]调用Servlet的Service()方法去处理请求,并创建一个响应;

  [6]web服务器将处理的结果返回给Client端;

五、Servlet,Jsp的区别

  面试的时候可能会被问到这两个的区别,那么这里谈一下个人的理解:

  [1] 看本质的话,Jsp的本质其实就是Servlet,如果用Servlet去写页面,不但乱还难以维护,那么Jsp就诞生了;

  [2]有了Jsp后,Jsp只负责表现层,那么Servlet只负责逻辑层的处理;

  [3]JVM只识别Java代码,它是不认你JSP的,那么些JSP为什么还能运行呢?那是因为JSP在第一次加载时被编译成了Servlet驻留在内存中了;

Servlet的理解的更多相关文章

  1. 初识JAVA,对servlet的理解

    一.WEB开发的简单理解 Web开发是一个指代网页或站点编写过程的广义术语.网页使用 HTML.CSS 和 JavaScript编写.这些页面可能是类似于文档的简单文本和图形.页面也能够是交互式的,或 ...

  2. 异步Servlet的理解与实践

    AsyncContext理解 Servlet 3.0(JSR315)定义了Servlet/Filter的异步特性规范. 怎么理解"异步Servlet/Filter"及其使用情景? ...

  3. Servlet过滤器理解

    from:http://blog.csdn.net/microtong/article/details/5007170 过滤器(Filter)的概念 过滤器位于客户端和web应用程序之间,用于检查和修 ...

  4. servlet清晰理解

    servlet介绍 Servlet看起来像是通常的Java程序.它是JSP的前身,在MVC架构中担任Controller的角色,即控制层.主要进行数据的处理操作和流程的控制,并将有关结果存储到Java ...

  5. servlet详细理解

    生命周期 编辑 客户端请求该 Servlet: 加载 Servlet 类到内存: 实例化并调用init()方法初始化该 Servlet: service()(根据请求方法不同调用doGet() 或者 ...

  6. Java技术分享:如何编写servlet程序

    身为计算机专业的我,从接触java至今,已经有七年之久,从最开始的小白到现在的大白,这是一个漫长而曲折的历程. 大学刚接触Java这个学科时,一点儿都不理解java是要干嘛的,只知道学起来肯定不容易, ...

  7. Servlet(三):获取表单数据、解决乱码和报错问题

    在了解了servlet的生命周期以及运行过程后,再来动手写一个小例子,加深对servlet的理解. 一.需求说明 在用户注册信息页面,输入用户名.密码.性别.邮箱等一些信息后,页面返回刚刚填写的信息. ...

  8. 简单的学生选课系统——基于Servlet+Ajax

    以前挖的坑,早晚要往里掉.基础太薄弱,要恶补.在此程序前,我还对Servlet没有一个清晰的概念:一周时间写好此程序之后,对Servlet的理解清晰许多. 这周一直在恶补Spring,今天正好完成了S ...

  9. Servlet基础使用总结

    Servlet通俗理解:主要功能在于交互式地浏览和生成数据,生成动态Web内容.Servlet运行于支持Java的应用服务器中.从原理上讲,Servlet可以响应任何类型的请求,但绝大多数情况下Ser ...

随机推荐

  1. 一次生产环境下MongoDB备份还原数据

    最近开发一个版本的功能当中用到了MongoDB分页,懒于造数据,于是就研究了下从生产环境上导出数据到本地来进行测试. 研究了一下,发现MongoDB的备份还原和MySQL语法还挺类似,下面请看详细介绍 ...

  2. 分布式系统中生成全局ID的总结与思考

    世间万物,都有自己唯一的标识,比如人,每个人都有自己的指纹(白夜追凶给我科普的,同卵双胞胎DNA一样,但指纹不一样).又如中国人,每个中国人有自己的身份证.对于计算机,很多时候,也需要为每一份数据生成 ...

  3. 我的第一个python web开发框架(5)——开发前准备工作(了解编码前需要知道的一些常识)

    中午吃饭时间到了,小白赶紧向老菜坐的位置走过去. 小白:老大,中午请你吃饭. 老菜:哈哈...又遇到问题了吧,这次得狠狠宰你一顿才行. 小白:行行行,只要您赏脸,米饭任吃,嘻嘻,我们边走边聊. ... ...

  4. linux的基本java环境搭建

    1.安装rz,sz以便于上传和下载文件 yum install -y lrzsz 2.安装java环境 -- jdk1.8 官网下载jdk1.8:http://www.oracle.com/techn ...

  5. webpack2使用ch2-entry和output简要说明

    1 entry打包入口 打包字符串和数组 const webpack = require('webpack'), path = require('path'); module.exports = { ...

  6. 【转】FTP主动模式和被动模式的比较

    总是记不住FTP主动和被动模式的区别.放在这里,以备日后查阅.   FTP是仅基于TCP的服务,不支持UDP.与众不同的是FTP使用2个端口,一个数据端口和一个命令端口(也可叫做控制端口).通常来说这 ...

  7. JS封装运动框架(另一种写法)

    function animate(obj, json, interval, sp, fn) { clearInterval(obj.timer); //var k = 0; //var j = 0; ...

  8. Vue实现商城里面多个商品计算,全选,删除

    <!--包含 全选/不全选 批量删除 全部金额计算 数量加减--> 简陋的CSS代码 .main{ width: 100%;}.title{ width: 100%; height: 40 ...

  9. k-选取问题

    一.k-选取问题:给定任意一个可比较的序列,从中找出第k个元素(k从0开始,默认是从小到大的次序)的问题称为k-选取(k-selection).k-选取问题有两张退化的情况:1.0-选取问题即是找出序 ...

  10. JS实现时钟特效

    <!DOCTYPE html><html><head lang="en"><meta charset="UTF-8"& ...