Aprender pelo exemplo funciona para mim
Aqui está um exemplo rápido do Java 6 idiomático
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);
}
}
Não se preocupe com o Java5, ele foi descontinuado em relação ao Java6.
Próxima etapa, anotações. Eles apenas definem aspectos do seu código que permitem que os leitores de anotações preencham a configuração padrão para você. Considere um serviço da web simples que use a especificação JAX-RS (ele entende URIs RESTful). Você não quer se incomodar em fazer todo o WSDL desagradável e mexer com o Axis2 etc, deseja um resultado rápido. Certo, faça o seguinte:
// 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();
}
}
Bang. Com um pouco de magia de configuração no seu web.xml, você está fora. Se você estiver construindo com o Maven e tiver o plug-in Jetty configurado, seu projeto terá seu próprio servidor da Web pronto para uso (sem mexer no JBoss ou Tomcat para você), e o código acima responderá aos URIs do Formato:
GET http://localhost:8080/contextName/Service/the/raw/path/params
Tarefa concluída.