Red de Respuestas Legales - Derecho empresarial - ¿Qué es "SSH" en Java?

¿Qué es "SSH" en Java?

SSH es un marco integrado de struts+spring+hibernate y actualmente es un marco de código abierto popular para aplicaciones web.

El sistema que integra el marco SSH se divide en cuatro capas en términos de responsabilidades: capa de presentación, capa de lógica empresarial, capa de persistencia de datos y capa de módulo de dominio para ayudar a los desarrolladores a construir una estructura clara y reutilización en el corto plazo. Aplicaciones web buenas y fáciles de mantener. Struts se utiliza como infraestructura general del sistema y es responsable de la separación de MVC. En la parte del modelo del marco Struts, controla los saltos comerciales. El marco Hibernate se utiliza para brindar soporte a la capa de persistencia. y gestiona struts e hibernación. El método específico es: utilizar un método de análisis orientado a objetos para proponer algunos modelos según las necesidades, implementar estos modelos como objetos Java básicos, luego escribir la interfaz DAO (Objetos de acceso a datos) básica y proporcionar la implementación DAO de Hibernate, utilizando la arquitectura de Hibernate. implementar La clase DAO se utiliza para realizar la conversión y el acceso entre clases Java y bases de datos, y finalmente Spring la administra para administrar struts e hibernar.

El contenido específico incluye:

Struts

Struts proporciona los componentes correspondientes para Modelo, Vista y Controlador.

ActionServlet, esta clase es el controlador central de Struts1 y es responsable de interceptar las solicitudes de los usuarios.

Acción, esta clase generalmente la proporciona el usuario. El controlador es responsable de recibir la solicitud del ActionServlet, llamar al método de lógica de negocios del modelo para procesar la solicitud y devolver la solicitud. resultado del procesamiento a la página JSP para su visualización.

Parte del modelo:

Está compuesto por ActionForm y JavaBean. ActionForm se utiliza para encapsular los parámetros de solicitud del usuario en el objeto ActionForm. El objeto se reenvía a Action mediante ActionServlet. en el contenido de ActionForm Los parámetros de solicitud manejan la solicitud del usuario.

JavaBean encapsula la lógica empresarial subyacente, incluido el acceso a la base de datos, etc.

Ver parte:

Esta parte se implementa usando JSP (o HTML, PHP...).

Struts proporciona una rica biblioteca de etiquetas, que puede reducir el uso de scripts. La biblioteca de etiquetas personalizada puede lograr una interacción efectiva con el modelo y agregar funciones de la vida real. Corresponde a la parte JSP de la imagen de arriba.

Componente del controlador:

El componente del controlador consta de dos partes: el controlador central del sistema y el controlador de lógica empresarial.

El controlador central del sistema corresponde al ActionServlet anterior. Este controlador hereda la clase HttpServlet, por lo que se puede configurar como un Servlet anotado. Este controlador es responsable de interceptar todas las solicitudes HTTP y luego decidir si transferirlas al controlador de lógica empresarial según la solicitud del usuario.

El controlador de lógica de negocios es responsable de procesar las solicitudes de los usuarios. No tiene la capacidad de procesamiento por sí mismo, pero llama al modelo para completar el procesamiento. Corresponde a la parte Acción.

Struts 2 es el producto de próxima generación de Struts. Es un nuevo marco de Struts 2 que fusiona las tecnologías de struts 1 y WebWork. Su nueva arquitectura Struts 2 es muy diferente de la arquitectura Struts 1. Struts 2 toma WebWork como núcleo y utiliza un mecanismo interceptor para procesar las solicitudes de los usuarios. Este diseño también permite que el controlador de lógica de negocios esté completamente separado de ServletAPI, por lo que Struts 2 puede entenderse como un producto actualizado de WebWork. Aunque hay grandes cambios de Struts 1 a Struts 2, en comparación con WebWork, los cambios en Struts 2 son muy pequeños.

Spring

Spring es un framework de código abierto creado por Rod Johnson. Fue creado para resolver las complejidades del desarrollo de aplicaciones empresariales. Spring utiliza JavaBeans básicos para lograr cosas que antes solo eran posibles con EJB. Sin embargo, los usos de Spring no se limitan al desarrollo del lado del servidor. Cualquier aplicación Java puede beneficiarse de Spring en términos de simplicidad, capacidad de prueba y acoplamiento flexible.

Propósito: resolver la complejidad del desarrollo de aplicaciones empresariales

Función: utilizar JavaBean básico en lugar de EJB y proporcionar más funciones de aplicaciones empresariales

Alcance: cualquier aplicación Java

En pocas palabras, Spring es un marco de contenedor ligero de inversión de control (IoC) y orientado a aspectos (AOP).

Ligero: Spring es liviano tanto en términos de tamaño como de gastos generales. El marco Spring completo se puede distribuir en un archivo JAR con un tamaño de poco más de 1 MB. Y la sobrecarga de procesamiento requerida por Spring es insignificante. Además, Spring no es intrusivo: normalmente, los objetos en una aplicación Spring no dependen de clases Spring específicas.

Inversión de control: Spring promueve un acoplamiento flojo a través de una técnica llamada inversión de control (IoC). Cuando se aplica IoC, otros objetos de los que depende un objeto se pasan pasivamente, en lugar de que el objeto mismo cree o encuentre objetos dependientes. Puede pensar en IoC como lo opuesto a JNDI: en lugar de que el objeto busque dependencias del contenedor, el contenedor pasa activamente las dependencias al objeto cuando se inicializa sin esperar a que el objeto lo solicite.

Orientado a aspectos: Spring proporciona un amplio soporte para la programación orientada a aspectos, lo que permite la cohesión al separar la lógica empresarial de la aplicación del desarrollo de servicios a nivel de sistema (como auditoría y gestión de transacciones). Los objetos de aplicación solo implementan lo que se supone que deben hacer: lógica empresarial completa, nada más. No son responsables (ni siquiera conocen) otras preocupaciones a nivel del sistema, como el registro o el soporte de transacciones.

Contenedor: Spring contiene y administra la configuración y el ciclo de vida de los objetos de la aplicación. Es un contenedor en el sentido de que puede configurar cómo se crea cada uno de sus beans, basándose en un prototipo configurable. , su bean puede crear una única instancia o generar una nueva instancia cada vez que sea necesario y cómo se relacionan entre sí. Sin embargo, Spring no debe confundirse con los tradicionales contenedores EJB pesados, que suelen ser grandes, engorrosos y difíciles de usar.

Framework: Spring puede configurar y combinar componentes simples en aplicaciones complejas. En Spring, los objetos de la aplicación se componen de forma declarativa, normalmente en un archivo XML. Spring también proporciona muchas funciones básicas (gestión de transacciones, integración de marcos de persistencia, etc.), dejándole a usted el desarrollo de la lógica de la aplicación.

Todas estas funciones de Spring le permiten escribir código más limpio, más manejable y más fácil de probar. También brindan soporte básico para varios módulos en Spring.

Hibernate

Hibernate es un marco de mapeo relacional de objetos de código abierto. Encapsula JDBC en un objeto muy liviano, lo que permite a los programadores de Java usar la programación de objetos como deseen. base de datos. Hibernate se puede utilizar en cualquier situación en la que se utilice JDBC. Se puede utilizar en programas cliente Java o en aplicaciones web Servlet/JSP. Lo más revolucionario es que Hibernate puede sustituir a CMP en la arquitectura J2EE que utiliza EJB. tarea de persistencia de datos.

Hibernate tiene 5 interfaces principales, a saber: Session, SessionFactory, Transaction, Query y Configuration. Estas 5 interfaces principales se utilizarán en cualquier desarrollo. A través de estas interfaces, no solo se puede acceder a objetos persistentes, sino que también se puede realizar el control de transacciones. Estas cinco interfaces principales se presentan a continuación.

·Interfaz de sesión: La interfaz de sesión es responsable de realizar operaciones CRUD en objetos persistentes (la tarea de CRUD es completar la comunicación con la base de datos, incluidas muchas declaraciones SQL comunes). Pero cabe señalar que el objeto Session no es seguro para subprocesos. Al mismo tiempo, la sesión de Hibernate es diferente de HttpSession en las aplicaciones JSP. Cuando se usa el término sesión aquí, en realidad se refiere a la sesión en Hibernate, y el objeto HttpSession se llamará sesión del usuario en el futuro.

·Interfaz SessionFactory: La interfaz SessionFactory es responsable de inicializar Hibernate. Actúa como un proxy para la fuente de almacenamiento de datos y es responsable de crear objetos de sesión. Aquí se utiliza el patrón de fábrica. Cabe señalar que SessionFactory no es liviano porque, en general, un proyecto generalmente solo necesita una SessionFactory. Cuando es necesario operar varias bases de datos, se puede especificar una SessionFactory para cada base de datos.

·Interfaz de configuración: La interfaz de Configuración es responsable de configurar e iniciar Hibernate y crear objetos SessionFactory. Durante el proceso de inicio de Hibernate, la instancia de la clase Configuración primero localiza la ubicación del documento de mapeo, lee la configuración y luego crea el objeto SessionFactory.

·Interfaz de transacciones: La interfaz de transacciones es responsable de las operaciones relacionadas con las transacciones. Es opcional, los desarrolladores también pueden diseñar y escribir su propio código de procesamiento de transacciones de bajo nivel.

·Interfaces de Consulta y Criterios: Las interfaces de Consulta y Criterios son responsables de ejecutar varias consultas a la base de datos. Puede utilizar dos métodos de expresión: lenguaje HQL o declaración SQL.