Обучение на примере работает для меня
Вот быстрый пример идиоматической 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), и приведенный выше код будет реагировать на URI-адреса образуют:
GET http://localhost:8080/contextName/Service/the/raw/path/params
Работа сделана.