Tecnología web dinámica: Servlet en detalle

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.

 

Supongo que te gusta

Origin blog.csdn.net/weixin_48182198/article/details/113991385
Recomendado
Clasificación