En esta pieza, voy a crear un servlet sencillo dentro de un xampp
Nos vamos al directorio:
C:\xampp\tomcat\webapps
En este directorio creamos el directorio de la aplicación (en nuestro caso javi), y dentro de ello creamos el directorio WEB-INF. Dentro de WEB-INF creamos el directorio classes
Dentro del directorio classes podemos meter el fuente de nuestro primer servlet
import java.io.*;
import javax.servlet.http.*;
import javax.servlet.*;
public class HelloServlet extends HttpServlet {
public void doGet (HttpServletRequest req,
HttpServletResponse res)
throws ServletException, IOException
{
PrintWriter out = res.getWriter();
out.println("Hola Javi");
out.close();
}
}
Para compilar utilizamos el comando javac, pero es necesario especificar un classpath a las librerías de servlet
javac HelloServlet.java -classpath C:\xampp\tomcat\lib\servlet-api.jar
Dentro del directorio de WEB-INF, creamos el archivo web.xml, que será el que contenga la descripción de nuestro servlet
web.xml
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1"
metadata-complete="true">
<servlet>
<servlet-name>hello</servlet-name>
<servlet-class>HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
</web-app>
En esta configuración decimos el nombre del servlet y como se llama la clase que ejecuta en la sección de <servlet>
En la sección de <servlet-mapping> decimos ese mismo nombre de servlet y la url que tenemos que introducir para ejecutarse
Ahora solo queda apagar y encender el tomcat y probarlo
Si creamos otro servlet dentro de la misma aplicación, podría ser este:
import java.io.*;
import javax.servlet.http.*;
import javax.servlet.*;
public class aa extends HttpServlet {
public void doGet (HttpServletRequest req,
HttpServletResponse res)
throws ServletException, IOException
{
PrintWriter out = res.getWriter();
out.println("<b>AA</b> está en negrita ");
out.close();
}
Se compila
javac aa.java -classpath C:\xampp\tomcat\lib\servlet-api.jar
Se configura en web.xml
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1"
metadata-complete="true">
<servlet>
<servlet-name>hello</servlet-name>
<servlet-class>HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>negro</servlet-name>
<servlet-class>aa</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>negro</servlet-name>
<url-pattern>/aanegro</url-pattern>
</servlet-mapping>
Se apaga y enciende tomcat y se prueba