美文网首页
Servlet及容器

Servlet及容器

作者: 已迁至知乎_此不再维护 | 来源:发表于2018-06-22 12:18 被阅读0次

狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。Servlet运行于支持Java的应用服务器中。从原理上讲,Servlet可以响应任何类型的请求,但绝大多数情况下Servlet只用来扩展基于HTTP协议的Web服务器。

Servlet类注释

一个Servlet是一个运行在Web服务器上的Java小程序。Servlet接收并响应来自Web客户端的请求,通常是超文本传输协议(HTTP)。

通常,可以选择继承javax.servlet.GenericServlet类和javax.servlet.http.HttpServlet类。

这个接口定义的方法用于初始化一个Servlet,处理收到的请求,以及从服务器上移除一个Servlet。这些被称为生命周期方法,按以下顺序调用:

  1. init方法中构造并初始化Servlet
  2. 来自于Web客户端的所有请求都将被service方法处理
  3. 服务处理后,将执行destroyed方法销毁Servlet,然后被gc

除了生命周期方法,该接口还提供了getServletConfig方法,Servlet可以通过该方法获取任意的启动信息;该接口还提供了getServletInfo方法,该方法用于Servlet返回自身的一些基本信息,如作者、版本和版权。

Servlet方法注释

  1. public void init(ServletConfig config) throws ServletException;
    由Servlet容器调用,指明该Servlet正在服役。
    Servlet容器在实例化该Servlet之后调用一次init方法。 init方法的调用必须在该Servlet实例可以接收到任何请求之前成功完成。
    如果init方法出现一下两种情况,Servlet容器将不会使用该Servlet实例提供服务:

    • 抛了ServletException异常
    • 未在Web服务器定义的时间内返回
  2. public ServletConfig getServletConfig();
    返回一个ServletConfig对象,该对象包含此Servlet的初始化和启动参数。 返回的ServletConfig对象是传递给init方法的对象。

  3. public void service(ServletRequest req, ServletResponse res)throws ServletException, IOException;
    该方法由Servlet容器调用以响应请求。
    只有在servlet的init方法成功完成后才调用此方法。
    始终应该为出现错误的Servlet设置响应的状态码。
    Servlet通常运行在可同时处理多个请求的多线程servlet容器中。 开发人员必须注意同步对任何共享资源(如文件,网络连接以及servlet的类和实例变量)的访问。 关于多线程编程的Java教程中提供了Java中多线程编程的更多信息。

  4. public String getServletInfo();
    返回有关servlet的信息,例如作者,版本和版权。
    该方法返回的字符串应该是纯文本而不是任何类型的标记(如HTML,XML等)。

  5. public void destroy();
    该由Servlet容器调用,以表明该Servlet正在退出服务。 只有在servlet的服务方法中的所有线程都退出或超时后,才会调用此方法。在Servlet容器调用这个方法之后,它不会再在这个Servlet上调用service方法。
    该方法为Servlet提供了一个清理被保存的资源的机会(例如,内存,文件句柄,线程)。

JSP全称Java Server Pages,是一种动态网页开发技术,其根本是一个简化的Servlet设计。它使用JSP标签在HTML网页中插入Java代码。标签通常以<%开头,以%>结束。从而形成JSP文件,后缀名为(*.jsp)。 用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。
Java Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。

Tomcat

官方网站
官方文档
配置文档
运维生存
Tomcat组成与工作原理

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,它早期的名称为catalina,后来由Apache、Sun 和其他一些公司及个人共同开发而成,并更名为Tomcat。Tomcat 是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选,因为Tomcat 技术先进、性能稳定,成为目前比较流行的Web 应用服务器。

安装

详细安装步骤参考解压后的RUNNING.txt文本。

  1. 下载压缩包
  2. 解压
  3. 配置环境变量
    • CATALINA_HOME(required)
    • CATALINA_BASE(optional)
    • JAVA_HOME(optional)
    • JRE_HOME(required)
    • Other variables (optional)
  4. 除了CATALINA_HOME和CATALINA_BASE两个环境变量,其他变量的配置建议使用setenv脚本

相关文章

  • Servlet及容器

    狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,...

  • Tomcat、Servlet、JSP之间是什么关系

    概述 Tomcat: 是Servlet的容器,Servlet运行在Tomcat容器当中,Servlet容器有很多(...

  • Servlet 工作原理解析

    从 Servlet 容器说起 要介绍 Servlet 必须要先把 Servlet 容器说清楚,Servlet 与 ...

  • servlet架构解析

    从 Servlet 容器说起 要介绍 Servlet 必须要先把 Servlet 容器说清楚,Servlet 与 ...

  • 从servlet容器说起

    要介绍 Servlet 必须要先把 Servlet 容器说清楚,Servlet 与 Servlet 容器的关系有点...

  • Servlet1.0

    什么是Servlet ​​ Tomcat容器等级 ​​ Servlet生命周期 ​​ Servlet容器装载Ser...

  • JavaWeb之Servlet

    概念 Servlet 是服务端的组件,运行在 Servlet 容器中,而 Servlet 容器负责 Servlet...

  • servlet 1.2 servlet容器的作用和处理过程

    servlet 运行在servlet容器中,servlet容器负责servlet和客户端的通信以及调用servle...

  • Servlet基础

    Servlet生命周期 在下列时刻Servlet容器装载Servlet:Servlet容器启动时自动装载某些Ser...

  • servlet线程模型

    讲servlet之前要先讲一下servlet容器,Servlet容器是web server或application...

网友评论

      本文标题:Servlet及容器

      本文链接:https://www.haomeiwen.com/subject/zsckyftx.html