Servlet(Server Applet),全称Java Servlet,未有中文译文。是用Java编写的服务器端程序。[1]其主要功能在于交互式地浏览和修改数据,生成动态Web内容。狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。Servlet运行于支持Java的应用服务器中。从实现上讲,Servlet可以响应任何类型的请求,但绝大多数情况下Servlet只用来扩展基于HTTP协议的Web服务器。最早支持Servlet标准的是JavaSoft的Java Web Server。此后,一些其它的基于Java的Web服务器开始支持标准的Servlet。

原理:
1、Servlet执行过程

用户请求一个Servlet,Servlet容器自动构建请求和响应对象,然后执行Servlet的service()方法,该方法会接收请求和响应对象,通过响应对象将处理结果发送给用户。

2、怎么请求Servlet

用户通过一个URL来请求一个Servlet。

3、怎么处理请求

当用户请求Servlet时,容器构建ServletRequest对象request,并传递给Servlet的Service()方法,Service通过request对象获取到请求的参数,然后,根据参数做出相应的处理,通过ServletResponse对象来向客户端发送响应内容。

4、怎么响应客户端

当用户请求一个Servlet时候,容器会自动创建ServletResponse对象response,然后通过response对象向客户端发送响应内容。

5、Servlet的生命周期

a、Servlet的class经过部署,并启动容器

b、(当请求该Servlet时候)容器自动创建Servlet对象xServlet,然后xServlet调用其init()方法。到此,Servlet初始化结束。

c、一旦客户端请求该Servlet,xServlet自动调用service()来处理请求。

d、一旦很长时间都没有请求该Servlet(或者说该Servlet超时),则容器会将xServlet从容器中清除掉。

二、Servlet接口API

1、接口五个方法

2、Servlet的分支

3、Servlet的请求对象ServletRequest

4、Servlet的响应对象ServletResponse

5、Http相关的Servlet

三、总结

1、Servlet是一种规范,称为Servlet规范,是J2EE规范的一部分。

2、Servlet规范定义了Servlet相关的一组接口、其实现是由Servlet容器开发商来实现,类似于JDBC驱动。

3、Servlet的也是类,其对象是通过Servlet容器来创建,Servlet只能在Servlet容器中运行。打个比方说:容器是青山,Servlet是松柏。

4、当客户端请求Servlet时,容器会做两件事情:

a、Servlet容器会将请求自动组装为一个ServletRequest对象,并自动产生一个ServletResponse对象,这两个对象一并传递给Servlet的service(request,response)方法。

b、在该Servlet对象上调用service(request,response)方法来处理并响应用户的请求。

5、用户无法直接调用Servlet的方法,也无法去创建Servlet的实例。

Servlet的原理是什么?相关推荐

  1. Servlet运行原理以及生命周期

    Servlet运行原理 Servlet生命周期定义了一个Servlet如何被加载.初始化,以及它怎样接收请求.响应请求,提供服务.在讨论Servlet生命周期之前,先让我们来看一下这几个方法: 1. ...

  2. servlet工作原理_Servlet 生命周期、工作原理

    Servlet 生命周期:Servlet 加载--->实例化--->服务--->销毁. init():在Servlet的生命周期中,仅执行一次init()方法.它是在服务器装入Ser ...

  3. JSP+JavaBean+Servlet工作原理实例…

    JSP+JavaBean+Servlet工作原理实例讲解 首先,JavaBean和Servlet虽都是Java程序,但是是完全不同的两个概念.引用mz3226960提出的MVC的概念,即M-model ...

  4. Servlet底层原理、Servlet实现方式、Servlet生命周期

    Servlet简介 Servlet定义 Servlet是一个Java应用程序,运行在服务器端,用来处理客户端请求并作出响应的程序. Servlet的特点 (1)Servlet对像,由Servlet容器 ...

  5. Servlet 运行原理

    文章目录 Servlet 如何运行 演示 Servlet 运行原理 Servlet 如何运行 用户向浏览器地址栏输入:http://ip:port/helloweb/sayHello?name=zs ...

  6. java启动servlet_Java Servlet 运行原理分析

    1 Servlet基本执行过程 Web容器(如Tomcat)判断当前请求是否第一次请求Servlet程序 . 如果是第一次,则Web容器执行以下任务: 加载Servlet类. 实例化Servlet类. ...

  7. servlet运行原理和生命周期

    servlet的生命周期分为3个阶段: 1初始化阶段:调用init方法 2响应客户请求阶段:调用service()方法 3终止阶段:调用destroy方法 servlet初始化阶段: 在下列时刻ser ...

  8. easyui ajax方式与后台servlet交互原理

    参考地址:http://www.verydemo.com/demo_c107_i19258.html easyui ajax方式与后台servlet交互原理 easyui ajax是以json数据方式 ...

  9. 什么是servlet ?简述servlet执行原理?生命周期是怎样的?

    servlet就是一个接口,定义了java类被浏览器访问到(被Tomcat识别)的规则,主要负责接收浏览器的请求,tomcat服务器调用servlet方法.步骤:创建 一个javaEE项目,定义一个类 ...

  10. Web开发基础_Servlet学习_0011_Servlet中的多线程安全问题与Servlet运行原理

    Servlet中的多线程安全问题 Servlet运行原理 Servlet中的多线程安全问题 演示 案例演示: 工程案例目录结构 pom.xml: <project xmlns="htt ...

最新文章

  1. php中堆和栈的使用
  2. 写程序时,经常要重载OnPaint,定位很麻烦,现在有个简单办法
  3. Windows Azure 安全最佳实践 - 第 1 部分:深度解析挑战防御对策
  4. java学习(68):局部内部类
  5. C#内存流示例-----gt;用内存流来读取图片
  6. CNCC2017中的深度学习与跨媒体智能
  7. 正整数的唯一分解定理 c语言,SSOJ2662正整数的唯一分解定理
  8. redis的hash类型
  9. Spring Boot集成thymeleaf异步刷新页面
  10. DAY18 面向对象三大特性之继承
  11. DataBase 之 常用操作
  12. 一天已不足24小时?一年不足365天?求每年元旦为周几的公式还能用吗?(标题党石锤了)
  13. HTML5响应式手机模板:H5网站设计——政府街道社区wap微信官网模板(11个页面) HTML+CSS+JavaScript 手机模板wap 手机网站模板 企业手机网站模板
  14. 浏览器地址栏中文乱码问题
  15. CM,AOKP系统没有Logcat 解决办法
  16. 谷歌地图谷歌地图_如何有效使用Google地图
  17. ie下js判断本地office版本
  18. 笔记本电脑外接显示器以后,分辨率不正常的问题
  19. python求e的x次方
  20. StopWatch的源码分析

热门文章

  1. python 转doc为txt
  2. 谷歌引擎html,国内免费使用谷歌翻译引擎
  3. SQLyog安装教程
  4. 微信公众平台开发接口返回码说明
  5. 装双系统出现winload.efi,也就是安装win10,提示0xc0000359
  6. 霍兰德SC型如何选专业?霍兰德职业兴趣测试
  7. 2016国内移动广告平台排行榜
  8. idea导出jar包
  9. (崩溃整理)EDEM多体动力学EDEM-ADAMS耦合步骤,及报错问题分析
  10. css 标签上 title 和 alt 的区别