Cómo llamar a la interfaz WebService para almacenar datos en la base de datos sin utilizar páginas JSP.
2. Proporcione biblioteca de etiquetas JSP gratuita y soporte de asociación en el servlet del controlador para ayudar a los desarrolladores a crear aplicaciones de formularios interactivos.
3. Proporciona una serie de objetos de utilidad:
3. Proporciona una serie de objetos de utilidad: procesamiento XML, procesamiento automático de propiedades de JavaBeans a través de la API Java Reflection, mensajes y avisos de internacionalización .
El objetivo del proyecto Struts es proporcionar un marco de código abierto para la creación de aplicaciones web Java. El núcleo del marco Struts se basa en tecnologías estándar como Java Servlets, JavaBeans, ResourceBundles y XML, y el núcleo del marco Jakarta Struts se basa en tecnologías estándar como Java Servlets, JavaBeans, ResourceBundles y XML, junto con varios Jakarta. Paquetes comunes para capas de control flexibles.
8 ¿Cuáles son los objetos integrados en jsp? ¿Cuál es su función?
Respuesta: JSP*** tiene los siguientes nueve componentes básicos integrados (correspondientes a los seis componentes internos de ASP):
Solicitud de solicitud del usuario, que incluirá GET/POST Parámetros de la solicitud
La página web de respuesta devuelve la respuesta al usuario
Las propiedades de la página web de contexto de página se administran aquí. Las propiedades de la página se administran aquí
Sesión La duración de la sesión asociada con la solicitud
Qué está ejecutando el servlet de la aplicación
Salida utilizada para entregar el respuesta
p>
Configuración de los componentes básicos del servlet
La página JSP en sí
Página de error de excepción.
Excepciones Excepciones no detectadas para páginas de error
9 ¿Cuáles son los dos tipos de saltos? ¿Cuál es la diferencia?
Respuesta: Hay dos tipos, a saber:
I0 La página anterior no se reenviará a la página señalada por include, solo muestra los resultados de esa página y la página principal sigue siendo la original. página. La página de inicio sigue siendo la página original. Regresará después de la ejecución, lo que equivale a una llamada de función. Puede tomar parámetros. Este último redirige completamente a una nueva página y nunca regresa. Equivalente a la declaración ir a.
10 Explica el uso de Taglib en Jsp
Respuesta: Primero, el primer método: declarar solo la ubicación del TLD
En el encabezado del jsp Declaración de archivo:
<%@ taglib uri="/WEB-INF/tlds/orataglib_1_0.tld" agregue la siguiente declaración en pref 1_0.XML:
taglib> p>
<. taglib-uri>/orataglib
Agregar:
11 ¿Cómo corregir tipos numéricos en Javascript?
Respuesta:
12 ¿Qué incluye EJB 2.0? ¿Cuál es su función?
Respuesta: La especificación incluye Bean Provider, Application Assembler, EJB Container, EJB Configuration Tool, EJB Service Provider y System Administrator. Entre ellos, el contenedor EJB es la razón por la que EJB puede ejecutar el núcleo. El contenedor EJB gestiona tareas centrales importantes, como la creación, cancelación, activación y conexiones en línea y de bases de datos de EJB. JSP, Servlet, EJB, JNDI, JDBC, JMS....
13 ¿Qué componentes contiene SessionBean? ¿Cuál es el papel de cada componente?
Respuesta: Los beans de sesión se componen de beans de sesión con estado y beans de sesión sin estado.
Los beans de sesión con estado registran el estado de la persona que llama, por lo que generalmente los usuarios tendrán un bean de sesión con estado correspondiente. entidad. Frijoles de sesión. Los beans de sesión sin estado no son responsables de registrar el estado del usuario, lo que significa que cuando un usuario llama a un bean de sesión sin estado, el contenedor EJB no busca una entidad de bean de sesión sin estado específica para ejecutar un método. En otras palabras, cuando la misma instancia del bean ejecuta un método de bean de sesión sin estado, es posible que varios usuarios estén ejecutando el método.
14 Enumere los patrones de diseño que conoce (incluidos los patrones de diseño EJB, J2EE) y sus situaciones de uso.
Respuesta: Fábrica, método de fábrica,
Prototipo, singleton,
Adaptador, decorador,
Peso mosca. > Flyweight, Proxy,
Comando, Intérprete,
Visitante, Iterador,
Observer.State (modo de estado),
Principal Utilice el patrón de diseño MVC. Para desarrollar aplicaciones relacionadas con JSP/Servlet o J2EE.
15 ¿Cuáles son los principales métodos de análisis de XML? ¿Cuál es la diferencia entre ellos?
Respuesta: DOM, SAX, STAX, etc.
DOM: Su rendimiento se verá muy reducido al procesar archivos de gran tamaño. Este problema se debe a la estructura de árbol del DOM, que ocupa más memoria, y el DOM debe cargar todo el documento en la memoria antes de analizarlo, lo cual es adecuado para el acceso aleatorio a XML.
SAX: no existe en el DOM, SAX es un método de análisis XML basado en eventos. Lee archivos XML de forma secuencial, eliminando la necesidad de cargar todo el documento a la vez. Cuando encuentre algo como el principio del documento, el final del documento o el principio y el final de una etiqueta, se activará un evento. El usuario escribe código de procesamiento para procesar el archivo XML a través del evento de devolución de llamada, que es adecuado para. acceso secuencial a XML
STAX: Streaming API para XML (StAX)
16 El principio de Hashtable. Explique la diferencia entre HashMap y Hashtable ¿Cuál es la diferencia entre Vector y ArrayList?
Respuesta:
El principio de HashTable: determine la ubicación de almacenamiento del nodo a través del código clave del nodo, es decir, dado el código clave del nodo k, a través de un cierto relación funcional H (función hash), obtenga el valor de la función H (k), que se interpretará como la dirección de almacenamiento del nodo.
ArrayList y Vector incluyen principalmente dos aspectos.
1. Sincronización: Vector es seguro para subprocesos, es decir, está sincronizado, mientras que ArrayList no es seguro para subprocesos y es asincrónico
2. Crecimiento de datos: cuando se necesita crecimiento, Vector crece de forma predeterminada a su tamaño original, mientras que ArrayList crece a la mitad de su tamaño original.
Hay tres aspectos principales de HashMap y HashTable.
Uno. Razones históricas: Hashtable se basa en la clase Diccionario obsoleta y HashMap es la implementación de la interfaz Map introducida en Java 1.2
2. Sincronicidad: Hashtable se basa en la clase Diccionario obsoleta y HashMap es el Mapa introducido en Java 1.2 Implementación de la interfaz. Sincronización: Hashtable es seguro para subprocesos, lo que significa que está sincronizado, mientras que HashMap no es seguro para subprocesos, no está sincronizado
iii. Valor: solo HashMap le permite usar valores nulos como claves de entradas de tabla o. Valor
17 ¿Cuál es la diferencia entre forward() y redirigir() en JAVA SERVLET API?
Respuesta: El primero es solo una transferencia de control en el contenedor, y la dirección reenviada no se mostrará en la barra de direcciones del navegador del cliente; el segundo es un salto completo, y el navegador lo obtendrá; la dirección de salto y el enlace de solicitud de reenvío. El navegador obtendrá la dirección de redireccionamiento y reenviará el enlace solicitado. De esta forma, el enlace de redireccionamiento aparecerá en la barra de direcciones del navegador. Por lo tanto, el primero es más eficiente y, siempre que el primero sea lo suficientemente eficiente, se debe utilizar el método forward(), que también ayuda a ocultar el enlace real. En algunos casos, como cuando necesita saltar a un recurso en otro servidor, debe utilizar el método sendRedirect().
18 ¿Qué es un contenedor web?
Respuesta: Aplicaciones que implementan los protocolos Web en la especificación J2EE. Este protocolo define el entorno de ejecución de los programas web, incluida la concurrencia, la seguridad, la gestión del ciclo de vida, etc.
19 ¿En qué tecnología se basa EJB? Y explique las diferencias entre SessionBean y EntityBean, StatefulBean y StatelessBean.
Respuesta: EJB incluye Session Bean, Entity Bean, Message Driven Bean y se implementa en base a JNDI, RMI, JAT y otras tecnologías.
SessionBean se utiliza en aplicaciones J2EE para completar ciertas operaciones comerciales del lado del servidor, como acceder a bases de datos y llamar a otros componentes EJB.
Para el cliente, SessionBean es un objeto no persistente que implementa parte de la lógica empresarial que se ejecuta en el servidor; EntityBean es un objeto persistente que representa una vista de objeto de una entidad almacenada en la memoria persistente, o representa un objeto creado por una empresa existente. Entidad implementada por la aplicación.
Los beans de sesión se pueden subdividir en beans de sesión con estado y beans de sesión sin estado. Ambos tipos de beans de sesión pueden realizar la lógica del sistema en los métodos, pero la diferencia es que los beans de sesión con estado pueden registrar el estado de la persona que llama, por lo que el usuario generalmente tiene una entidad de bean de sesión con estado correspondiente. Aunque el bean de sesión con estado también es un componente lógico, no es responsable de registrar el estado del usuario, lo que significa que cuando el usuario llama al bean de sesión sin estado, el contenedor EJB no busca una entidad de bean de sesión sin estado específica para ejecutar el método. . En otras palabras, cuando varios usuarios ejecutan métodos en un bean de sesión sin estado, es probable que la misma instancia del bean esté ejecutando esos métodos. En otras palabras, es posible que varios usuarios utilicen la misma instancia de bean para ejecutar métodos de bean de sesión sin estado. En términos de memoria, los beans de sesión con estado consumen más memoria que los beans de sesión sin estado, pero la ventaja de los beans de sesión con estado es que pueden mantener el estado del usuario.
20 ¿Qué es un servicio Web? El servicio web es una interfaz. El propósito de proponer esta interfaz es permitir que la información entre sitios web que originalmente estaban aislados entre sí se comunique entre sí.
El Servicio Web utilizado por Internet es un estándar unificado y abierto, como HTTP, XML, SOAP (Protocolo simple de acceso a objetos), WSDL, etc., por lo que el Servicio Web se puede utilizar en cualquier entorno. que admita estos estándares (usado en Windows, Linux).
Nota: El protocolo SOAP (Protocolo simple de acceso a objetos) es un entorno de intercambio de información de red distribuida descentralizada basado en el protocolo de comunicación XML. Según este protocolo, los componentes o aplicaciones de software pueden comunicarse a través del protocolo HTTP estándar. Está diseñado teniendo en cuenta la simplicidad y la escalabilidad, lo que facilita la interoperabilidad entre una gran cantidad de programas y plataformas heterogéneos, haciendo que las aplicaciones existentes sean accesibles para una amplia gama de usuarios.
Ventajas:
(1).
(2). El protocolo SOAP se basa en los estándares industriales XML y HTTP y cuenta con el respaldo de las principales empresas.
(3) Debido al uso de SOAP, los datos se transmiten en texto ASCII en lugar de en formato binario, lo que facilita la depuración, ya que pueden pasar fácilmente a través del firewall sin necesidad. para Firewalls abre un "agujero" separado para los programas.
(4) Además, la dificultad técnica de la implementación del servicio web es mucho menor que la de CORBA y DCOM.
(5). Para lograr la integración B2B, el EDI debe ser más sofisticado y complejo; el uso de WebService puede implementarse a bajo costo y también puede ser utilizado por pequeñas empresas.
(6) En el programa C/S, WebService puede realizar la función sin actualizar toda la página web, tratar con el servidor y obtener el número.
Desventajas:
(1) WebService utiliza XML para encapsular datos, lo que provocará que se transmita una gran cantidad de datos a través de la red.
(2) La especificación WebService no especifica ningún detalle relacionado con la implementación, incluidos modelos de objetos, lenguajes de programación, etc., que es inferior a CORBA.
21 Hay varios. Métodos de implementación para subprocesos múltiples, ¿cuáles son? Hay varias formas de lograr la sincronización, ¿cuáles son?
Respuesta: Hay dos formas de implementar subprocesos múltiples, que heredan de la clase Thread e implementan la interfaz Runnable.
Hay dos formas de implementar la sincronización, a saber, sincronizada. espere y notifique
22 En programación Java, imprima la hora actual de ayer (prueba de computadora)
23 ¿Cuál es el flujo de trabajo de struts?
Respuesta: En Struts, las solicitudes de los usuarios generalmente usan *.do como nombre del servicio de solicitud. Todas las solicitudes *.do se dirigen a ActionSevlet y enviarán al usuario la solicitud se encapsula en el FormBean con el especificado. nombre ActionSevlet encapsula la solicitud del usuario en el FormBean con el nombre especificado según la información de configuración en Struts-config.xml y pasa el FormBean al ActionBean con el nombre especificado para completar las operaciones comerciales correspondientes, como las operaciones de archivos. operaciones de bases de datos, etc. Cada *.do tiene un nombre de FormBean y un nombre de ActionBean correspondientes, que se configuran en Struts-config.xml.
24 ¿Cómo funciona MVC?
Respuesta: Control: Hay un archivo XML Struts-config.xml, que está asociado con el Controlador en Struts. La función del Controlador en MVC es un Servlet llamado ActionServlet. ActionServlet es un componente de control general. Este componente de control proporciona el punto de entrada para manejar todas las solicitudes HTTP enviadas a Struts. Intercepta y envía estas solicitudes a la clase de acción adecuada (una clase de acción es una subclase de la clase Acción). El componente de control también es responsable de completar Action From (a menudo llamado FromBean) con los parámetros de solicitud apropiados y pasarlos a la clase Action (a menudo llamado ActionBean). Las clases de acción implementan la lógica empresarial central y pueden acceder a Java Beans o llamar a EJB. Finalmente, la clase de acción pasa el control al archivo JSP que posteriormente genera la vista. Toda esta lógica de control se configura mediante el archivo Struts-config.xml.
Vista: la página principal generada por JSP. Para completar la vista, Struts proporciona una rica biblioteca de etiquetas JSP: HTML, Bean, Logic, Template, etc., que favorece la separación de la lógica de rendimiento y lógica del proceso.
Modelo: Un modelo existe en forma de uno o más beans Java. Estos beans se dividen en tres categorías: formulario de acción, acción, JavaBean o EJB. El formulario de acción, generalmente llamado FormBean, encapsula la información de solicitud del usuario del Cliente, como la información del formulario. La acción generalmente se llama ActionBean. Obtiene el FormBean pasado por ActionSevlet, extrae la información relevante del FormBean y realiza el procesamiento relacionado, generalmente llamando a Java Bean o EJB, etc.
Procesamiento: en Struts, las solicitudes de los usuarios generalmente usan *.do como nombre del servicio de solicitud. Todas las solicitudes *.do apuntan a ActionSevlet, encapsula las solicitudes de los usuarios a FormBean con el nombre especificado y pasa el FormBean a. el nombre especificado.
ActionSevlet encapsula las solicitudes de los usuarios en un FormBean con un nombre específico según la información de configuración en Struts-config.xml y pasa el FormBean al ActionBean con un nombre específico para completar las operaciones comerciales correspondientes, como operaciones de archivos, operaciones de bases de datos, etc. Cada *.do tiene un nombre de FormBean y un nombre de ActionBean correspondientes, que se configuran en Struts-config.xml. Núcleo: el núcleo de Struts es ActionSevlet y el núcleo de ActionSevlet es Struts-config.xml.
El FormBean generado proporciona datos para ActionBean. ActionBean puede obtener los datos encapsulados en FormBean y llamar a ActionBean después del procesamiento lógico correspondiente. Después del procesamiento lógico correspondiente, se llama al método comercial para completar los requisitos comerciales correspondientes.
La evolución de Servlet: en la estructura tradicional de tres niveles de JSP, Servlet y JavaBean, JSP implementa las funciones de Vista, Servlet implementa las funciones de Controlador y JavaBean implementa las funciones de Modelo.
En Struts, los Servlets generalmente se dividen en tres partes: ActionServlet, FormBean y ActionBean. ActionServlet usa Struts-config.xml para completar específicamente la navegación de la página y ya no es responsable de la implementación
25 ¿Escribir un fragmento de código para realizar el triángulo de retorno Yang?
Respuesta:
26 En Java, ¿cuál es la diferencia entre sobrecarga de métodos y sobrecarga de métodos?
Respuesta: 1. La sobrecarga de métodos es la relación entre subclases y clases principales, que es vertical; la sobrecarga de métodos es la relación entre métodos de la misma clase, que es horizontal.
2. La sobrecarga solo puede generarse mediante un único método, o solo puede relacionarse mediante un par de métodos. La sobrecarga de métodos es la relación entre múltiples métodos.
3. Las anulaciones requieren la misma lista de parámetros; la sobrecarga requiere listas de parámetros diferentes.
4. En la relación de sobrescritura, el cuerpo del método llamado se determina en función del tipo de objeto (el tipo de espacio de almacenamiento correspondiente al objeto en la relación de sobrecarga, según la lista de parámetros real y); forma de tabla de la llamada para seleccionar el cuerpo del método.
27 ¿Cuáles son las acciones de jsp? ¿Cuál es el papel de cada uno?
Respuesta: JSP*** tiene las siguientes seis operaciones básicas
jsp:include: Introduce un archivo al solicitar la página.
jsp:useBean: busca o crea una instancia de un JavaBean.
jsp:setProperty: establece las propiedades de JavaBean: establece las propiedades de JavaBean.
jsp:getProperty: genera las propiedades de JavaBean.
jsp:forward: Reenviar: reenvía la solicitud a una nueva página.
jsp:plugin: genera etiquetas OBJECT o EMBED para complementos Java según el tipo de navegador
28 Matriz de tipo int con valor int, consulta el valor de índice del valor int en la matriz y escribir dos casos de prueba
Respuesta:
29 ¿Cómo funciona el hilo? La diferencia entre esperar y dormir
Respuesta: dormir es un método de la clase de subproceso (Thread), que suspende la ejecución del subproceso dentro de un tiempo específico para brindar oportunidades de ejecución a otros subprocesos, pero monitorea el estado. Permanezca sin cambios y restaure automáticamente cuando expire el tiempo. Llamar al modo de suspensión no libera el bloqueo del objeto.
esperar es un método de la clase de objeto.
Llamar al método de espera del objeto hará que el subproceso abandone el bloqueo del objeto y entre al grupo de bloqueo de espera del objeto en espera. Solo después de emitir el método de notificación del objeto (o notifyAll), el subproceso ingresará al grupo de bloqueo de objetos y se preparará para hacerlo. adquirir el bloqueo del objeto y entrar en estado de ejecución.
30 ¿Cuál es la diferencia entre Servlet y GenericServlet o HttpServlet? ¿Cuál se utiliza generalmente en el programa? ¿Qué métodos se implementan?
Respuesta:
31 ¿Cómo funciona Hibernar?
Respuesta: Hibernate es una herramienta JDO. Su principio de funcionamiento es establecer una relación de mapeo entre los objetos de valor y las tablas de la base de datos a través de archivos, de modo que solo necesitamos operar estos objetos de valor y algunas clases básicas proporcionadas por Hibernate para lograr el propósito de usar la base de datos.
32 ¿Escribir el código para implementar el patrón singleton?
Respuesta:
33 ¿Qué es J2EE, qué componentes tiene J2EE y qué componentes se utilizan en su proyecto?
Respuesta: Je22 es un modelo de aplicación empresarial basado en componentes, distribuido y de varios niveles propuesto por Sun. En un sistema de aplicación de este tipo, se puede dividir en diferentes componentes según las funciones. Estos componentes pueden ubicarse en diferentes computadoras y en los niveles correspondientes. Estas capas incluyen componentes de nivel de cliente, capas y componentes de red, capas y componentes de negocio y capa de sistema de información empresarial (EIS)
34 Describa brevemente la arquitectura y el flujo de trabajo de su proyecto.
Respuesta:
35 ¿Cuál es la diferencia entre String y StringBuffer? ¿Qué clase de cadena usar en qué situación?
Respuesta: La plataforma Java proporciona dos clases: pueden almacenar y manipular cadenas, es decir, datos de caracteres que contienen varios caracteres. La clase String proporciona cadenas con valores inmutables. La clase StringBuffer proporciona cadenas modificables. Puede utilizar StringBuffer si sabe que los datos de los caracteres cambiarán. Normalmente, se utiliza un StringBuffer para crear dinámicamente datos de caracteres.
36 En Java, ¿qué interfaz se debe implementar para la operación de serialización? ¿Y qué métodos se implementan?
Respuesta: La definición de interfaz externalizable incluye dos métodos: writeExternal() y readExternal(). La definición de interfaz externalizable incluye dos métodos: writeExternal() y readExternal(). Con estos métodos, puede controlar cómo se escriben los miembros de datos del objeto en el flujo de bytes. Cuando una clase implementa Externalizable, los encabezados se escriben en la secuencia de objetos y la clase es la única responsable de serializar y restaurar los miembros de datos.
37 ¿Es posible definir propiedades en una interfaz? Si es así, ¿qué tipos de propiedades deberían definirse?
Respuesta: Sí, debes definir propiedades de tipo público, si no escribes estas propiedades, por defecto serán públicas estáticas.