1 Introducción a Servlet
- Servlet es una tecnología desarrollada por sun company para desarrollar web dinámica
- Sun proporciona una interfaz en estas API llamada: Servlet.
- Para desarrollar un programa Servlet, solo hay dos pasos: escribir una clase, implementar la interfaz Servlet e implementar la clase Java desarrollada en el servidor web.
El programa java que implementa la interfaz Servlet se llama Servlet.
2 HelloServlet
Hay dos clases predeterminadas que implementan la interfaz de Servlet: HttpServlet y GenericServlet.
Generalmente, hereda directamente HttpServlet y anula los métodos doGet () y doPost ().
3 pasos
1. Dependencia de Maven
Hay principalmente dos paquetes:
- servlet-api
- jsp-api
<!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/javax.servlet.jsp/jsp-api -->
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.2</version>
<scope>provided</scope>
</dependency>
2. Escribe una clase que herede HttpServlet
- Anula los métodos doGet () y doPost ().
- Debido a que obtener o publicar solo es diferente en la forma de solicitud, la lógica comercial es la misma y pueden llamarse entre sí.
public class MyServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//获取前端传送参数
String method =req.getParameter("method");
if("add".equals(method)){
req.getSession().setAttribute("msg", "执行一个add方法~");
}
if("delete".equals(method)){
req.getSession().setAttribute("msg", "执行一个delete方法~~");
}
//进行业务处理
//转发或重定向到视图,此处为转发到指定页面
req.getRequestDispatcher("/WEB-INF/jsp/home.jsp").forward(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req, resp);
}
}
3. Escriba la página home.jsp que se reenviará
- Una vez procesado el servlet, se reenvía a la página /WEB-INF/jsp/home.jsp.
- El cuerpo de la página muestra $ {msg}, que representa el contenido del campo msg devuelto por el servlet.
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>zuka</title>
</head>
<body>
${msg}
</body>
</html>
4. Escribir mapeo de servlets
Por qué necesito mapear:
- La clase de implementación de Servlet es un programa JAVA, al que se accede a través de un navegador, y el navegador necesita conectarse a un servidor web, por lo que necesitamos registrar el Servlet que escribimos en web.xml.
- También debe proporcionar una ruta a la que pueda acceder el navegador.
[Nota]: En / hi, la barra / no debe ser menor, de lo contrario IDEA informará un error al iniciar Tomcat.
<?xml version="1.0" encoding="UTF-8"?>
<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_4_0.xsd"
version="4.0">
<!--注册servlet-->
<servlet>
<servlet-name>hi</servlet-name>
<servlet-class>servlet.MyServlet</servlet-class>
</servlet>
<!--servlet请求路径,斜杠/不能少,否则启动Tomcat会报错-->
<servlet-mapping>
<servlet-name>hi</servlet-name>
<url-pattern>/hi</url-pattern>
</servlet-mapping>
</web-app>
5. Configuración de Tomcat
- Primero, asegúrese de que el proyecto que se va a probar tenga al menos un artefacto. Si no hay ninguno, haga clic en + Agregar.
- Se agregó una instancia de prueba local de Tomcat.
6. Inicie la prueba
- Primero ingrese http: // localhost: 8080 / servlet_war / para mostrar la página predeterminada index.jsp.
- Agregue la ruta de acceso del servlet / hi y envíe el parámetro? Method = add, ingrese la página http: // localhost: 8080 / servlet_war / hi? Method = add. El servlet mapeado devuelve el contenido del mensaje de acuerdo con el parámetro method = add enviado por el front-end "Ejecutar un método add ~".
¿Qué hace el marco MVC?
- Asigne la URL a la clase Java o al método de la clase Java.
- Encapsule los datos enviados por el usuario.
- Procesar el procesamiento comercial relacionado con la solicitud-llamada-encapsular los datos de respuesta.
- Renderice los datos correspondientes, jsp / html y otros datos de la capa de presentación.
Enlace original: https://www.cnblogs.com/letsdaydayup/p/14431529.html
Si cree que este artículo es útil para usted, puede reenviarlo y seguirlo para respaldarlo.