Servlet en servidor embebido Jetty
En el tutorial anterior vimos la manera de agregar un servlet a un servidor Apache Tomcat embebido, en esta ocasión haremos la misma tarea salvo que el servidor que utilizaremos esta vez será Jetty, el cual al igual que el servidor anterior también nos permite incluirlo en nuestros proyectos como un servidor embebido.
Agregar las dependencias Jetty Maven.
<dependencies>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-server</artifactId>
<version>${jetty.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-servlet</artifactId>
<version>${jetty.version}</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency>
</dependencies>
Nuestro servlet demostrativo.
public class HelloServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
response.setStatus(HttpServletResponse.SC_OK);
PrintWriter pw = response.getWriter();
pw.println("<h1>Jetty Embedded Servlet</h1>");
pw.println("<p>Servlet dentro de servidor embebido...</p>");
}
}
Ahora, iniciamos el servidor Jetty embebido y registramos el servlet, para esto requerimos el siguiente código:
public class EmbeddedJetty {
public static void main(String[] args) throws Exception {
Server server = new Server(8080);
ServletHandler handler = new ServletHandler();
handler.addServletWithMapping(HelloServlet.class, "/*");
server.setHandler(handler);
server.start();
server.join();
}
}
Explicación del código:
Server server = new Server(8080);
Este código instancia el servidor y lo configura para utilizar el puerto 8080, debemos elegir un número de puerto que este disponible.
ServletHandler handler = new ServletHandler();
handler.addServletWithMapping(HelloServlet.class, "/*");
server.setHandler(handler);
Para utilizar un servlet debemos crear un objeto ServletHandler
usando el método addServletWithMapping(...)
registramos el servlet y la URL que lo mapea, luego debemos añadir el Handler
al servidor.
server.start();
server.join();
Usando lo métodos start()
iniciamos el servidor embebido, join()
espera a que finalice la ejecución.
Probando en el navegador:
Descargar proyecto: jetty-embedded-servlet.zip
Comentarios
Publicar un comentario