Especificación JSP

Introducción a la especificación JSP

1. De una de las especificaciones de JAVAEE

2. La especificación JSP define el proceso de desarrollo de cómo desarrollar archivos JSP en lugar de objetos de respuesta y escribir los resultados del procesamiento en el cuerpo de la respuesta.

3. La especificación JSP define cómo el servidor Http debe llamar y administrar archivos JSP.

Los inconvenientes del objeto de respuesta

1. Es adecuado para escribir resultados de procesamiento con una pequeña cantidad de datos en el cuerpo de respuesta.

2. Si hay demasiados resultados de procesamiento, el uso de objetos de respuesta aumentará la dificultad de desarrollo.

Ventajas de los archivos JSP

1. Los archivos JSP son un sustituto de los objetos de respuesta en el proceso de comunicación por Internet .

2. Reducir la carga de trabajo de desarrollo de escribir los resultados del procesamiento en el cuerpo de respuesta y reducir la dificultad del mantenimiento de los resultados del procesamiento.

3. Al desarrollar un archivo JSP, puede escribir directamente el resultado del procesamiento en el archivo JSP sin escribir a mano el comando out.print.

4. Cuando el servidor Http llama al archivo JSP, escribe automáticamente todo el contenido escrito en el archivo JSP en el cuerpo de la respuesta a través del flujo de salida de acuerdo con los requisitos de la especificación JSP.

La diferencia entre archivos HTML y archivos JSP

1. Diferentes tipos de archivos de recursos

Los archivos HTML son archivos de recursos estáticos y sus comandos relacionados deben compilarse y ejecutarse en el navegador.

El archivo JSP es un archivo de recursos dinámicos y sus comandos relacionados deben compilarse y ejecutarse en el lado del servidor.

2. Diferentes formas de llamada

 Si el navegador accede al archivo HTML, el servidor Http pasa directamente un flujo de salida en este momento

 Escribe todo el contenido del archivo HTML en el cuerpo de la respuesta.

 Si el navegador accede al archivo JSP. En este momento, el servidor Http opera el archivo JSP de acuerdo con la especificación JSP Editar ----> Compilar -----> Llamar

Diagrama del principio de funcionamiento del archivo JSP

 

1. De acuerdo con la especificación JSP, Tomcat [editará] el archivo JSP al que se accede como un archivo java. Este archivo Java es la clase de implementación de la interfaz Servlet

2. De acuerdo con la especificación JSP, Tomcat llama a JVM (javac one_jsp.java) para [compilar] este archivo java en el tipo de clase.

3. Tomcat es responsable de generar objetos de instancia de este archivo de clase de acuerdo con la especificación JSP . Este objeto de instancia es un objeto de instancia de interfaz de Servelt

4. Tomcat llama al método _jspService en el archivo de clase a través del objeto de instancia de acuerdo con la especificación JSP . El método _jspService es responsable de escribir el contenido escrito en el archivo JSP en el cuerpo de la respuesta en tiempo de ejecución.

Ubicación del archivo JSP del servidor HTTP [Editar] y [Compilar]:

  Respuesta estándar: veo esta evidencia en [trabajo]

 C: \ Users \ [Nombre de la función de usuario del sistema de Windows de inicio de sesión] \. IntelliJIdea2018.3 \ system \ tomcat \ [espacio de trabajo del sitio web] \ work \ Catalina \ localhost \ [nombre del sitio web] \ org \ apache \ jsp

Marca de ejecución

Formato de comando:

 <% int a = 10;%> declara variables locales

<% boolean flag = 30> = 40;%> Expresiones en Java (expresiones matemáticas, expresiones relacionales, expresiones lógicas)

<%

if (condición de juicio) {  

  }demás{   

  }

  tiempo(){   

    }

%> escribir declaraciones de control

Función de comando: notifica al servidor Http para que distinga el comando de Java en el archivo JSP de otros resultados de ejecución ordinarios

Etiqueta de salida

Formato de comando:

<% = nombre de variable java%>

<% = expresión java%>

Función de comando: Indique a Tomcat que escriba [valor variable] en la etiqueta de salida o [resultado del cálculo de la expresión] en la etiqueta de salida en el cuerpo de la respuesta

Objetos incorporados JSP

Objeto incorporado del archivo JSP: solicitud

    Tipo: HTTPServletRequest

    efecto:

        Lea la información relevante en el paquete de solicitud cuando se esté ejecutando el archivo JSP

        Realice el intercambio de datos con Servlet en el proceso de reenvío de solicitudes

Objeto incorporado de archivo JSP: sesión

    Tipo: HttpSession

    Función: cuando el archivo JSP se está ejecutando, la sesión puede apuntar al objeto de alcance de sesión del usuario actual para agregar datos compartidos o leer datos compartidos

Objeto de alcance global de la aplicación ServletContext

Tanto Servlet como JSP en el mismo sitio web pueden realizar el intercambio de datos a través del objeto de alcance global del sitio web actual.

Objeto incorporado en el archivo JSP: aplicación

Demos un caso de llamada conjunta de Servlet y JSP

1. Primero cree una clase de entidad del objeto de estudiante.

public class Student {
    private Integer sId;
    private String sname;

    public Student() {
    }

    public Student(Integer sId, String sname) {
        this.sId = sId;
        this.sname = sname;
    }

    public Integer getsId() {
        return sId;
    }

    public void setsId(Integer sId) {
        this.sId = sId;
    }

    public String getSname() {
        return sname;
    }

    public void setSname(String sname) {
        this.sname = sname;
    }
}

2. Cree una clase de implementación de interfaz de servlet, comparta datos en el archivo JSP a través del objeto de alcance de solicitud y genere

public class OneServlet extends HttpServlet {
    //业务处理,得到处理结果---查询学员信息
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        Student s1=new Student(100,"zhangsan");
        Student s2=new Student(100,"zhangsan");
        Student s3=new Student(100,"zhangsan");
        List<Student> studentList=new ArrayList();
        studentList.add(s1);
        studentList.add(s2);
        studentList.add(s3);

        //将共享数据添加到请求作用域对象中
        request.setAttribute("key",studentList);
        //通过请求转发的方式调用stu_show.jsp
        //并将资源报告的请求对象和响应对象通过Tomcat交给stu_show.jsp使用
        request.getRequestDispatcher("/stu_show.jsp").forward(request,response);
    }
}

3. Obtenga datos compartidos del objeto solicitante y recorra el bucle

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
    //从请求作用域对象中获取共享数据
    List<Student> studentList=(List)request.getAttribute("key");
    //循环遍历
%>
<table border="2px" align="center">
    <tr>
        <td>学生编号</td>
        <td>学生姓名</td>
    </tr>
    <%
        for(Student student:studentList){
    %>
    <tr>
        <td><%=student.getsId()%></td>
        <td><%=student.getSname()%></td>
    </tr>
    <%
        }
    %>
</table>

Resultados de la

Supongo que te gusta

Origin blog.csdn.net/qq_45796208/article/details/108824163
Recomendado
Clasificación