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类,继承HttpServlet类
重写HttpServlet类的doGet方法和doPost方法
配置web.xml文件,或者使用注解对servlet进行配置标准的Servlet。
对servlet进行配置:一种是使用web.xml文件配置,另一种是使用注解配置。
使用web.xml文件配置:
servlet的配置内容要写在webapp内部
<webapp><!-- 配置一个servlet --> <!-- servlet的配置 --> <servlet> <!-- servlet的内部名称,自定义。尽量有意义 --> <servlet-name>MyServlet</servlet-name> <!-- servlet的类全名: 包名+简单类名 --> <servlet-class>cn.roobtyan.servlet.FirstServlet</servlet-class> </servlet> <!-- servlet的映射配置 --> <servlet-mapping> <!-- servlet的内部名称,一定要和上面的内部名称保持一致!! --> <servlet-name>MyServlet</servlet-name> <!-- servlet的映射路径(访问servlet的名称) --> <url-pattern>/first</url-pattern> </servlet-mapping></webapp>
当访问/first时,服务器就会把请求交给MyServlet进行处理。
使用@注解配置
新版本的servlet支持使用注解进行配置。
注解配置如下:
@WebServlet(name = "LoginServlet",urlPatterns = {"/login"})public class LoginServlet extends HttpServlet {}
在访问/login的时候,服务器就会将处理交由LoginServlet进行处理。
实际上,注解的作用和web.xml的作用是相同的,但一般推荐使用注解的方式进行开发,因为简便且可读性更加强大。
Servlet命名
Servlet 的命名可以看出 sun 命名的特点。
-
生命周期编辑
-
客户端请求该 Servlet;
-
加载 Servlet 类到内存;
-
实例化并调用init()方法初始化该 Servlet;
-
service()(根据请求方法不同调用doGet() 或者 doPost(),此外还有doHead()、doPut()、doTrace()、doDelete()、doOptions());
-
destroy()。
-
加载和实例化 Servlet。这项操作一般是动态执行的。然而,Server 通常会提供一个管理的选项,用于在 Server 启动时强制装载和初始化特定的 Servlet。