Tabla de contenido
3. Crea una estructura de directorios
7. Procedimiento de verificación
Después de aprender y usar Maven, podemos implementar un programa de servlet en siete pasos basado en Maven
1. Crea un proyecto
2. Introducir dependencias
3. Crea una estructura de directorios
4. Escribir código de servlet
5. Embalaje
6. Despliegue
7. Procedimiento de verificación
1. Crea un programa
2. Introducir dependencias
Busque servlets a través del repositorio central de Maven:
Seleccione el primero y busque la versión 3.1.0
Copie el código en Maven:
Cree la etiqueta <dependencies> y copie el código en pom.xml:
Haga clic para actualizar:
La importación de dependencias está completa.
3. Crea una estructura de directorios
1. Seleccione principal y haga clic derecho para crear un directorio llamado webapp
2. Haga clic derecho en la aplicación web y cree un nuevo directorio llamado WEB-INF
3. Haga clic derecho en WEB-INF para crear un archivo web.xml
Luego, podemos escribir algo en web.xml; podemos poner estos códigos de uso común en gitee
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
<display-name>Archetype Created Web Application</display-name>
</web-app>
4. Escribir código de servlet
Primero cree una clase java en el directorio java, TestServlet, que hereda de HttpServlet; si el código se vuelve popular, significa que HttpServlet no se ha importado correctamente, simplemente haga clic en Actualizar en maven.
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public class TestServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
}
}
HttpServletRequest req representa una solicitud http, y HttpServletResponse resp representa una respuesta http. No hay código en el método actual. Aquí resp es un objeto de respuesta vacío. Es necesario establecer algunas propiedades en este método. Lo que debe hacer el método doGet es para calcular de acuerdo con la respuesta de la solicitud
Dado que el servidor acepta la solicitud y analiza y construye los datos de respuesta y los envía al cliente, Tomcat ya lo ha hecho por nosotros, por lo que solo necesitamos completar el cálculo de la respuesta en función de la solicitud.
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.getWriter().write("test servlet"+System.currentTimeMillis());
}
getWriter en realidad devuelve un objeto Writer. El objeto Writer aquí no escribe en el archivo; escribe datos en el cuerpo de la respuesta http; write() se usa realmente para trabajar, el método de escribir datos
Al mismo tiempo, debe agregar una anotación @WebServlet("/test") en la clase, indicando que entre las solicitudes recibidas por Tomcat, el código de la clase TestServlet se llamará solo
cuando la ruta sea /test. (Esta ruta no incluye la ruta de contexto)
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet("/test")
public class TestServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.getWriter().write("test servlet"+System.currentTimeMillis());
}
}
5. Embalaje
Use empaquetado para poner el programa en Tomcat para ejecutar
Utilice maven para el embalaje. Abra la ventana de Maven (por lo general, puede ver la ventana de Maven en el lado derecho de IDEA, si no puede verla, puede abrirla a través del menú -> Ver -> Ventana de herramientas -> Maven) y luego expanda Lifecycle, haga doble clic en el paquete para comenzar a empaquetar
El empaquetado está completo cuando aparece BUILD SUCCESS en la consola
Luego haga clic en el nuevo directorio de destino:
Aquí se empaqueta un paquete jar, pero esto no es lo que queremos, porque Tomcat reconoce el paquete war, por lo que queremos realizar ciertas modificaciones en pom.xml.
La diferencia entre el paquete war y el paquete jar
El paquete jar es el resultado del empaquetado ordinario de un programa java y contendrá algunos archivos .class.
El paquete war es un programa web java, que contiene todo excepto. Además del archivo de clase, también contendrá HTML, CSS, JavaScript, imágenes y otros paquetes jar.Tomcat solo puede reconocerlo en el formato de paquete war.
Agregue una etiqueta de empaque en pom.xml, indicando que el método de empaque es hacer un paquete de guerra
<packaging>war</packaging>
Agregue otra etiqueta de compilación en pom.xml y una etiqueta finalName incorporada, lo que indica que el nombre del paquete de guerra que se imprimirá es TestServlet
<build>
<finalName>TestServlet</finalName>
</build>
completar pom.xml
Reutilice maven para empaquetar, puede ver que el resultado del nuevo paquete de guerra generado está
empaquetado
6. Programa de implementación
Copie el paquete war ahora mismo en el directorio webapps de tomcat
Copie y pegue el paquete de guerra en las aplicaciones web de tomcat
Inicie Tomcat después de pegarlo:
comenzar completo
7. Procedimiento de verificación
Introduzca la dirección correspondiente en el navegador : 127.0.0.1:8080/TestServlet/test
Nota: La RUTA en la URL se divide en dos partes, donde TestServlet es la ruta de contexto y test es la ruta de servlet.
Por supuesto, el proceso de empaquetado e implementación mencionado anteriormente es relativamente engorroso, ¡y también tenemos un método más simple! ! !
Fácil implementación:
Utilice algunas herramientas de terceros para simplificar la operación de dos pasos de empaquetado e implementación. Hay un complemento llamado smart tomcat en IDEA que puede completar automáticamente la operación de empaquetado e implementación.
Simplemente descargue e instale.
Después de descargar e instalar, primero debe realizar una ola de configuración, y el seguimiento es tan fácil de usar como hacer clic en Inicio.
Haga clic aquí, luego haga clic en el signo +
Haga clic en Tomcat inteligente
Haga clic en el triángulo verde en la esquina superior derecha para empaquetar e implementar automáticamente
Preste atención al uso de este método para cerrar el Tomcat iniciado para evitar conflictos de puertos.
Haga clic en el triángulo verde para empaquetar e implementar con un solo clic:
Esto completa el despliegue.