Belajar dengan contoh bermanfaat bagi saya
Berikut adalah contoh cepat Java 6 idiomatik
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);
}
}
Jangan repot-repot dengan Java5, itu sudah usang sehubungan dengan Java6.
Langkah selanjutnya, anotasi. Ini hanya mendefinisikan aspek kode Anda yang memungkinkan pembaca anotasi untuk mengisi konfigurasi boilerplate untuk Anda. Pertimbangkan layanan web sederhana yang menggunakan spesifikasi JAX-RS (mengerti URI tenang). Anda tidak ingin repot-repot melakukan semua WSDL jahat dan bercanda dengan Axis2 dll, Anda ingin hasil yang cepat. Benar, lakukan ini:
// 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 Dengan sedikit tabir konfigurasi sihir di web.xml Anda tidak aktif. Jika Anda membangun dengan Maven dan mengonfigurasi plugin Jetty, proyek Anda akan memiliki server web kecil itu sendiri di luar kotak (tidak ada mengutak-atik JBoss atau Tomcat untuk Anda), dan kode di atas akan menanggapi URI dari bentuk:
GET http://localhost:8080/contextName/Service/the/raw/path/params
Pekerjaan selesai.