Pessoal, bom dia!
Seguinte, fiz um CRUD bem simples, utilizando jsp e banco mysql.
Tenho 3 jsp (index, alterar, exluir) e nessas jsp tenho tanto o codigo html, quanto java e persistencia no banco…
Gostaria de saber como eu devo proceder pra aplicar MVC neste aplicativo.
Estrutura:
- Paginas Web
- alterar.jsp
- excluir.jsp
- index.jsp
IDE: Netbeans 6.9
Servidor web: Glassfish
Banco: Mysql
index.jsp:
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.Statement"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Cadastro</title>
</head>
<body bgcolor="#66AADD">
<%
String nome = request.getParameter("nome");
String idade = request.getParameter("idade");
String telefone = request.getParameter("telefone");
String email = request.getParameter("email");
String acao = "";
int id;
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/cadastro", "root", "root");
Statement stm = con.createStatement();
ResultSet rs;
%>
<form action="index.jsp?acao=cadastrar" method="post" id="cadastroform">
<div>
<label for="nome"><span>*</span>Nome: </label>
<input type="text" name="nome" id="nome" placeholder="Digite seu nome" required /><br /><br />
</div>
<div>
<label for="email"><span>*</span>Email</label>
<input type="email" name="email" id="email" placeholder="Digite seu email" required /><br /><br />
</div>
<div>
<label for="telefone"><span>*</span>Telefone</label>
<input type="text" name="telefone" id="telefone" placeholder="Digite seu telefone" /><br /><br />
</div>
<div>
<label for="idade"><span>*</span>Idade</label>
<input type="text" name="idade" id="idade" placeholder="Digite sua idade" /><br /><br />
</div>
<div>
<input type="submit" id="enviar" value="Cadastrar" />
</div>
</form>
<div>
<form action="index.jsp?acao=consultar" method="post" id="consultaform">
<input type="submit" id="consultar" value="Consultar" >
</form>
</div>
<br /><br/>
<%
if (request.getParameter("acao") == null) {
} else if (request.getParameter("acao").equals("cadastrar")) {
try {
stm.executeUpdate("insert into cadastro(nome,idade,telefone,email) values('" + nome + "','" + idade + "','" + telefone + "','" + email + "')");
stm.close();
con.close();
out.print("Cadastro realizado com sucesso!");
} catch (Exception ex) {
out.print("Erro: " + ex.toString());
}
} else if (request.getParameter("acao").equals("consultar")) {
rs = stm.executeQuery("select * from cadastro");
out.print("<strong><h3>Registros cadastrados:</h3></strong> <br />");
while (rs.next() == true) {
out.print("ID: " + rs.getInt("identificador") + "<br />");
out.print("Nome: " + rs.getString("nome") + "<br />");
out.print("Idade: " + rs.getString("idade") + "<br />");
out.print("Telefone: " + rs.getString("telefone") + "<br />");
out.print("E-mail: " + rs.getString("email") + "<br /><br />");
out.print("<form action='alterar.jsp?id=" + rs.getInt("identificador") + "' method='post' id='editarform'>");
out.print("<input type='submit' id='alterar' value='Alterar' >");
out.print("</form>");
out.print("<form action='excluir.jsp?id=" + rs.getInt("identificador") + "' method='post' id='editarform'>");
out.print("<input type='submit' id='excluir' value='Excluir' >");
out.print("</form>");
}
} else if (request.getParameter("acao").equals("salvaralteracao")) {
try {
stm.executeUpdate("update cadastro set nome='" + request.getParameter("nome") + "',idade='" + request.getParameter("idade") + "',telefone='" + request.getParameter("telefone") + "',email='" + request.getParameter("email" + "' where identificador = '" + request.getParameter("id") + ";"));
stm.close();
con.close();
out.print("Alteração realizada com sucesso!");
response.sendRedirect("index.jsp?acao=consultar");
} catch (Exception ex) {
out.print("Erro: " + ex.toString());
}
}
%>
</body>
</html>
alterar.jsp:
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.Statement"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Alterar</title>
</head>
<body bgcolor="#66AADD">
<%
String acao = "";
String indice = request.getParameter("id");
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/cadastro", "root", "root");
Statement stm = con.createStatement();
ResultSet rs;
if (request.getParameter("acao") == null) {
String query = "select * from cadastro where identificador=" + indice;
rs = stm.executeQuery(query);
while (rs.next()) {
out.print("<form action='alterar.jsp?acao=salvaralteracao' method='post' id='salvaralteracaoform'>");
out.print("<input type='hidden' name='indice2' id='indice2' value='" + indice + "' />");
out.print("Nome: " + "<input type='text' name='anome' id='anome' value='" + rs.getString("nome") + "' ><br />");
out.print("E-mail: " + "<input type='text' name='aemail' id='aemail' value='" + rs.getString("email") + "' ><br />");
out.print("Telefone: " + "<input type='text' name='atelefone' id='atelefone' value='" + rs.getString("telefone") + "' ><br />");
out.print("Idade: " + "<input type='text' name='aidade' id='aidade' value='" + rs.getString("idade") + "' ><br />");
out.print("<input type='submit' id='alterar' value='Salvar Alteração' >");
out.print("</form>");
}
} else if (request.getParameter("acao").equals("salvaralteracao")) {
String nome = request.getParameter("anome");
String idade = request.getParameter("aidade");
String telefone = request.getParameter("atelefone");
String email = request.getParameter("aemail");
String query = "";
query = "update cadastro set nome='" + nome;
query += "',idade='" + idade;
query += "',telefone='" + telefone;
query += "',email='" + email;
query += "' where identificador = '" + request.getParameter("indice2") + "'";
stm.executeUpdate(query);
stm.close();
con.close();
response.sendRedirect("index.jsp?acao=consultar");
}
%>
</body>
</html>
excluir.jsp:
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.Statement"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Excluir</title>
</head>
<body bgcolor="#66AADD">
<%
String indice = request.getParameter("id");
String query = "delete from cadastro where identificador=" + indice;
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/cadastro", "root", "root");
Statement stm = con.createStatement();
ResultSet rs;
stm.executeUpdate(query);
stm.close();
con.close();
response.sendRedirect("index.jsp?acao=consultar");
%>
</body>
</html>
Use JSF!