Lernen am Beispiel funktioniert bei mir
Hier ist ein kurzes Beispiel für Java 6
public class Main {
public static void main(String[] args) {
// Shows a list forced to be Strings only
// The Arrays helper uses generics to identify the return type
// and takes varargs (...) to allow arbitary number of arguments
List<String> genericisedList = Arrays.asList("A","B","C");
// Demonstrates a for:each loop (read as for each item in genericisedList)
for (String item: genericisedList) {
System.out.printf("Using print formatting: %s%n",item);
}
// Note that the object is initialised directly with a primitive (autoboxing)
Integer autoboxedInteger = 1;
System.out.println(autoboxedInteger);
}
}
Mach dir keine Sorgen mit Java5, es ist in Bezug auf Java6 veraltet.
Nächster Schritt, Anmerkungen. Diese definieren lediglich Aspekte für Ihren Code, mit denen Anmerkungsleser die Kesselplatinen-Konfiguration für Sie ausfüllen können. Stellen Sie sich einen einfachen Webdienst vor, der die JAX-RS-Spezifikation verwendet (sie versteht RESTful-URIs). Sie wollen sich nicht die Mühe machen, die fiese WSDL zu machen und mit Axis2 usw. herumzuspielen, sondern ein schnelles Ergebnis erzielen. Richtig, mach das:
// Response to URIs that start with /Service (after the application context name)
@Path("/Service")
public class WebService {
// Respond to GET requests within the /Service selection
@GET
// Specify a path matcher that takes anything and assigns it to rawPathParams
@Path("/{rawPathParams:.*}")
public Response service(@Context HttpServletRequest request, @PathParam("rawPathParams") String rawPathParams) {
// Do some stuff with the raw path parameters
// Return a 200_OK
return Response.status(200).build();
}
}
Knall. Mit ein wenig Konfigurationsmagie in Ihrer web.xml können Sie loslegen. Wenn Sie mit Maven bauen und das Jetty-Plugin konfiguriert haben, verfügt Ihr Projekt über einen eigenen kleinen Webserver (ohne dass Sie mit JBoss oder Tomcat herumspielen müssen), und der obige Code reagiert auf URIs der bilden:
GET http://localhost:8080/contextName/Service/the/raw/path/params
Job erledigt.