Навчання на прикладі працює для мене
Ось короткий приклад ідіоматичної 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);
}
}
Не турбуйтеся з Java5, вона відносно Java6 застаріла.
Наступний крок, анотації. Вони просто визначають аспекти вашого коду, які дозволяють читачам анотацій заповнити конфігурацію котла для вас. Розглянемо простий веб-сервіс, який використовує специфікацію JAX-RS (він розуміє RESTful URI). Ви не хочете турбуватися робити всі противні WSDL та спілкуватися з Axis2 тощо, ви хочете швидкого результату. Правильно, зробіть це:
// 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();
}
}
Вибух. Трохи посипавши магію конфігурації у своєму web.xml, ви вимкнетесь. Якщо ви будуєте з Maven і у вас налаштований плагін Jetty, ваш проект буде мати власний маленький веб-сервер прямо з коробки (не маніпулюючи з JBoss або Tomcat для вас), і вищевказаний код відповість на URIs форма:
GET http://localhost:8080/contextName/Service/the/raw/path/params
Робота виконана.