Servlet技术是Sun公司提供的一种实现动态网页的解决方案,它是基于Java编程语言的WEB服务器端编程技术,主要用于在WEB服务器端获得客户端的访问请求信息和动态生成对客户端的响应消息。
请求到达服务器,容器根据标注找到指定的servlet,servlet响应请求。具体特点参考3.2。
控制台测试:
public class ServletTest implements Servlet { @Override public void init(ServletConfig arg0) throws ServletException { System.out.println("init()..."); } @Override public void service(ServletRequest arg0, ServletResponse arg1) throws ServletException, IOException { System.out.println("service()..."); } @Override public void destroy() { System.out.println("destory()..."); } @Override public ServletConfig getServletConfig() { System.out.println("getServletConfig()..."); return null; } @Override public String getServletInfo() { System.out.println("getServletInfo()..."); return null; } }绑定链接:
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" id="WebApp_ID" version="4.0"> <servlet> <servlet-name>sample</servlet-name> <servlet-class>ServletTest</servlet-class> </servlet> <servlet-mapping> <servlet-name>sample</servlet-name> <url-pattern>/test</url-pattern> </servlet-mapping> </web-app>
Servlet: 如上述结果所示,init()方法在服务器启动时启动且仅执行一次。service()方法在每次请求过程中都会被执行。destroy()方法则在服务器关闭时执行也仅执行一次。 通过上述实践可以发现servlet由我们实现具体细节,但是创建servlet对象以及调用均由web容器实现。