Olá senhores. Estou tentando fazer essa aplicação funcionar a algum tempo. Quando preencho os dados e clico no Enviar do formulário HTML, ele retorna uma página em branco no navegador.
Detalhe é que eu criei um if que verifica se alguns dos campos digitados (disciplina ou senha) estão em branco e se estiver ele retorna a mensagem "Erro! Dados incompletos, há algum campo não preenchido". Isso está funcionando, mas se os campos são preenchidos corretamente, uma página em branco é retornada pelo servlet no browser.
Abaixo está o código do index.jsp que tem o formulário html e do servlet alunos.java
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>e-Chamadas</title>
</head>
<body>
<center>
<h1>Por favor, insira os dados abaixo:</h1>
<form action="http://localhost:8084/eBusiness/Alunos">
<table border=0 align=center>
<tr>
<th><b>Disciplina:</b></th>
<td><input type="text" name="disciplina" size="30"></td>
</tr>
<tr>
<th><b>Senha:</b></th>
<td><input type="password" name="senha" size="6" maxlength="6"></td>
</tr>
<tr>
<td colspan=2 align=center><input type=submit name="cmdEnviar" value="Enviar dados">
<input type=reset name="cmdLimpar" value="Limpar dados"></td>
</tr>
</table>
</form>
</center>
</body>
</html>
import java.io.*;
import java.net.*;
import java.sql.*;
import java.util.Date;
import javax.servlet.*;
import javax.servlet.http.*;
public class Alunos extends HttpServlet {
boolean status;
ResultSet rs;
Statement MeuState;
Connection MinhaConexao;
protected void doGet(HttpServletRequest req, HttpServletResponse res)
{
//cria duas variáveis String que receberão os dados do formulário
String disciplina = req.getParameter("disciplina");
String senha = req.getParameter("senha");
//verifica se o usuário não deixou um dos campos em branco
if (!disciplina.equals("") && !senha.equals(""))
{
String url = "jdbc:mysql://localhost/eBusiness" + "root" + "";
System.out.println("Entrada de dado reconhecida!");
try {
Class.forName("com.mysql.jdbc.Driver");
//faz a conexão com o banco de dados, mandando o usuário (root) e a senha (em branco)
MinhaConexao = DriverManager.getConnection ("jdbc:mysql://localhost/eBusiness" , "root" , "");
System.out.println("Conexão estabelecida!");
}
catch (ClassNotFoundException exc1){
System.out.println("Driver não encontrado!");
return;}
catch (SQLException exc){
System.out.println("Conexão não realizada!");
return;}
//compara o que foi digitado no formulário com o que há no banco de dados
try {
MeuState = MinhaConexao.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
String SQL = "select * from senhas" +
"where Materia = '"+disciplina+"'" +
"and Senha = '"+senha+"'";
MeuState.execute(SQL);
System.out.println("SQL executada!");
//se a verificação foi feita corretamente, a variável status recebe true
status = true;
}
catch (SQLException exc){
status = false;
}
try {
if (status)
{
PrintStream tela = new PrintStream(res.getOutputStream());
tela.println("<HTML><BODY bgcolor=black>");
tela.println("Obrigado, suas informacoes foram gravadas com sucesso");
tela.println("<BR><P>");
tela.println("</BODY></HTML>");
}
else {
PrintStream tela = new PrintStream(res.getOutputStream());
tela.println("<HTML><BODY>");
tela.println("Dados já previamente cadastrados");
tela.println("<BR><P>");
tela.println("</BODY></HTML>");
}
}
catch (IOException e){
System.out.println("Problemas no retorno de dados");
}
}
else
try {
PrintStream tela = new PrintStream(res.getOutputStream());
tela.println("<HTML><BODY>");
tela.println("Erro! Dados incompletos, há algum campo não preenchido");
tela.println("</BODY></HTML>");
}
catch(IOException exc2){
return;
}
}
}
