Skillnader mellan J2EE 1.3 och 1.4

Det finns fler skillnader än dessa mellan version 1.3 och 1.4. Det här är några av de viktigaste.

J2SE 1.3 -> J2SE 1.4

J2EE 1.3 -> J2EE 1.4

Nya API:er

Övriga utökningar

Ändringar

Servlet 2.3 -> 2.4

Ändringar

Utökningar

EJB 2.0 -> 2.1

Ändringar

Utökningar

JSP 1.2 -> 2.0

Med hjälp av EL och JSTL är det nu relativt lätt att undvika script (dvs Java-kod) i JSP:er. Detta torde vara ytterst lämpligt och underlätta hanteringen av JSP:erna.

Ändringar

Utökningar

Här är ett exempel på en webapplikation som innehåller EL och Simple Tags, chat1.war. Här finns källkoden till Java-klasserna, chat1-src.jar.

JavaServer Pages Standard Tag Library (JSTL) 1.1

Denna specifikation innehåller taggar för bla flödeskontroll, XML-hantering, SQL och internationalisering. Den innehåller även funktioner för strängmanipulering och för att rada på antalet element i en samling. Dessa taglib finns alltid tillgängliga och behöver alltså inte inkluderas i en webapplikation.

Jakarta Taglibs innehåller referensimplementationen av JSTL men även en massa andra taggar.

Här är ett exempel på en webapplikation som innehåller JSTL, chat1.war. Här finns källkoden till Java-klasserna, chat1-src.jar.

Java Authorization Contract for Containers (JACC) 1.0

Denna spec anger ett SPI som kan implementeras för att styra hur principals kopplas till roles.

De implementationer som ska finnas i en service provider är javax.security.jacc.PolicyConfiguration, javax.security.jacc.PolicyConfigurationFactory och eventuellt java.security.Policy. Observera att (enligt avsnitt 3.2) måste en service provider även innehålla ett interface med metoder för att styra hur principals kopplas till roles, trots att något sådant inte finns i Javadocen (javax.security.jacc). Denna mappning får alltså inte vara statisk.

Vilka implementationer (dvs klasser som ska användas anges av system property javax.security.jacc.PolicyConfigurationFactory.provider (anger javax.security.jacc.PolicyConfigurationFactory) och javax.security.jacc.policy.provider (anger java.securty.Policy). Dessa proprties måste alltid anges, specen innehåller inget defaultvärde (däremot har säkert varje server sina egna defaultvärden).

Containern vet detta:

JACC-Service providern vet detta:

Hur går det till att avgöra om en viss rättighet ska ges?

Se kapitel 4, speciellt avsnitt 4.1.3, 4.3.2, 4.7 och 4.8.