java的servlet是什么 servlet是什么
本篇文章给大家谈谈java的servlet是什么,以及servlet是什么对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。
servlet是什么
分类:电脑/网络>>程序设计>>其他编程语言
解析:
Servlet是什么
Servlet是使用Java Servlet应用程序设计接口(API)及相关类和方法的 Java程序。除了 Java Servlet API,Servlet还可以使用用以扩展和添加到 API的 Java类软件包。Servlet在启用 Java的 Web服务器上或应用服务器上运行并扩展了该服务器的能力。Java servlet对于Web服务器就好象Java applet对于Web浏览器。Servlet装入Web服务器并在Web服务器内执行,而applet装入Web浏览器并在Web浏览器内执行。Java Servlet API定义了一个servlet和Java使能的服务器之间的一个标准接口,这使得Servlets具有跨服务器平台的特性。
Servlet通过创建一个框架来扩展服务器的能力,以提供在 Web上进行请求和响应服务。当客户机发送请求至服务器时,服务器可以将请求信息发送给 Servlet,并让 Servlet建立起服务器返回给客户机的响应。当启动 Web服务器或客户机第一次请求服务时,可以自动装入 Servlet。装入后, Servlet继续运行直到其它客户机发出请求。Servlet的功能涉及范围很广。例如,Servlet可完成如下功能:
(1)创建并返回一个包含基于客户请求性质的动态内容的完整的 HTML页面。
(2)创建可嵌入到现有 HTML页面中的一部分 HTML页面(HTML片段)。
(3)与其它服务器资源(包括数据库和基于 Java的应用程序)进行通信。
(4)用多个客户机处理连接,接收多个客户机的输入,并将结果广播到多个客户机上。例如,Servlet可
以是多参与者的游戏服务器。
(5)当允许在单连接方式下传送数据的情况下,在浏览器上打开服务器至applet的新连接,并将该连
接保持在打开状态。当允许客户机和服务器简单、高效地执行会话的情况下,applet也可以启动客户浏览器和服务器之间的连接。可以通过定制协议或标准(如 IIOP)进行通信。
(6)对特殊的处理采用 MIME类型过滤数据,例如图像转换和服务器端包括(SSI)。
(7)将定制的处理提供给所有服务器的标准例行程序。例如,Servlet可以修改如何认证用户。
解释一下什么是servlet
Servlet(Server Applet),全称Java Servlet,暂无中文译文。是用Java编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态Web内容。狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。
Servlet运行于支持Java的应用服务器中。从原理上讲,Servlet可以响应任何类型的请求,但绝大多数情况下Servlet只用来扩展基于HTTP协议的Web服务器。
最早支持Servlet标准的是JavaSoft的Java Web Server,此后,一些其它的基于Java的Web服务器开始支持标准的Servlet。
外文名
Servlet
类别
程序
环境
Java applet
平台
Java Web Server
Java中的Servlet的定义,Servlet的具体用途
Servlet是一个实现了Servlet接口的类,一个与访问协议和平台无关的、运行在Servlet容器中的Java程序。
针对Servlet实现技术,SUN公司提供了一套标准的Java Servlet API以便于更快速、规范地开发Servlet程序。这套Servlet API中,最重要的两个软件包是:javax.servlet、javax.servlet.http。
javax.servlet是一个与通信协议无关的通用软件包;javax.servlet.http是一个支持HTTP访问协议的软件包,这两个软件包的同时存在,使得Servlet API能支持任何协议的请求/响应。
在javax.servle中,包含着一套常用接口,负责承担指定的任务。下表中列出了常用的类和接口:
主要类结构图:
javax.servlet软件包:
javax.servlet包中定义了与通信协议无关的接口和类。
常用接口:
RequestDispatcher、Servlet、ServletConfig、ServletContext、ServletRequest、ServletResponse。
常用类:
GenericServlet、ServletInputStream、ServletOutputStream。
1、RequestDispatcher接口
public interface RequestDispatcher;
资源调度器接口,用于定义一个在服务器内部直接实现资源转发的对象。
RequestDispatcher对象由Servlet容器创建,用于封装并调度由一个特定的URL定义的服务器资源。
(1)请求传递方法
public void forward(ServletRequest request,
ServletReponse response) throws ServletException,IOException
从一个Servlet向服务器上的另一个资源传递请求。
将请求转发给其他资源时,将由被调用的资源负责对请求作出响应,而原先Servlet的执行则终止。
public void include(ServletRequest request,
ServletResponse response) throws ServletException,IOException
从一个Servlet向服务器上的另一个资源传递请求。
将请求转发给其他资源时,被调用的Servlet对该请求作出的响应将并入原先的响应对象中,原先的Servlet还可以继续输出响应消息。
2、Servlet接口
public interface Servlet;
开发一个Servlet需要实现的基础接口。
接口中定义了5个方法:
init():Servlet初始化方法,通过init()方法可以获得容器创建的ServletConfig对象
service():请求处理方法
destroy():Servlet实例销毁方法
getServletConfig():获取ServletConfig配置对象方法
getServletInfo():获取Servlet相关信息方法
(1)初始化方法
public void init(ServletConfig config) throws ServletException
Servlet容器会在Servlet实例化之后,调用init方法对Servlet对象进行初始化,该方法由Servlet容器顺序调用,无需Servlet自身考虑何时执行。
(2)服务方法
public void service(ServletRequest request,
ServletResponse response) throws ServletException,IOException
当Servlet容器接收到客户请求时,调用service方法响应客户请求,service方法在Servlet实例化、初始化之后被调用,并且可以被多次调用。
(3)销毁方法
public void destroy()
当Servlet实例从服务器中移除或服务停止时,Servlet容器调用destroy方法销毁Servlet实例。
(4)获取Servlet配置对象方法
public ServletConfig getServletConfig()
获取一个由Servlet容器创建的ServletConfig配置对象,这个对象常常用在Servlet初始化方法中,将初始化参数封装在ServletConfig对象中,然后传递给Servlet。
(5)获取Servlet相关信息方法
public String getServletInfo()
获取关于Servlet的一些相关信息,返回的字符串是纯文本格式而不带有任何标记(例如:HTML、XML等)。
3、ServletConfig接口
public interface ServletConfig;
Servlet配置信息接口,在Servlet初始化时,Servlet容器将Servlet初始化参数封装在ServletConfig对象中,并传递给Servlet,一个Servlet实例只有一个ServletConfig对象。
接口中,只定义了4个方法:
getInitParameter():获取Servlet指定初始化参数的值
getInitParameterNames():获取Servlet所有初始化参数名称
getServletContext():获取Servlet容器为WEB应用创建的Servlet上下文环境对象ServletContext
getServletName():获取Servlet名称
(1)获取初始化参数方法
public String getInitParameter(String name)
根据初始化参数名称,获取Servlet指定初始化参数的值,如果指定的参数不存在,返回空值null。
public Enumeration getInitParameterNames()
获取Servlet所有初始化参数名称,如果Servlet没有初始化参数,返回一个空列表。
(2)获取Servlet上下文环境方法
public ServletContext getServletContext()
获取Servlet容器为WEB应用创建的Servlet上下文环境对象ServletContext,WEB服务器启动的时候,在加载WEB应用时,为每个加载的WEB应用创建一个代表WEB应用Servlet上下文环境对象。
(3)获取Servlet名称方法
public String getServletName()
获取正在访问的这个Servlet的名称。
以上就是Servlet相关问题的解答,更多关于Java Web方面的问题可以看下这个详细的视频教程网页链接,希望我的回答能帮到你。
OK,本文到此结束,希望对大家有所帮助。