package servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class TestServlet
*/
@WebServlet("/TestServlet")
老师在讲到Servlet的章节的时候着重讲解了Servlet在web.xml中的配置问题,Servlet应该在应用程序的配置文件web.xml中配置之后,才由客户端请求,服务器加载运行。但是在自己做web项目的时候发现Tomcat7.0后版本无需在web.xml中配置Servlet信息,于是寻找一下这个原因。
在对比新旧版本创建的Servlet之后,发现了多了一行注释:
@WebServlet("/TestServlet"),注释的作用是生成文档,跟踪代码依赖性,实现代替配置功能,所以这里推测注解代替了配置的功能,那么为什么在Tomcat7.0之后才不用配置呢?后来查资料看到Tomcat7.0完全支持Servlet3.0,Servlet3.0中有个可插拔框架的新特性,几乎所有基于Java的web框架都建立在servlet之上。现今大多数web框架要么通过servlet、要么通过Web.xml插入。利用标注(Annotation)来定义servlet、listener、filter将使之(可插拔)成为可能。这就可以理解了之前的推测,即注解代替了配置。