Servlet & Jsp

Posted lucky1024

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Servlet & Jsp相关的知识,希望对你有一定的参考价值。

什么是servlet

servlet是一门用于开发动态web资源的技术,可以运行在Web服务器中的小型Java程序,有时也叫做服务器端的小应用程序。servlet 可以通过 HTTP协议接收和响应来自 Web 客户端的请求。
servlet的语法跟JavaSE是一样的并且能够使用JavaSE中的API,要想创建一个动态资源可以分为以下两步:

  1. 编写一个Java类,实现javax.servlet.Servlet接口,该接口在servlet-api.jar包中
  2. 将这个Java类部署在web服务器中

web浏览器响应过程

技术图片

 

 

servlet执行流程

 

 

技术图片

 Servlet的生命周期可以分为四个阶段,即装载类及创建实例阶段、初始化阶段(调用init方法)、服务阶段(调用service方法)和实例销毁阶段(调用distroy方法)

 

servlet体系结构

技术图片

 


servlet的层级结构和常用的类的描述:

  1. GenericServlet类:抽象类,定义一个通用的、独立于底层协议的Servlet。
  2. 大多数Servlet通过从GenericServlet或HttpServlet类进行扩展来实现。
  3. ServletConfig接口定义了在Servlet初始化的过程中由Servlet容器传递给Servlet得配置信息对象。
  4. HttpServletRequest接口扩展ServletRequest接口,为HTTP Servlet提供HTTP请求信息。
  5. HttpServlet是GenericServlet的子类。
  6. GenericServlet是个抽象类,必须给出子类才能实例化。它给出了设计servlet的一些骨架,定义了servlet生命周期,还有一些得到名字、配置、初始化参数的方法,其设计的是和应用层协议无关的,也就是说 你有可能用非http协议实现它。
  7. HttpServlet是子类,当然就具有GenericServlet的一切特性,还添加了doGet, doPost, doDelete, doPut, doTrace等方法对应处理http协议里的命令的请求响应过程。
  8. 一般没有特殊需要,自己写的Servlet都扩展HttpServlet 。

 

以上是关于Servlet & Jsp的主要内容,如果未能解决你的问题,请参考以下文章

JspServlet

Servlet在启动时加载的tomcat源码(原创)

覆盖 JSP servlet(过滤器“*.jsp”)以包装身份验证模型

javax.servlet.ServletException: java.lang.NoClassDefFoundError: javax/servlet/Servlet

JSPServlet中的相对路径和绝对路径

详解DefaultServlet与JspServlet