Resumen: Este artículo presenta un marco de implementación para desarrollar sistemas de información de gestión basados en Web. Utilizar la tecnología JSP/Servlet y combinarla con el patrón de diseño MVC hace que el proceso de desarrollo sea más flexible y fácil de mantener.
Palabras clave: Sistema de información de gestión, JSP, Servlet, patrón de diseño MVC, JDBC
1. Introducción
Un sistema de información de gestión (MIS) es un sistema compuesto por personas y computadoras que pueden recopilar, transmitir, almacenar, procesar y utilizar información. Con el desarrollo de la ciencia y la tecnología y la expansión de la información, la informatización empresarial se ha convertido en uno de los medios eficaces para que las empresas se mantengan en una posición inmejorable en la competencia. MIS no solo puede proporcionar información y datos de manera oportuna y completa, simplificar el trabajo estadístico y proporcionar diferentes informes para diferentes niveles de gestión, sino que también puede predecir situaciones futuras basadas en datos pasados. Por lo tanto, es particularmente importante utilizar qué método para desarrollar un sistema de información de gestión que tenga en cuenta tanto la eficiencia del desarrollo como la eficiencia de la operación y satisfaga la función de procesamiento distribuido de eventos. Este artículo describe un método para utilizar JSP/Servlet para crear un sistema de información de gestión de tres niveles.
2. Arquitectura de tres niveles del sistema
La arquitectura de tres niveles del sistema se muestra en la Figura 1.
Figura 1 Arquitectura de aplicaciones web basada en tecnología Java
Todo el sistema de información de gestión adopta la arquitectura de tres niveles de Navegador/Web/Base de datos. El servidor web acepta la solicitud, ejecuta un servlet del lado del servidor Java a través del servidor de aplicaciones y devuelve su salida, logrando así la interacción de los recursos de información con el cliente. El servidor de base de datos se utiliza para almacenar diversos datos utilizados en el sistema de información de gestión, y el programa de gestión de base de datos ingresa directamente los datos. El cliente del sistema sólo requiere un navegador. El personal relevante puede consultar, agregar, modificar, eliminar datos y administrar información a través del navegador.
3. Patrón de diseño del sistema
El patrón de diseño es una representación formal utilizada por los programadores orientados a objetos para resolver problemas de programación. Actualmente, en la mayoría de las aplicaciones web con estructura Navegador/Servidor, el navegador interactúa directamente con los usuarios en forma de HTML o JSP y responde a las solicitudes de los usuarios. Aunque es intuitivo, la cantidad de datos operados por la mayoría de los sistemas de información de gestión es asombrosa. A medida que aumenta el código, la página JSP se inflará y el servidor web se sobrecargará. Por lo tanto, el patrón de diseño basado en el controlador de vista del modelo (MVC.Model-View-Controller) se adopta en la capa intermedia. La capa Modelo se usa para implementar la lógica empresarial, la capa Vista se usa para mostrar la interfaz de usuario y la capa Controlador es la principal responsable de la relación de control entre la capa Vista y la capa Modelo. En una implementación específica, se utiliza Servlet como controlador de la aplicación, el documento JSP se utiliza como vista y JavaBeans se utiliza para representar el modelo. Todas las solicitudes se envían al Servlet como controlador, que acepta las solicitudes y responde enviándolas al JSP apropiado según la información de la solicitud. Al mismo tiempo, Servlet también genera instancias de JavaBeans de acuerdo con los requisitos de JSP y las envía al entorno JSP. JSP puede obtener los datos en JavaBeans llamando directamente a métodos o utilizando las etiquetas personalizadas de UseBean. Este patrón de diseño separa efectivamente la capa de datos de la capa de presentación, lo que hace que el trabajo de desarrollo sea más fácil y rápido. En este modo de diseño, la transferencia de datos entre varios niveles se muestra en la Figura 2.
Figura 2 Transferencia de datos del patrón de diseño MVC Figura
4. Tecnología de acceso a datos
La base de datos es el contenido central del sistema de información de gestión. Actualmente, existen muchas tecnologías de interfaz web y de bases de datos. Entre ellas, JDBC es una interfaz de programación de aplicaciones para que los programas Java se conecten y accedan a bases de datos. Consiste en un conjunto de clases e interfaces escritas en lenguaje Java y es una API de Java para ejecutar SQL. declaraciones. En el sistema de información de gestión presentado en este artículo, la tecnología JSP / Servlet + JDBC se utiliza para el acceso a los datos, es decir, el cliente no genera comandos de consulta de la base de datos y el navegador del cliente establece una conexión con el servidor web de nivel medio. a través de la URL. El servidor web es el principal responsable de recibir solicitudes de datos HTTP de navegadores locales o remotos. Luego, después de que el servlet en la capa intermedia recibe la solicitud, utiliza la API estándar proporcionada por JDBC para acceder a la base de datos y realizar las operaciones correspondientes ejecutando SQL. declaraciones en el programa. Luego, el servlet pasa los datos de la consulta a JSP y finalmente genera una página JSP estándar y devuelve los resultados al navegador solicitante. De esta manera, no solo separa al cliente del servidor de la base de datos, sino que también mejora la eficiencia del acceso a la base de datos.
5. Ejemplo
Para ilustrar mejor el método de uso de JSP/Servlet para construir un sistema de información de gestión de tres niveles, el autor tomará un ejemplo para analizar y diseñar un sistema de información de gestión de pedidos por correo de productos básicos. Este sistema de información de gestión de pedidos por correo utiliza lenguaje Java para desarrollar aplicaciones del lado del servidor y utiliza Webshpere de IBM como servidor de aplicaciones. El sistema de gestión de bases de datos utiliza SQL Server7.0 y el programa de interfaz de base de datos utiliza la interfaz JDBC2. Todo el sistema utiliza un enfoque basado en la web para realizar la gestión de clientes, gestión de personal, gestión de pedidos, gestión de productos básicos, gestión de salidas, gestión de entradas y otras funciones de procesamiento comercial, control de procesos, control de autoridad, consultas de estadísticas e impresión del negocio de pedidos por correo. . Analiza en detalle la función de consulta de la parte de gestión de pedidos.
5.1 Diseño de la base de datos
Para la parte del pedido, es necesario definir la tabla de información del pedido Db_order. Los campos de la tabla incluyen el número de pedido (ddbh), el número de cliente (khbh), el número de producto (spbh), el precio unitario del producto (spdj). cantidad del pedido (dgsl), precio total (hjzj), cantidad recibida (sdje), fecha de recepción (sdrq). Para utilizar la tabla Db_order en la aplicación, se debe establecer una conexión a la base de datos. Esta función está implementada por sql_data.java. Parte de su código es el siguiente.
public class sql_data {
String url = "jdbc:odbc:PostOrder" // use su nombre de host y número de puerto aquí
String login = "sa" // use su inicio de sesión aquí
Contraseña de cadena = "zh12345" // use su contraseña aquí
Conexión pública conexión = nula;
Declaración pública st = nulo;
conjunto de resultados público rs = nulo;
intentar
{
Class.forName("com.microsoft.jdbc.sqlserver.SqlServerDriver");
conn =DriverManager.getConnection(url, usuario, contraseña);
} captura (Excepción e)
{
e.printStackTrace();
}
}
5.2 Diseño de la capa intermedia
En el proceso de desarrollo del sistema de información de gestión de pedidos por correo de productos básicos, basado en la idea del patrón de diseño MVC y combinado con la situación real del sistema, dividimos aún más la capa Modelo según la división del trabajo. . La capa de modelo generalmente se compone de muchos JavaBeans. Según las diferentes funciones que desempeñan estos Beans en el sistema, se dividen en tres tipos: Beans de comando, Beans de datos y Beans de vista. Entre ellos, los Command Beans se utilizan para implementar la lógica empresarial, es decir, el procesamiento de instancias de objetos, los Data Beans se utilizan para describir y definir modelos de objetos abstraídos del mundo real, y los View Beans se utilizan para encapsular y devolver aún más instancias de objetos procesados; . al cliente.
Primero, Command Beans obtiene la información pasada por el Servlet, encapsula la información comercial en instancias de objetos definidas por Data Beans y procesa la información de acuerdo con la lógica comercial. Cuando es necesario llamar a una operación de acceso a la base de datos, Command Beans utiliza la instancia del objeto y la información de control correspondiente para completar la operación de la base de datos a través del método de interfaz de la base de datos. Una vez completada la operación de la base de datos, el conjunto de registros devuelto se encapsula en una instancia de objeto de Data Beans. Después de cierto procesamiento, la información que debe devolverse a la interfaz se encapsula en View Beans predefinidos y la información se devuelve a través de View Beans. a la interfaz.
Lo siguiente es parte del código de OrderGl.java que consulta y procesa pedidos.
clase pública OrdenGl {
…
//Defina el siguiente método para completar la operación de consulta de pedido
cadena final pública currentMultiQuery (
Solicitud javax.servlet.http.HttpServletRequest,
respuesta javax.servlet.http.HttpServletResponse)
lanza com.goods.exception.GoodsException
{
//Obtener la información de consulta correspondiente de la página JSP
com.goods.view.OrderView vista = getView(solicitud, respuesta);
String ddbh = view.getDdbh(); //Número de pedido
//Generar declaración SQL
String sqlQuery = "seleccione ddbh,khbh,spbh,spdj,dgsl,hjzj,sdje,sdrq de db_order ";
//Ejecutar operación de consulta
java.util.Vector vector = nuevo java.util.Vector();
com.goods.sjk.sql_data por = nuevo com.goods.sjk.sql_data();
intentar
{
java.sql.ResultSet rs = per.executeQuery(sqlQuery);
mientras (rs.siguiente())
{
com.goods.dx.Db_order temp = nuevo com.goods.dx.Db_order();
temp.setDdbh(rs.getString("ddbh"));
temp.setKhbh(rs.getString("khbh"));
temp.setSpbh(rs.getString("spbh"));
temp.setSpdj(rs.getString("spdj"));
temp.setDgsl(rs.getString("dgsl"));
temp.setHjzj(rs.getString("hjzj"));
temp.setSdje(rs.getString("sdje"));
temp.setSdrq(rs.getString("sdrq"));
vector.addElement(temp);
}
rs.cerrar();
por.close();
} atrapar (E arrojable)
{
e.printStackTrace();
por.close();
cxyw.printErrorToWeb(solicitud, respuesta, e.toString());
devolver e.toString();
}
//Repite la información relevante a la interfaz view.setVct(vector);
request.setAttribute("ver", ver);
devolver "1";
}
}
5.3 La
vista de diseño del cliente es la parte de la aplicación que muestra información al usuario, es decir, la página web que se devuelve al usuario después de que éste realiza una solicitud. Cuando se hace clic en el botón "Consultar", se mostrará la página de resultados de información del pedido ordercx.jsp obtenida en función del número de pedido. Esto se hace usando la siguiente sintaxis en la página JSP:
<jsp:useBean id="view" class="com.goods.view.OrderView" alcance="request" />
<jsp:useBean id="temp" class="com.goods.dx.Db_order" alcance="página" />
<jsp:useBean>La acción utiliza id y alcance para descubrir cada objeto existente y luego pasa <%=view.getDdbh()
y <%=temp.getDdbh()%> para obtener datos relacionados.
6. Resumen
Este artículo propone una solución para desarrollar un sistema de información de gestión de tres niveles basado en Web utilizando tecnología JSP/Servlet. Esta solución logra la separación de la capa de presentación y la capa lógica, lo que hace que el sistema sea altamente escalable. Al mismo tiempo, proporciona una idea y un método completos para el desarrollo de sistemas de información de gestión.