Leí la respuesta de Tomasz Nurkiewicz que fue votado por 22 personas hasta ahora. Tenga en cuenta que respondió hace 4 años.
Me pregunté por qué necesitaba un archivo xml casi vacío.
y yo tratamos con un hola mundo con Servlets 3.
package com.servlet3;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/helloServlet3")
public class HelloServlet3 extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.print("<html><body>");
out.print("<h3>Hello Servlet</h3>");
out.print("</body></html>");
}
}
y yo soy capaz de ejecutar esta pequeña aplicación web con éxito.

Nota importante:
tenga en cuenta, no es no existe Web.xml en esta muestra.

Por lo tanto, nos No necesidad este tipo de casi vacía web.xml.
pero, web.xml es obligatoria , si necesita autenticación basada en formularios (pero, sin seguridad primavera) .because, no hay ninguna anotación equivalente disponible para <login-config
>.
De acuerdo con este post en SO
<login-config>
<auth-method>FORM</auth-method>
<form-login-config>
<form-login-page>/login</form-login-page>
<form-error-page>/login?event=Retry</form-error-page>
</form-login-config>
</login-config>
... la única manera de configurar la autenticación basada en formularios es mediante el uso de descriptor de despliegue (web.xml o Web-fragment.xml).
De acuerdo con JSR-315 Servlet 3.0 Especificación :: Ch13.6.3 (pg132):
"El descriptor de despliegue de aplicaciones web contiene entradas para un formulario de inicio de sesión y página de error ..."
Especificación solamente refiere al descriptor de despliegue web para la configuración de formulario de inicio de sesión, y no a cualquier anotación configuración basada
UPDATE:.
Lo anterior huelga fuera la información está relacionada con Java EE6.
En Java EE7, Podemos hacer la autenticación basada en formularios forma programática ..
Desde el Java EE7 official tutorial,
48.3.1 Autenticación de usuarios mediante programación
Los siguientes métodos de la interfaz HttpServletRequest le permiten para autenticar usuarios para un programa de aplicación web ticamente
autenticar permite una aplicación para instigar la autenticación de la persona que llama solicitud por el contenedor desde el interior de una solicitud sin restricciones contexto. Un cuadro de diálogo de inicio de sesión muestra y recopila el nombre de usuario y la contraseña con fines de autenticación.
entrada permite que una aplicación para recopilar el nombre de usuario y contraseña información como una alternativa de especificar la autenticación basada en formularios en un descriptor de despliegue de la aplicación .
cerrar sesión permite que una aplicación restablezca la identidad de la persona que llama de una solicitud .
No necesita ningún web.xml en absoluto. Por favor mira [aquí] [1]. Explicado. [1]: http://stackoverflow.com/questions/9967062/servlet-3-0-import-package-of-annotation –