Servlet的理解
一、什么是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的理解的更多相关文章
- 初识JAVA,对servlet的理解
一.WEB开发的简单理解 Web开发是一个指代网页或站点编写过程的广义术语.网页使用 HTML.CSS 和 JavaScript编写.这些页面可能是类似于文档的简单文本和图形.页面也能够是交互式的,或 ...
- 异步Servlet的理解与实践
AsyncContext理解 Servlet 3.0(JSR315)定义了Servlet/Filter的异步特性规范. 怎么理解"异步Servlet/Filter"及其使用情景? ...
- Servlet过滤器理解
from:http://blog.csdn.net/microtong/article/details/5007170 过滤器(Filter)的概念 过滤器位于客户端和web应用程序之间,用于检查和修 ...
- servlet清晰理解
servlet介绍 Servlet看起来像是通常的Java程序.它是JSP的前身,在MVC架构中担任Controller的角色,即控制层.主要进行数据的处理操作和流程的控制,并将有关结果存储到Java ...
- servlet详细理解
生命周期 编辑 客户端请求该 Servlet: 加载 Servlet 类到内存: 实例化并调用init()方法初始化该 Servlet: service()(根据请求方法不同调用doGet() 或者 ...
- Java技术分享:如何编写servlet程序
身为计算机专业的我,从接触java至今,已经有七年之久,从最开始的小白到现在的大白,这是一个漫长而曲折的历程. 大学刚接触Java这个学科时,一点儿都不理解java是要干嘛的,只知道学起来肯定不容易, ...
- Servlet(三):获取表单数据、解决乱码和报错问题
在了解了servlet的生命周期以及运行过程后,再来动手写一个小例子,加深对servlet的理解. 一.需求说明 在用户注册信息页面,输入用户名.密码.性别.邮箱等一些信息后,页面返回刚刚填写的信息. ...
- 简单的学生选课系统——基于Servlet+Ajax
以前挖的坑,早晚要往里掉.基础太薄弱,要恶补.在此程序前,我还对Servlet没有一个清晰的概念:一周时间写好此程序之后,对Servlet的理解清晰许多. 这周一直在恶补Spring,今天正好完成了S ...
- Servlet基础使用总结
Servlet通俗理解:主要功能在于交互式地浏览和生成数据,生成动态Web内容.Servlet运行于支持Java的应用服务器中.从原理上讲,Servlet可以响应任何类型的请求,但绝大多数情况下Ser ...
随机推荐
- Hive任务优化(1)
一个Hive查询生成多个Map Reduce Job,一个Map Reduce Job又有Map,Reduce,Spill,Shuffle,Sort等多个阶段,所以针对Hive查询的优化可以大致分为针 ...
- Hadoop安全(1)——————美团Hadoop安全实践
http://tech.meituan.com/hadoop-security-practice.html 前言 在2014年初,我们将线上使用的 Hadoop 1.0 集群切换到 Hadoop 2. ...
- BP算法
1986年Rumelhart和McCelland在<并行分布式处理>中提出了BP算法,即非线性连续变换函数的多层感知器网络误差反向传播算法. 该算法的思想是:学习过程分为信号的正向传播与误 ...
- SpringMVC上传压缩文件,解压文件,并检测上传文件中是否有index.html
SpringMVC上传压缩文件,解压文件,并检测上传文件中是否有index.html 说明: 1.环境:SpringMVC+Spring+Tomcat7+JDK1.7 2.支持 zip和rar格式的压 ...
- mvc的filter
如果想要记录ajax的请求和输出信息.内部发生异常记录日志.需要登录认证.需要权限判断:那mvc的各种filter可以帮助你实现你想要的.Mvc框架支持5种不同类型的过滤器:我会按照执行顺序进行简单的 ...
- Java公开课-01.类和对象
一,类和对象的含义 1.类:类是具有相同属性(静态特征)和行为(功能 )的一系列事物的集合. eg:以下俩者是不是类 1)汽车 √ 2)小胖桌子上那个红色的杯子 × 2.对象:被精确限定到一个特殊 ...
- c# Linq操作XML,查找节点数据
/*查找XML*/ var filePath = Server.MapPath("~/xml/sample.xml"); XDocument doc = XDocument.Loa ...
- MySQL存储过程例子,包含事务,参数,嵌套调用,游标,循环等
drop procedure if exists pro_rep_shadow_rs; delimiter | ---------------------------------- -- rep_sh ...
- AlexNet 网络详解及Tensorflow实现源码
版权声明:本文为博主原创文章,未经博主允许不得转载. 1. 图片数据处理 2. 卷积神经网络 2.1. 卷积层 2.2. 池化层 2.3. 全链层 3. AlexNet 4. 用Tensorflow搭 ...
- C#基础之转换
C#中一共有两种转换方式,隐式转换和显示转换 隐式转换:就是不需要声明就能进行的转换,通俗来说就是小范围内的数据类型转大范围数据类型 显示转换:就是通常说的强制转换,需要在代码中写明要的数据类型.通俗 ...