Subject: Trabalho de java - Prova online Date: Wed, 10 Mar 1999 21:43:44 -0300 From: Marcelo Augusto Medeiros e Silva To: pedroporfirio@usa.net Caro Porfírio, Depois de muito "lutar" com os gerenciadores de layout e com a documentação das API´s do JDK, aqui está a nossa classe "Provão"... Ela foi desenvolvida utilizando-se as seguintes premissas: 1) Utilizar a menor quantidade possível de recursos no lador "servidor", o que nos permitiria alocar nossa classe em um provedor de uso geral como XOOM, GEOCITIES, e etc. 2) Deixar a classe flexível, de forma ela que possa ser utilizada com qualquer tipo de prova (multipla-escolha), e qualquer numero de perguntas. 3) Utilizar basicamente o JDK (java, javac, appletviewer), com todos os códigos escritos à mão (aprenderíamos mais desta forma). O applet possui três classes: Provao (classe principal que instancia as outras classes e troca informações entre elas); CardStart (painel que recolhe as informações do aluno - tela1); CardTest (painel com a prova propriamente dita - tela2); e CardResult (painel com o resultado final - tela3). As questões são lidas de um arquivo texto "textoX.txt" armazenados no servidor (disponibilizado através de uma URL predefinida), com a pergunta na primeira linha, as cinco opções nas cinco linhas subsequentes, e a resposta correta na última linha. Quanto a forma de armazenamento dos resultados, optamos por enviá-los para um e-mail predefinido, desta forma conseguiríamos burlar o gerenciador de segurança do appletviewer. Note que esta facilidade não funciona o gerenciador de segurança do Netscape. Outra forma de leitura dos dados e armazenamento dos resultados, mas teríamos que desconsiderar a premissa No.1, seria a de implementar um esquema cliente-servidor com troca de datagramas, o mecanismo seria facilmente adaptado do exemplo sugerido no site da própria SUN (Arquivos anexos: QuoteClientApplet.java, QuoteServer.java, e QuoteServerThread.java). Um outro ítem que poderia ser facilmente implementado, seria a encriptação dos arquivos textos com as perguntas, e a posterior desencriptação na ocasião da leitura dos mesmos. Tal criptografia poderia ser realizada mediante simples embaralhamento de bit´s através de uma chave predefinida no codigo fonte e uma operação lógica XOR. O interessante deste trabalho foi a utilização puramente das ferramentas do JDK (java, javac, appletviewer) para implementação e depuração do programa, isto nos possibilitou uma aprendizagem mais "pura" do java e de suas potencialidades, como: esquema de tratamento de exceções, gerenciamento de layout´s, funções de i/o, sockets, conversão de tipos, etc.. Esperamos que você goste do resultado !!! Um abraço, Marcelo Augusto Paulo Paiva PS.: Tente rodar o "Provao" com appletviewer, o resultado da prova será enviado para o seu e-mail !!! --------------------------------------------------------------------- Name: provao.zip provao.zip Type: Zip Compressed Data (application/x-zip-compressed) Encoding: base64