Red de conocimiento informático - Consumibles informáticos - ¡Puntuación alta! ¡Domina J2EE, marco!

¡Puntuación alta! ¡Domina J2EE, marco!

SSH representa tres marcos en proyectos J2EE, a saber, Spring Struts Hibernate

Struts:

La estructura del marco correspondiente se muestra en la figura: Modelo de pares de Struts, View y Controllers proporcionan los componentes correspondientes.

En la figura anterior, ActionServlet, esta clase es el controlador central de Struts 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 y encapsularlos en objetos ActionForm. Este objeto se reenvía a Action mediante ActionServlet. se basa en el contenido de ActionFrom. 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.

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, correspondiente al ActionServlet en la figura anterior. Este controlador lo proporciona el marco Struts y 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 de negocios 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.

[Editar este párrafo]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 tecnología 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. En este sentido, es un contenedor. Puede configurar cómo se crea cada uno de sus beans, según 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.

[Editar este párrafo]Hibernate

Hibernate es un marco de mapeo relacional de objetos de código abierto que encapsula objetos JDBC muy livianos, lo que permite a los programadores de Java utilizar el pensamiento de programación de objetos para manipular la base de datos. como quieras. 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 HttpSesion 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.

SSH: Protocolo Secure Shell

[Editar este párrafo] 1. Introducción a SSH

¿Qué es SSH?

Los programas de servicios de red tradicionales como ftp, pop y telnet son intrínsecamente inseguros porque transmiten contraseñas y datos en texto plano en la red, que pueden ser fácilmente interceptados por personas con motivos ocultos. Además, los métodos de verificación de seguridad de estos programas de servicio también tienen sus debilidades, es decir, son fácilmente vulnerables a ataques de "intermediario". El método de ataque llamado "intermediario" consiste en que el "intermediario" se hace pasar por un servidor real para recibir los datos que usted envía al servidor, y luego se hace pasar por usted y envía los datos al servidor real. servidor. Después de que el "intermediario" cambie la transmisión de datos entre el servidor y usted, surgirán problemas graves.

El nombre completo en inglés de SSH es Secure Shell. Al utilizar SSH, puede cifrar todos los datos transmitidos, lo que imposibilita los ataques de "intermediario" y evita la suplantación de DNS e IP. Una ventaja adicional es que los datos transmitidos se comprimen, por lo que se puede acelerar la velocidad de transmisión. SSH tiene muchas funciones. No sólo puede reemplazar a telnet, sino que también proporciona un "canal" seguro para ftp, pop e incluso ppp.

¿Cómo funciona la verificación de seguridad SSH?

Desde la perspectiva del cliente, SSH proporciona dos niveles de verificación de seguridad.

El primer nivel (verificación de seguridad basada en contraseña) le permite iniciar sesión en el host remoto siempre que conozca su cuenta y contraseña. Todos los datos transmitidos se cifrarán, pero no hay garantía de que el servidor al que se está conectando sea el servidor al que desea conectarse. Puede haber otros servidores que se hacen pasar por el servidor real, lo cual es un ataque de "intermediario".

El segundo nivel (autenticación de seguridad basada en claves) se basa en claves, es decir, debe crear un par de claves para usted mismo y colocar la clave pública en el servidor al que necesita acceder. Si desea conectarse a un servidor SSH, el software del cliente solicitará al servidor que utilice su clave para la verificación de seguridad. Después de que el servidor recibe la solicitud, primero busca su clave pública en su directorio personal del servidor y luego la compara con la clave pública que envió. Si las dos claves coinciden, el servidor cifra el "desafío" con la clave pública y la envía al software cliente. Una vez que el software del cliente recibe el "desafío", puede descifrarlo con su clave privada y enviarlo al servidor.

De esta forma, deberás conocer la contraseña de tu clave. Sin embargo, en comparación con el primer nivel, el segundo nivel no requiere que la contraseña se transmita a través de la red.

El segundo nivel no sólo cifra todos los datos transmitidos, sino que también imposibilita los ataques de "hombre en el medio" (porque no tiene su clave privada). Pero todo el proceso de inicio de sesión puede tardar 10 segundos.

------------------------------------------------- ---- ---------------------------------------------- ---- ---

(SSH: Secure Shell Protocol)

Secure Shell Protocol (SSH) es un protocolo que proporciona inicio de sesión remoto seguro y otros servicios de red seguros en un entorno no seguro. red. Secure Shell, también conocido como SSH, fue originalmente un programa en sistemas UNIX y luego se expandió rápidamente a otras plataformas operativas. SSH es una buena aplicación que, cuando se usa correctamente, puede cerrar los agujeros en su red. Más allá de eso, SSH es interesante por las siguientes razones: Los clientes SSH están disponibles en múltiples plataformas. Casi todas las plataformas UNIX (incluidas HP-UX, Linux, AIX, Solaris, Digital UNIX, Irrix, SCO y otras) pueden ejecutar SSH. Además, ya existen algunos clientes (algunos de los cuales son versiones beta) que pueden ejecutarse en plataformas operativas distintas a UNIX, incluidos OS/2, VMS, BeOS, Java, Windows 95/98 y Windows NT. De esta manera, puede ejecutar programas cliente SSH en casi todas las plataformas. Es gratuito para uso no comercial. El código fuente está disponible para muchas versiones de SSH y está disponible gratuitamente siempre que no se utilice con fines comerciales. Además, la versión UNIX también proporciona código fuente, lo que significa que cualquiera puede modificarlo. Sin embargo, si lo eliges con fines comerciales, sin importar qué versión de SSH uses, debes confirmar que te has registrado y obtenido los permisos correspondientes. La mayoría de los demonios y clientes SSH tienen algunas restricciones de registro. La única versión de Licencia pública general (GPL) SSH es lsh, que actualmente sigue siendo una versión beta. La transmisión de contraseñas a través de Internet es segura y confiable. Ésta es una de las ventajas reconocidas de SSH. Si examina el método de acceso a un ISP (proveedor de servicios de Internet, proveedor de servicios de Internet) o a una universidad, generalmente se utilizan procesos de cliente de correo Telnet o POP. Por lo tanto, siempre que desee ingresar a su cuenta, la contraseña que ingrese se enviará en un código claro (es decir, desprotegido y directamente legible), lo que le da al atacante la oportunidad de robar su cuenta y, en última instancia, usted será responsable de sus acciones. Responsable. Soporte para aplicaciones. Debido a que el código fuente de SSH es público, ha ganado un amplio reconocimiento en el mundo UNIX. Linux, cuyo código fuente también está abierto y disponible gratuitamente para el público, también ha recibido un reconocimiento similar. Esto permite que cualquier desarrollador (o cualquier persona) mejore su rendimiento e incluso agregue funcionalidad mediante parches o correcciones de errores. Esta es también la primera parte de la obtención e instalación de SSH, lo que significa que su rendimiento se puede mejorar continuamente sin necesidad de soporte técnico directo de los creadores originales. SSH reemplaza aplicaciones remotas inseguras. SSH está diseñado para reemplazar la versión Berkeley del conjunto de comandos r y también hereda una sintaxis similar. Como resultado, los usuarios no notan la diferencia entre usar los conjuntos de comandos SSH y r. También puedes hacer algunas cosas interesantes con él. Al utilizar SSH, no tiene que preocuparse de ser monitoreado cuando envía información a través de una red no segura.

También puede utilizar el canal POP y el método Telnet. Puede utilizar el canal PPP para crear una red personal virtual (Red Privada Virtual, VPN) a través de SSH. SSH también admite otros métodos de autenticación, como Kerberos y tarjetas de identificación seguras.

Sin embargo, debido a las restricciones sobre derechos de autor y algoritmos de cifrado, muchas personas ahora están recurriendo a OpenSSH. OpenSSH es un software alternativo a SSH y es gratuito. Se puede esperar que cada vez más personas lo utilicen en lugar de SSH en el futuro.

SSH se compone de software de cliente y servidor. Hay dos versiones incompatibles: 1.x y 2.x. El programa cliente SSH 2.x no puede conectarse al programa de servicio SSH 1.x. OpenSSH 2.x admite SSH 1.x y 2.x.

SSH consta principalmente de tres partes:

El protocolo de capa de transporte [SSH-TRANS] proporciona autenticación, confidencialidad e integridad del servidor. Además, a veces proporciona capacidades de compresión. SSH-TRANS normalmente se ejecuta a través de conexiones TCP/IP, pero también se puede utilizar a través de otros flujos de datos confiables. SSH-TRANS proporciona una sólida tecnología de cifrado, autenticación de host de contraseñas y protección de integridad. La autenticación en este protocolo se basa en el host y este protocolo no realiza la autenticación del usuario. Se pueden diseñar protocolos de autenticación de usuarios de nivel superior sobre este protocolo.

El Protocolo de autenticación de usuarios [SSH-USERAUTH] se utiliza para proporcionar capacidades de autenticación de usuarios del cliente al servidor. Se ejecuta en el protocolo de capa de transporte SSH-TRANS. Cuando

se inicia SSH-USERAUTH, recibe el identificador de sesión (del hash de intercambio H en el primer intercambio de claves) del protocolo de capa inferior. El identificador de sesión identifica de forma única esta sesión y se utiliza como token para demostrar la propiedad de la clave privada. SSH-USERAUTH también necesita saber si los protocolos de nivel inferior brindan protección de confidencialidad.

El protocolo de conexión [SSH-CONNECT] separa múltiples túneles cifrados en canales lógicos. Se ejecuta en el protocolo de autenticación de usuario. Proporciona sesiones de inicio de sesión interactivas, ejecución remota de comandos, reenvío de conexiones TCP/IP y reenvío de conexiones X11.

Una vez que se establece una conexión de capa de transporte segura, el cliente envía una solicitud de servicio. Cuando se complete la autenticación del usuario, se enviará una segunda solicitud de servicio. Esto permite que los protocolos recién definidos coexistan con los protocolos anteriores. Los protocolos de conexión proporcionan una amplia variedad de canales, con métodos estándar para establecer sesiones interactivas seguras, bombardeando y reenviando ("tunelización") puertos TCP/IP propietarios y conexiones X11.

Al utilizar SSH, puede cifrar todos los datos transmitidos, de modo que los ataques "man-in-the-middle" sean imposibles, y también puede evitar la suplantación de DNS y la suplantación de IP. Un beneficio adicional de utilizar SSH es que los datos transmitidos se comprimen, por lo que se puede acelerar la velocidad de transmisión. SSH tiene muchas funciones. No sólo puede reemplazar a Telnet, sino que también proporciona un "canal" seguro para FTP, PoP e incluso PPP.

SSH se divide en dos partes: la parte del cliente y la parte del servidor.

El servidor es un demonio que se ejecuta en segundo plano y responde a las solicitudes de conexión de los clientes. El servidor es generalmente el proceso sshd, que proporciona procesamiento de conexión remota, que generalmente incluye autenticación de clave pública, intercambio de claves, cifrado de clave simétrica y conexiones no seguras.

El cliente incluye el programa ssh y otras aplicaciones como scp (copia remota), slogin (inicio de sesión remoto), sftp (transferencia segura de archivos), etc.

Su mecanismo de trabajo es, aproximadamente, que el cliente local envía una solicitud de conexión al servidor remoto, el servidor verifica el paquete solicitado y la dirección IP y luego envía la clave al cliente SSH, y luego el cliente local envía la clave La clave se envía de vuelta al servidor y se establece la conexión. De lo que acabo de hablar es solo del proceso general de conexión SSH. Existen algunas diferencias en los protocolos de conexión entre SSH 1.x y SSH 2.x.

SSH está diseñado para funcionar por sí solo sin utilizar un superservidor (inetd). Aunque es posible ejecutar el proceso SSH a través de tcpd en inetd, esto es completamente innecesario. Después de iniciar el servidor SSH, sshd se ejecuta y escucha en el puerto predeterminado 22 (puede usar # ps -waux | grep sshd para verificar si sshd se ha ejecutado correctamente. Si SSH no se inicia a través de inetd, SSH esperará la conexión). pedido. Cuando llega una solicitud, el demonio SSH generará un proceso hijo que maneja la conexión.

SSH: nuevo modelo de desarrollo de software MVC, SSH (Struts, Spring, Hibernate) Struts realiza el control de procesos, Spring realiza el flujo de negocios e Hibernate encapsula las operaciones de la base de datos. Este nuevo modelo de desarrollo nos permite desarrollar es más conveniente. , más rápido y más claro!

[Editar este párrafo] Aplicación alternativa SSH: use ssh como proxy calcetines5

1. Descargue MyEntunnel

2. Descargue PuTTY y extráigalo al directorio de el programa MyEntunnel Abajo.

3. Ejecute MyEntunnel.exe, configure: complete la dirección ftp ssh o IP en el servidor SSH, complete el nombre de usuario y la contraseña, haga clic en Conectar, el pequeño candado en la barra del sistema se vuelve verde y la conexión es exitosa.

4. Configura el navegador. IE no admite el proxy de calcetines. Simplemente use Firefox. Abra la página de configuración del proxy de Firefox y complete la configuración original del puerto 127.0.0.1 en el host de calcetines.

Cómo ejecutar comandos SSH en un entorno de host Win

Para los usuarios de host Win, pueden descargar la herramienta PuTTY para la administración de shell.

Algunos comandos de shell utilizados habitualmente son los siguientes:

cd [nombre del directorio] ruta de conversión

cd.. Volver al directorio superior

ls muestra todos los archivos en el directorio actual

rm[-r]-f[][nombre de archivo] elimina archivos, agrega [-r] para eliminar todos los subarchivos debajo del archivo, como rm -rf [abc] eliminar la carpeta abc y todos los archivos dentro de la carpeta

tar -xzf [descomprimir el paquete comprimido descargado]

descomprimir [nombre del archivo] descomprimir el archivo

cp -rpf .A/* B Copia todos los archivos de la carpeta A a su directorio superior B

wget (descarga archivos de forma remota al servidor)

Escalabilidad del protocolo SSH

En el marco del protocolo SSH se diseña una gran cantidad de capacidades redundantes escalables, como algoritmos definidos por el usuario, reglas clave definidas por el cliente y protocolos de aplicación funcional extendida de alto nivel. La mayoría de estas extensiones siguen las regulaciones pertinentes de la IANA, especialmente en partes importantes como las reglas de nomenclatura y la codificación de mensajes. [1]