Ola galera,
estou seguindo um exemplo de um blog , e estou tentando fazer um insert com java, Ajax e SQLServer, mais não esta funcionando.
package classes;
import java.sql.*;
/**
*
* @author Lucas
*/
public class ConexaoBanco {
public static Connection AbreConexao() throws SQLException, Exception{
//Dados para conexão com banco de dados SQL
String banco = "nomeBanco";
String usuario = "user";
String senha = "senha";
String driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
Connection conn = null;
//Método estático para inicializar o driver JDBC (Arquivo inserido em Bibliotecas)
Class.forName(driver);
//Envia ao DriverManagr os dados para conectar ao banco de dados
conn = DriverManager.getConnection("jdbc:sqlserver://nomeBanco:1433;databaseName=Lucas",
"user", "senha");
//retorna a conexão para quem chamou o método
return conn;
}
//Classe criada para executar todos os SELECT's no banco de dados
public static ResultSet executeQuery(Connection conn, String query) throws SQLException {
//Prepara uma variavel do tipo Statement que representa uma Query ou Comando
Statement sta = conn.createStatement();
//Cria variável do tipo ResultSet que irá receber a consulta do Statement
ResultSet rs = null;
try {
//Variável ResultSet recebe os dados retornado do banco
rs = sta.executeQuery(query);
} catch (Exception err) {
//Log.logar(err.getMessage(), Log.TYPE_INFORMATION);
}
return rs;
}
//Classe criada para executar todos os INSERT's no banco de dados
public static int executeInsert(Connection conn, String query) throws SQLException {
//Prepara uma variavel do tipo Statement que representa uma Query ou Comando
Statement stm = conn.createStatement();
//Executa o comando SQL INSERT no banco de dados
return stm.executeUpdate(query);
}
}
package servlets;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import classes.ConexaoBanco;
/**
* Servlet implementation class sCadastraAluno
*/
public class sCadastraAluno extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
//Todos os parametros que será recebido pela pagina JSP
String matricula = request.getParameter("matricula");
String nome = request.getParameter("nome");
String idade = request.getParameter("idade");
String email = request.getParameter("email");
String endereco = request.getParameter("endereco");
//String com o comando de Insert
String query = ("insert into Aluno (matricula, nome,idade,email,endereco) values('','"+matricula+"','"+nome+"','"+idade+"','"+email+"','"+endereco+"')");
//Abre a conexão com o banco de dados utilizando a classe criada
Connection conn = ConexaoBanco.AbreConexao();
//Envia para classe INSERT a conexao aberta e o comando que será executado
ConexaoBanco.executeInsert(conn, query);
//Sempre fechar a conexão aberta para não causar problemas futuros
conn.close();
}catch(Exception ex){
out.println(ex.getMessage());
} finally {
out.close();
}
}
public sCadastraAluno() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
}
}
<body>
<div>
<h2>
Pesquisar Usuario
<br>
<a href="pesquisar.jsp">Pesquisar Usuários Cadastrados</a>
</h2>
<div align="center"><br></div> <span>Cadastro de Usuário</span><br>
<table align="center">
<tr align="center">
<td>Matricula</td>
<td align="left"><input type="text" id="txt_matricula" style="width: 80px;" /></td>
</tr>
<tr align="center">
<td>Nome</td>
<td><input type="text" id="txt_nome" /></td>
</tr>
<tr align="center">
<td>Idade</td>
<td><input type="text" id="txt_idade" /></td>
</tr>
<tr align="center">
<td>Email</td>
<td><input type="text" id="txt_email" /></td>
</tr>
<tr align="center">
<td>Endereço</td>
<td><input type="text" id="txt_endereco" /></td>
</tr>
<tr align="center">
<td colspan="2"> </td>
</tr>
<tr>
<td colspan="2" align="center">
<button id="btn_salvar" onClick="cadastraUsuario();">Salvar</button>
</td>
</tr>
</table>
</div>
<div id="resp"></div>
<script type="text/javascript">
//Função para enviar requisições HTTP
function initXHR() {
// criando xhr de acordo com o browser
if (window.XMLHttpRequest) { // Nao microsoft
xhr = new XMLHttpRequest();
} else if (window.ActiveXObject) {
xhr = new ActiveXObject("Microsoft.XMLHttp");
}
}
//Este codigo e o initXHR sempre serão os mesmo. Não há necessidade de criar outro
function sendRequest(url, handler) {
initXHR();
// setando método de resposta no xhr
xhr.onreadystatechange = handler;
// abrindo requisição
xhr.open("GET", url, true);
// executando xhr
xhr.send(null);
}
//Função será executada ao Clicar no botão Salvar. A função pega os valores digitados e envia para Servlet
function cadastraUsuario() {
var matricula = window.document.getElementById("txt_matricula");
var nome = window.document.getElementById("txt_nome");
var idade = window.document.getElementById("txt_idade");
var email = window.document.getElementById("txt_email");
var endereco = window.document.getElementById("txt_endereco");
//Variável que passará os valores via Ajax para o servlet
var url = "sCadastraAluno?matricula=" + matricula.value + "&nome="
+ nome.value + "&idade=" + idade.value + "&email="
+ email.value + "&endereco=" + endereco.value;
//Envia a varivável e chama proxima função para verificar a resposta do Servlet
sendRequest(url, ajaxCadastro);
}
//Retorno do Servlet indicando se está tudo Ok.
function ajaxCadastro() {
if (xhr.readyState == 4) { // requisicao concluida
// status da resposta 200 = OK, (404 página não encontrada, 500 erro no servidor)
if (xhr.status == 200) {
// setando valores de resposta do servlet no meu div
var resposta = window.document.getElementById("resp");
//Definindo um texto que será exibido se cadastro foi feito com sucesso.
resposta.innerHTML = "Usuário cadastrado com sucesso!";
}
}
}
</script>
</body>
VLW

