zoukankan      html  css  js  c++  java
  • Servlet 简介

    一.Servlet简介

    了解Servlet之前,先要知道一些基本概念:

    1、Web服务器(web server)

    Web服务器使用HTTP协议来传输数据。最简单的一种情况是,用户在浏览器(客户端,client)中输入一个URL(如,www.xxx/xx.html),然后就能获取网页进行阅览。因此,服务器完成的工作就是发送网页至客户端。传输过程遵循HTTP协议,它指明了请求(request)消息和响应(response)消息的格式。

    2、什么是Tomcat

    Tomcat是Java Servlet,JavaServer Pages,Java Expression Language和Java WebSocket(Java EE)技术的开源实现。

    Tomcat是一个WEB服务器: 可以通过HTTP提供HTML页面等静态内容的请求访问。

    Tomcat是Servlet容器: 因为实现了Servlet规范,可以运行Servlet程序

    Tomcat是应用服务器:可以通过Servlet容器,调用Servlet处理动态请求。

    所以Tomcat是一个Java(EE) Web应用服务器。

    3、什么是Servlet

    Servlet是SUN公司推出的在服务器端处理HTTP协议的组件规范

    4、Java Servlet

    Java Servlet是和平台无关的服务器端组件,它运行在Servlet容器中。Servlet容器负责Servlet和客户端的通信以及调用Servlet的方法,Servlet和客户端采用“请求/相应”的模式。

    Servlet可以完成的功能:

      1)创建并返回基于客户端请求的动态HTML页面

      2)创建可嵌入到现有HTML页面中的部分HTML页面(HTML片段)

          3)与其它服务器资源(如数据库或基于Java的应用程序)进行通信

    二、Servlet的运行原理

    1、浏览器通过向服务器发送的ip地址,端口号等信息与服务器建立连接。
    2、建立连接后浏览器端通信组件将请求数据打包,然后将请求数据发送给服务器。
    3、服务器接收到用户请求数据后服务器端通信组件将数据拆包。
    4、创建request请求对象和response响应对象。
    5、创建Servlet实例对象后调用该实例对象的doGet/doPost/service方法传入request请求对象和response响应对象。
    6、request请求对象接收请求信息数据,处理完毕后由response相应对象将处理结果进行响应。
    7、服务器端通信组件将响应信息打包并发送给浏览器。
    8、浏览器接收到响应信息后通信组件将其拆包并将数据展示在浏览器页面
    9、响应结束与服务器端口断开连接。

      

    三. 每一个Servlet都必须实现Servlet接口。

    GenericServlet是个通用的、不特定于任何协议的Servlet, 它实现了Servlet接口,而Httpservlet继承于GenericSerlet, 因此HttpServlet也实现了Servlet接口,所以我们定义的Servlet只需要继承HttpServlet父类即可。

     3. Servlet接口中定义了一个service方法,HttpServlet对该方法进行了实现, 实现方式就是将ServletResponse与ServletRequest转换为HttpServletResponse与HttpServletRequest。 转换完毕后,调用自定义的service方法。

    四. Servlet的生命周期

    init方法 : 负责初始化Servlet对象

    service方法: 负责响应客户的请求

    destory方法: 当Servlet对象退出生命周期时,负责释放占用的资源

    五、Servlent核心API

    六. Servlet的初始化阶段

      Servlet容器启动时,自动装载某些Servlet

      Servlet容器启动后,客户首次向Servlet发出请求

      Servlet的文件被更新后,重新装载Servlet

    参考:

    1、什么是servlet?servlet的运行原理?

  • 相关阅读:
    2017-2018-2 《密码与安全新技术》课程总结
    2017-2018-2 《密码与安全新技术》论文总结
    2017-2018-2 20179226 《网络攻防》第14周作业
    2017-2018-2 《密码与安全新技术》第6周作业
    2017-2018-2 20179226 《网络攻防》第12周作业
    2017-2018-2 20179226 《网络攻防》第11周作业
    2017-2018-2 《密码与安全新技术》第5周作业
    2017-2018-2 20179226 《网络攻防》第10周作业
    2017-2018-2 《密码与安全新技术》第4周作业
    2017-2018-2 20179226 《网络攻防》第8周作业
  • 原文地址:https://www.cnblogs.com/linlf03/p/7673987.html
Copyright © 2011-2022 走看看