До аннотаций единственным способом определения любых свойств развертывания было использование дескрипторов развертываний. Для веб-приложений это был web.xml.
From JavaEE 5 annotations were supported
, который позволяет вам определять определенные свойства развертывания. Они были в основном связаны с ресурсами, которые использовали сервлеты. Но все же сервлеты должны определяться только в web.xml.
Starting with Java EE 6, annotations such as @WebServlet, @WebFilter, @WebListener were introduced
, который позволяет вам определять свойства развертывания в самом классе java. Вы не должны упоминать их в web.xml. All the properties you can mention in web.xml can now be provided using @WebSerlvet annotation
. И все еще можно переопределить свойства, используя тег web.xml.
Вот как сервлеты могут быть определены с помощью аннотации:
import javax.servlet.annotation.WebServlet;
@WebServlet(asyncSupported = false, name = "HelloWorldServlet",
urlPatterns = {"/hello"},
initParams = {@WebInitParam(name="param1", value="value1"),
@WebInitParam(name="param2", value="value2")}
)
public HelloWorldServlet extends HttpServlet
{
public void doGet(HttpSerlvetRequest request, HttpServletResponse response)
{
//write hello world.
}
}