Vamos a crear nuestro primer Servlet de una forma sencilla y con solo una clase, o sea, sin crear ningun cliente inicial, el mismo servlet crearia una respuesta al cliente.
Recuerda que tienes que tener instalado el Netbeans EE, o sea el que contiene Java EE. Si no es asi, necesitaras instalarlo.
Abrimos el IDE Netbeans y vamos a "File", "New Project", seleccionamos "Web" y "Web Application" y damos a "Next".
Escribimos el nombre de nuestro proyecto, que en esta ocasion lo llamaremos "MiniCursoServlet", luego "Next".
Ahora seleccionamos el Servidor que vamos a utilizar. En este caso, como ya lo tendras instalado, selecciona "GlassFish" version 3 o version 4, si tienes la 4, selecciona esta. Si no tuvieras este servidor y tienes otro como "Apache Tomcat", tambien puedes utilizar ese, es indiferente.
Le damos a "Next". En la siguiente ventana te pide si vas a trabajar con algun Framenwork, nosotros vamos a saltar esta parte y le daremos a "Finish".
Ya tenemos el proyecto creado y su estructura en carpetas habra quedado asi:
Bien, como puedes observar, tienes cuatro carpetas:
Web Pages
Source Packages
Libraries
Configuration Files
Yo estoy utilizando la version 8 de Netbeans, es posible, que si tienes otra version, no sea exactamente igual a esta estructura, pero es muy parecida.
Puede que en otra version, te haya creado por predeterminado una pagina "index.jsp", si es asi, borra ese archivo.
Ahora, haciendo click derecho de raton sobre la carpeta "Source Package", elegimos "New", luego "Servlet". Si no se encuentra "Servlet", hacer "New" y luego "Other" y elegimos "Web" y "Servlet". Pulsamos en "Next" y ponemos un nombre a nuestro Servlet, en nuestro caso lo llamaremos "PrimerServlet", luego "Next" y "Finish"
Como habras comprobado, se ha creado una clase llamada "PrimerServlet.java" que actuara como Servlet y por predeterminado nos ha dejado un codigo en el que se encuentra el metodo "processRequest()" en el que nosotros lo cambiaremos por "service()". Quiere decir que esto:
Lo cambiaremos por esto:
Hemos borrado todo lo que son comentarios y los metodos "doGet" y "doPost".
Fijate en este codigo:
response.setContentType("text/html;charset=UTF-8");
y
PrintWriter out = response.getWriter()
El primer codigo nos indica la forma en que se generara la pagina de respuesta, en este caso "texto HTML".
En el segundo codigo nos indica el objeto que obtiene de "PrintWriter" que se asocia a la salida de texto de Servlet, esto sera la respuesta.
Quiere decir, que todo lo que ingrese en "out.println()" sera la respuesta que recibira el cliente.
Fijate tambien, que hemos escrito codigo HTML entre comillas, dentro de codigo Java, que significa que estamos devolviendo una respuesta al cliente pero con un lenguage que pueda leer el mismo cliente que es HTML.
Para que lo veas mas claro y comprendas lo que quiero decir, termina de completar el codigo en el Servlet añadiendo lo siguiente:
Hay que cerrar el flujo de datos con el metodo "close()".
Ahora, dirigete al archivo "PrimerServlet.java" y con boton derecho de raton "Run File", se abrira un recuadro donde debes poner "OK", automaticamente se te abrira el navegador de internet y tendras tu primera respuesta del Servlet.
Has creado tu primer Servlet en solitario, pero como comprenderas, esto no es asi exactamente. Necesitamos crear las "Capas" que te he estado comentado para que sea una cosa funcional.