Servlet和两种注解方式

Servlet和两种注解方式

Servlet简介

Servlet(Server Applet),是Java Servlet的简称,称为小服务程序服务连接器,用Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于

1).交互式地浏览和生成数据;

2).生成动态Web内容。

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

一般情况下,人们将Servlet理解为后者。

Servlet运行于支持Java的应用服务器中。从原理上讲,Servlet可以响应任何类型的请求,但绝大多数情况下Servlet只用来扩展基于HTTP协议的Web服务器。

最早支持Servlet标准的是JavaSoft的Java Web Server,此后,一些其它的基于Java的Web服务器开始支持标准的Servlet。

Servlet 是在服务器上运行的小程序。

这个词是在 Java applet的环境中创造的,Java applet 是一种当作单独文件跟网页一起发送的小程序,它通常用于在客户端运行,结果得到为用户进行运算或者根据用户互作用定位图形等服务。

服务器上需要一些程序,常常是根据用户输入访问数据库的程序。这些通常是使用公共网关接口(Common Gateway Interface,CGI)应用程序完成的。然而,在服务器上运行 Java,这种程序可使用 Java 编程语言实现。

在通信量大的服务器上,Servlet 的优点在于它们的执行速度更快于 CGI 程序。各个用户请求被激活成单个程序中的一个线程,而无需创建单独的进程,这意味着服务器端处理请求的系统开销将明显降低。

最早支持 Servlet 技术的是 JavaSoft 的 Java Web Server。此后,一些其它的基于 Java 的 Web Server 开始支持标准的 Servlet API。Servlet 的主要功能在于交互式地浏览和修改数据,生成动态 Web 内容。

Servlet 看起来像是通常的 Java 程序。Servlet 导入特定的属于 Java Servlet API 的包。因为是对象字节码,可动态地从网络加载,可以说 Servlet 对 Server 就如同 Applet对 Client 一样,但是,由于 Servlet 运行于 Server 中,它们并不需要一个图形用户界面。从这个角度讲,Servlet 也被称为 FacelessObject。

一个 Servlet 就是 Java 编程语言中的一个类

它被用来扩展服务器的性能,服务器上驻留着可以通过“请求-响应”编程模型来访问的应用程序。虽然 Servlet 可以对任何类型的请求产生响应,但通常只用来扩展 Web 服务器的应用程序。

Servlet的生命周期

Servlet的生命周期,即Servlet从创建到消失的过程

Servlet中主要有三个方法:

1).init()初始化阶段。Servlet容器加载Servlet,加载完成后,Servlet容器会创建一个Servlet实例并调用init()方法;

2).service()处理客户端请求阶段。每收到一个客户端请求,服务器就会产生一个新的线程去处理;

3).destroy()终止阶段。当web应用被终止,或者Servlet容器终止运行,或者Servlet重新装载Servlet新实例时,Servlet容器会调用Servlet的destroy()方法。

两种注解的方式

web.xml注解

<servlet>
	<servlet-name>Actionservlet-name>
	<servlet-class>com.example.servlet.ActionServletservlet-class>servlet>
<servlet-mapping>
	<servlet-name>Actionservlet-name>
	<url-pattern>/actionurl-pattern>
servlet-mapping>

servlet-name对这个Servlet进⾏别名描述,servlet-cass表⽰Servlet类相对路径,url-pattern表⽰访问路径(必须加/)。

动态注释

@WebServlet(name = "ActionServlet",urlPatterns = "/action")public class ActionServlet extends HttpServlet {
	@Override
	protected void doPost(HitpServletRequest request,HltpServletResponse response) throws ServletException, lOException {
	System.out.println("访问了ActionServlet");
	}
	@Override
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws SenvletException, IOException{
	doPost(request,response);
	}
}

注解WebServlet,用来描述一个Servlet,属性name描述Servlet的名字,可选。属性urlPatterns定义访问的URL,或者使用属性value定义访问的URL(定义访问的URL是必选属性)。

(https://wenku.baidu.com/view/6e9df55824284b73f242336c1eb91a37f1113288.html)
借鉴了代码

你可能感兴趣的:(java)