Resumo: Este artigo apresenta uma estrutura de implementação para o desenvolvimento de sistemas de informação gerencial baseados na Web. Utilizar a tecnologia JSP/Servlet e combiná-la com o padrão de design MVC torna o processo de desenvolvimento mais flexível e fácil de manter.
Palavras-chave: Sistema de informação gerencial, JSP, Servlet, padrão de projeto MVC, JDBC
1. Introdução
Sistema de informação gerencial (MIS) é um sistema composto por pessoas e computadores que podem coletar, transmitir, armazenar, processar e usar informações. Com o desenvolvimento da ciência e da tecnologia e a expansão da informação, a informatização empresarial tornou-se um dos meios eficazes para as empresas permanecerem numa posição imbatível na concorrência. O MIS pode não só fornecer informações e dados de forma atempada e abrangente, simplificar o trabalho estatístico e fornecer diferentes relatórios para diferentes níveis de gestão, mas também pode prever situações futuras com base em dados passados. Portanto, é particularmente importante usar qual método para desenvolver um sistema de informação gerencial que leve em conta tanto a eficiência de desenvolvimento quanto a eficiência operacional e satisfaça a função de processamento distribuído de eventos. Este artigo descreve um método de uso de JSP/Servlet para construir um sistema de informações de gerenciamento de três camadas.
2. Arquitetura de três camadas do sistema
A arquitetura de três camadas do sistema é mostrada na Figura 1.
Figura 1 Arquitetura de aplicação Web baseada em tecnologia Java
Todo o sistema de informações de gerenciamento adota a arquitetura de três camadas de Navegador/Web/Banco de Dados. O servidor Web aceita a solicitação, executa um miniaplicativo Java Servlet do lado do servidor por meio do servidor de aplicação e retorna sua saída, realizando assim a interação dos recursos de informação com o cliente. O servidor de banco de dados é usado para armazenar diversos dados utilizados no sistema de informações de gerenciamento, e os dados são inseridos diretamente pelo programa de gerenciamento de banco de dados. O cliente do sistema requer apenas um navegador. O pessoal relevante pode consultar, adicionar, modificar, excluir dados e gerenciar informações através do navegador.
3. Padrão de projeto de sistema
O padrão de projeto é uma representação formal usada por programadores orientados a objetos para resolver problemas de programação. Atualmente, na maioria das aplicações Web com estrutura Navegador/Servidor, o navegador interage diretamente com os usuários na forma de HTML ou JSP e responde às solicitações dos usuários. Embora seja intuitivo, a quantidade de dados operados pela maioria dos sistemas de informações de gerenciamento é impressionante. À medida que o código aumenta, a página JSP fica inchada e o servidor Web fica sobrecarregado. Portanto, o padrão de projeto baseado no controlador de visualização de modelo (MVC.Model-View-Controller) é adotado na camada intermediária. A camada Modelo é usada para implementar a lógica de negócios, a camada Visualização é usada para exibir a interface do usuário e a camada Controlador é a principal responsável pelo relacionamento de controle entre a camada Visualização e a camada Modelo. Na implementação específica, o Servlet é usado como controlador do aplicativo, o documento JSP é usado como visualização e JavaBeans é usado para representar o modelo. Todas as solicitações são enviadas ao Servlet como controlador, que as aceita e responde despachando-as para o JSP apropriado com base nas informações da solicitação. Ao mesmo tempo, o Servlet também gera instâncias JavaBeans de acordo com os requisitos JSP e as envia para o ambiente JSP. JSP pode obter os dados em JavaBeans chamando métodos diretamente ou usando tags personalizadas de UseBean. Esse padrão de design separa efetivamente a camada de dados da camada de apresentação, tornando o trabalho de desenvolvimento mais fácil e rápido. Neste modo de design, a transferência de dados entre vários níveis é mostrada na Figura 2.
Figura 2 Transferência de dados do padrão de design MVC Figura
4. Tecnologia de acesso a dados
O banco de dados é o conteúdo central do sistema de informações de gerenciamento. Atualmente, existem muitas tecnologias de interface Web e de banco de dados. Entre elas, JDBC é uma interface de programação de aplicativos para programas Java para conectar e acessar bancos de dados. Consiste em um conjunto de classes e interfaces escritas em linguagem Java e é uma API Java para execução de SQL. declarações. No sistema de informações de gerenciamento apresentado neste artigo, a tecnologia JSP/Servlet+JDBC é utilizada no acesso a dados, ou seja, o cliente não gera comandos de consulta ao banco de dados e o navegador do cliente estabelece uma conexão com o servidor Web de camada intermediária através da URL. O servidor web é o principal responsável por receber solicitações de dados HTTP de navegadores locais ou remotos. Depois que o Servlet na camada intermediária recebe a solicitação, ele usa a API padrão fornecida pelo JDBC para acessar o banco de dados e executar as operações correspondentes executando o SQL. declarações no programa. O Servlet então passa os dados da consulta para JSP e, finalmente, gera uma página JSP padrão e retorna os resultados ao navegador solicitante. Dessa forma, não apenas separa o cliente do servidor de banco de dados, mas também melhora a eficiência do acesso ao banco de dados.
5. Exemplo
Para ilustrar melhor o método de uso de JSP/Servlet para construir um sistema de informações de gerenciamento de três camadas, o autor tomará um exemplo para analisar e projetar um sistema de informações de gerenciamento de pedidos por correspondência de mercadorias. Este sistema de informações de gerenciamento de pedidos por correspondência usa a linguagem Java para desenvolver aplicativos do lado do servidor e usa o Webshpere da IBM como servidor de aplicativos. O sistema de gerenciamento de banco de dados usa SQL Server7.0 e o programa de interface de banco de dados usa a interface JDBC2. Todo o sistema usa uma abordagem baseada na Web para realizar gerenciamento de clientes, gerenciamento de equipe, gerenciamento de pedidos, gerenciamento de mercadorias, gerenciamento de saída, gerenciamento de entrada e outros processamentos de negócios, controle de processos, controle de autoridade, estatísticas de consulta e funções de impressão do negócio de pedidos por correspondência . Ele analisa detalhadamente a função de consulta da parte de gerenciamento de pedidos.
5.1 Design do banco de dados
Para a parte do pedido, a tabela de informações do pedido Db_order precisa ser definida. Os campos da tabela incluem número do pedido (ddbh), número do cliente (khbh), número do produto (spbh), preço unitário do produto (spdj) e. quantidade do pedido (dgsl), preço total (hjzj), valor recebido (sdje), data de recebimento (sdrq). Para utilizar a tabela Db_order na aplicação, uma conexão com o banco de dados deve ser estabelecida. Esta função é implementada por sql_data.java. Parte do seu código é o seguinte.
public class sql_data {
String url = "jdbc:odbc:PostOrder" // use seu nome de host e número de porta aqui;
String login = "sa" // use seu login aqui
String password ="zh12345"; // use sua senha aqui
conexão pública conexão = null;
Declaração pública st = nulo;
conjunto de resultados público rs = nulo;
tentar
{
Class.forName("com.microsoft.jdbc.sqlserver.SqlServerDriver");
conn =DriverManager.getConnection(url, usuário, senha);
} catch (Exceção e)
{
e.printStackTrace();
}
}
5.2 Design da camada intermediária
No processo de desenvolvimento do sistema de informações de gerenciamento de pedidos por correspondência de mercadorias, com base na ideia do padrão de design MVC e combinado com a situação real do sistema, dividimos ainda mais a camada Modelo de acordo com a divisão do trabalho . A camada Model é geralmente composta por muitos JavaBeans. De acordo com as diferentes funções que esses Beans desempenham no sistema, eles são divididos em três tipos: Command Beans, Data Beans e View Beans. Entre eles, Command Beans são usados para implementar lógica de negócios, ou seja, o processamento de instâncias de objetos é usado para descrever e definir modelos de objetos abstraídos do mundo real e View Beans são usados para encapsular e retornar instâncias de objetos processados; .para o cliente.
Primeiro, Command Beans obtém as informações passadas pelo Servlet, encapsula as informações de negócios em instâncias de objetos definidas pelos Data Beans e processa as informações de acordo com a lógica de negócios. Quando uma operação de acesso ao banco de dados precisa ser chamada, o Command Beans usa a instância do objeto e as informações de controle correspondentes para concluir a operação do banco de dados por meio do método de interface do banco de dados. Após a conclusão da operação do banco de dados, o conjunto de registros retornado é encapsulado em uma instância de objeto do Data Beans. Após determinado processamento, as informações que precisam ser retornadas à interface são encapsuladas em View Beans predefinidos e as informações são retornadas por meio de View Beans. . para a interface.
A seguir está parte do código OrderGl.java que consulta e processa pedidos.
classe pública OrderGl {
…
//Defina o seguinte método para concluir a operação de consulta do pedido
string final pública currentMultiQuery(
Solicitação javax.servlet.http.HttpServletRequest,
resposta javax.servlet.http.HttpServletResponse)
lança com.goods.exception.GoodsException
{
//Obtém as informações de consulta correspondentes da página JSP
com.goods.view.OrderView view = getView (solicitação, resposta);
String ddbh = view.getDdbh(); //Número do pedido
//Gerar instrução SQL
String sqlQuery = "selecione ddbh,khbh,spbh,spdj,dgsl,hjzj,sdje,sdrq de db_order";
//Executa operação de consulta
vetor java.util.Vector = novo java.util.Vector();
com.goods.sjk.sql_data por = new com.goods.sjk.sql_data();
tentar
{
java.sql.ResultSet rs = per.executeQuery(sqlQuery);
enquanto (rs.next())
{
com.goods.dx.Db_order temp = new 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"));
vetor.addElement(temp);
}
rs.close();
por.close();
} pegar (arremessável e)
{
e.printStackTrace();
por.close();
cxyw.printErrorToWeb(solicitação, resposta, e.toString());
retornar e.toString();
}
//Ecoa as informações relevantes para a interface view.setVct(vector);
request.setAttribute("visualizar", visualizar);
retornar "1";
}
}
5.3 A
visualização de design do cliente é a parte da aplicação que exibe informações ao usuário, ou seja, a página Web retornada ao usuário após ele fazer uma solicitação. Ao clicar no botão “Consulta”, será exibida a página de resultados das informações do pedido ordercx.jsp obtida com base no número do pedido. Isso é feito usando a seguinte sintaxe na página JSP:
<jsp:useBean id="view" class="com.goods.view.OrderView" scope="request" />
<jsp:useBean id="temp" class="com.goods.dx.Db_order" scope="page" />
<jsp:useBean>A ação usa id e escopo para descobrir cada objeto existente e depois passa <%=view.getDdbh()
e <%=temp.getDdbh()%> para obter dados relacionados.
6. Resumo
Este artigo propõe uma solução para o desenvolvimento de um sistema de informações de gerenciamento de três camadas baseado na Web usando tecnologia JSP/Servlet. Esta solução realiza a separação da camada de apresentação e da camada lógica, tornando o sistema altamente escalável. Ao mesmo tempo, fornece uma ideia e método completos para o desenvolvimento de sistemas de informação de gestão.