java-ee - sirve - que es java se y java ee
¿Cuál es exactamente la versión de la aplicación web? ¿Qué afecta? (3)
Desde Servlet 3.0 en adelante, Web.xml es opcional. En su lugar, puede usar la anotación @WebServlet
.
Si está utilizando Spring , org.springframework.web.WebApplicationInitializer
se puede usar en su lugar o junto con web.xml.
WebApplicationInitializer:
La interfaz se implementará en entornos Servlet 3.0+ para configurar ServletContext mediante programación, a diferencia de (o posiblemente en conjunto con) el enfoque tradicional basado en web.xml.
Para responder a su pregunta a continuación.
¿Qué afecta? ( En una aplicación de primavera )
versiones de web.xml:
Sin embargo, si WEB-INF/web.xml
está presente en la aplicación, su atributo de versión se debe establecer en "3.0" o superior , de lo contrario ServletContainerInitializer
bootstrapping será ignorado por el contenedor de servlet.
Puede leer el documento completo de Java de WebApplicationInitializer here .
En una aplicación web java, hay un archivo llamado web.xml y tiene un control de versiones.
¿Qué es esto exactamente? ¿Para qué se usa esto?
Here está el SO wiki para web.xml. Pero realmente no me explica mucho.
Le permite definir, declarar y configurar las implementaciones basadas en API Servlet en su aplicación web, como servlets, filtros y oyentes.
¿Alguien puede explicar esto con ejemplos simples tal vez?
Gracias.
Editar:
Ejemplo de control de versiones web.xml:
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
Lo que entiendo del web.xml esp para la parte de web-app version="3.0"
es la versión de su servlet. Entonces, restrinjo mi respuesta a la versión del servlet y por qué es tan importante. Como sabrá, la versión de su servlet controla la mayoría de los otros estándares cuando está programando con Java EE.
Por ejemplo,
JSF 2.0 requiere SERVLET 2.5 viene con JAVA EE5 y WEBLOGIC 10.3.X es compatible con todas estas tecnologías, para otros contenedores debe verificar las notas de la versión. En segundo lugar, JSF 2.1 requiere que SERVLET 3.0 venga con JAVA EE6 y WEBLOGIC 12c sea compatible con todas estas tecnologías. Por supuesto, la compatibilidad con versiones anteriores está garantizada, sin embargo, la mayoría de los casos es posible que haya algunos problemas.
cuando revisamos las notas de la versión 12c de weblogic, destaqué las tecnologías más importantes compatibles con la versión de servlet. Espero que esto también sea útil para ti con la gran respuesta de Miljen Mikic.
Standard Version
Contexts and Dependency Injection for Java EE 1.0
Dependency Injection for Java EE 1.0
Expression Language (EL) 2.2, 2.1, 2.0
Only JSP 2.0 and greater supports Expression Language 2.x.
JAAS 1.0 Full
JASPIC 1.0
Java API for XML-Based Web Services (JAX-WS) 2.2, 2.1, 2.0
Java API for RESTful Web Services (JAX-RS) 1.1
Java Authorization Contract for Containers (JACC) 1.4
**Java EE 6.0**
Java EE Application Deployment 1.2
Java EE Bean Validation 1.1
Jave EE Common Annotations 1.0
Java EE Connector Architecture 1.6
Java EE EJB 3.1
Java EE Enterprise Web Services 1.3, 1.2, 1.1
Jave EE Interceptors 1.1
**Java EE JDBC 4.0, 3.0**
Java EE JMS 1.1, 1.0.2b
Java EE JNDI 1.2
**Java EE JSF 2.1, 2.0, 1.2, 1.1**
Java EE JSP 2.2, 2.1, 2.0, 1.2, and 1.1
JSP 1.2. and 1.1 include Expression Language (EL), but do not support EL 2.x or greater.
Java EE Managed Beans 1.0
**Java EE Servlet 3.0, 2.5, 2.4, 2.3, and 2.2**
Java RMI 1.0
JavaMail 1.4
JAX-B 2.2, 2.1, 2.0
JAX-P 1.3, 1.2, 1.1
JAX-R 1.0
JAX-RPC 1.1
JCE 1.4
**JDKs 6.0 (aka 1.6), 5.0 (aka 1.5, clients only)**
JMX 1.2, 1.0
JPA 2.0, 1.0
JSR 77: Java EE Management 1.1
JSTL 1.2
Managed Beans 1.0
OTS/JTA OTS 1.2 and JTA 1.1
RMI/IIOP 1.0
SOAP Attachments for Java (SAAJ) 1.3, 1.2
Streaming API for XML (StAX) 1.0
Web Services Metadata for the Java Platform 2.0, 1.1
Web.xml
es un lugar central donde se define la configuración de su aplicación web. Por ejemplo, puede especificar allí:
- mapeo de servlet, es decir, qué ruta de URL hace referencia a qué clase de Java (por ejemplo, cuando el usuario escribe http://something.com/Koray puede dirigir esa solicitud a la clase KorayServlet.java donde se guarda la implementación del servlet)
- parámetros de autorización, por ejemplo, que el usuario Tugay tenga acceso a http://something.com/Koray/pictures , pero no a http://something.com/Koray/documents
- todas las demás configuraciones de seguridad, por ejemplo, cuando alguien intenta abrir http://something.com/Restricted , lo redirecciona a https : //something.com/Restricted, es decir, tiene que usar SSL
- página de bienvenida de su sitio web (por ejemplo, cuando el usuario escribe http://something.com/Koray lo redirecciona a http://something.com/Koray/index.html )
También sugeriría investigar la especificación de Servlet 3.0, donde muchos de estos parámetros se pueden establecer a través de anotaciones.
Versiones
El control de versiones se refiere a la versión del esquema XML que la sintaxis de su archivo web.xml
debe obedecer. Más importante aún, también indica la versión de la especificación de Servlet que implementa su aplicación. Un ejemplo de cómo debería comenzar Servlet 3.0- web.xml
:
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
La mayoría de los IDE generarán automáticamente esa parte de web.xml
. Si va a cambiarlo manualmente por alguna razón, tenga cuidado de hacer coincidir las versiones de la aplicación web y xsd; vea esta respuesta, por ejemplo.
Para ver ejemplos concretos de web.xml
, consulte: