Boa tarde, amigos!
Como faço a conexão do banco de dados no web.xml, uma vez que quero que o meu banco seja carregado apenas uma vez?
tenho o código de um servlet que acessa o banco de dados para inclusão:
RegistroAcessoBD
import javax.servlet.<em>;
import javax.servlet.http.</em>;
import <a href="http://java.io">java.io</a>.<em>;
import java.util.</em>;
import java.sql.*;
public class RegistroAcessoBD extends HttpServlet {
private String firstName = “”;
private String lastName = “”;
private String userName = “”;
private String password = “”;
private String id = “”;
public void init() {
try {
Class.forName(“com.mysql.jdbc.Driver”);
System.out.println(“JDBC driver loaded”);
}
catch (ClassNotFoundException e) {
System.out.println(e.toString());
}
}
/*<em>Process the HTTP Get request</em>/
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
sendPageHeader(response);
sendRegistrationForm(request, response, false);
sendPageFooter(response);
}
/*<em>Process the HTTP Post request</em>/
public void doPost(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
sendPageHeader(response);
id=request.getParameter("id");
firstName = request.getParameter("firstName");
lastName = request.getParameter("lastName");
userName = request.getParameter("userName");
password = request.getParameter("password");
boolean error = false;
String message = null;
try {
Connection con = DriverManager.getConnection("jdbc:mysql://localhost/grupo07","root","admin");
System.out.println("got connection");
Statement s = con.createStatement();
String sql = "SELECT UserName FROM Users" +
" WHERE userName='" + userName + "'";
ResultSet rs = s.executeQuery(sql);
if (rs.next()) {
rs.close();
message = "Este username <B>" + userName + "</B> já existe. Por favor, utilize outro nome.";
error = true;
}
else {
rs.close();
sql = "INSERT INTO Users" +
" (FirstName, LastName, UserName, Password, id)" +
" VALUES" +
" ('" + (firstName) + "'," +
" '" + (lastName) + "'," +
" '" + (userName) + "'," +
" '" + (password) + "'," +
" '" + (id) + "')";
int i = s.executeUpdate(sql);
if (i==1) {
message = "Usuário adicionado com SUCESSO!!!";
}
}
s.close();
con.close();
}
catch (SQLException e) {
message = "Error." + e.toString();
error = true;
}
catch (Exception e) {
message = "Error." + e.toString();
error = true;
}
if (message!=null) {
PrintWriter out = response.getWriter();
out.println("<B>" + message + "</B><BR>");
out.println("<HR><BR>");
}
if (error==true)
sendRegistrationForm(request, response, true);
else
sendRegistrationForm(request, response, false);
sendPageFooter(response);
}
/**
- Send the HTML page header, including the title
- and the tag
*/
private void sendPageHeader(HttpServletResponse response)
throws ServletException, IOException {
response.setContentType(“text/html”);
PrintWriter out = response.getWriter();
out.println("");
out.println("");
out.println(“Página de Registro de Acesso”);
out.println("");
out.println("");
out.println("");
}
/**
- Send the HTML page footer, i.e. the
- and the
*/
private void sendPageFooter(HttpServletResponse response)
throws ServletException, IOException {
PrintWriter out = response.getWriter();
out.println("");
out.println("");
out.println("");
}
/**Send the form where the user can type in
- the details for a new user
*/
private void sendRegistrationForm(HttpServletRequest request,
HttpServletResponse response, boolean displayPreviousValues)
throws ServletException, IOException {
PrintWriter out = response.getWriter();
out.println("<BR><H2>Página de Registro de Acesso</H2>");
out.println("<BR>Por favor, entre com os dados do usuário.");
out.println("<BR>");
out.println("<BR><FORM METHOD=POST>");
out.println("<TABLE>");
out.println("<TR>");
out.println("<TD>First Name</TD>");
out.print("<TD><INPUT TYPE=TEXT Name=firstName");
if (displayPreviousValues)
out.print(" VALUE=\"" + (firstName) + "\"");
out.println("></TD>");
out.println("</TR>");
out.println("<TR>");
out.println("<TD>Last Name</TD>");
out.print("<TD><INPUT TYPE=TEXT Name=lastName");
if (displayPreviousValues)
out.print(" VALUE=\"" + (lastName) + "\"");
out.println("></TD>");
out.println("</TR>");
out.println("<TR>");
out.println("<TD>User Name</TD>");
out.print("<TD><INPUT TYPE=TEXT Name=userName");
if (displayPreviousValues)
out.print(" VALUE=\"" + (userName) + "\"");
out.println("></TD>");
out.println("</TR>");
out.println("<TR>");
out.println("<TD>Password</TD>");
out.print("<TD><INPUT TYPE=PASSWORD Name=password");
if (displayPreviousValues)
out.print(" VALUE=\"" + (password) + "\"");
if (displayPreviousValues)
out.print(" VALUE=\"" + (id) + "\"");
out.println("></TD>");
out.println("</TR>");
out.println("<TR>");
out.println("<TD>Id</TD>");
out.print("<TD><INPUT TYPE=TEXT Name=id");
out.println("></TD>");
out.println("</TR>");
out.println("<TR>");
out.println("<TD><INPUT TYPE=RESET value='Limpar'></TD>");
out.println("<TD><INPUT TYPE=SUBMIT value='Cadastrar'></TD>");
out.println("</TR>");
out.println("</TABLE>");
out.println("</FORM>");
out.println("<BR>");
out.println("<BR>");
}
}
web.xml
<?xml version="1.0" encoding="UTF-8"?> ConexaoBanco ConexaoBanco RegistroAcessoBD RegistroAcessoBD DataViewerServlet DataViewerServlet SearchServletSearchServletDeleteServletDeleteServlet UpdateServlet UpdateServlet RegistroAutorBDRegistroAutorBDListaAutorServletListaAutorServletPesquisaAutorServletPesquisaAutorServletDeleteAutorServletDeleteAutorServletUpdateAutorServletUpdateAutorServletRegistroEditoraBDRegistroEditoraBD ConexaoBanco /ConexaoBanco RegistroAcessoBD /RegistroAcessoBD DataViewerServlet /DataViewerServlet SearchServlet /SearchServlet DeleteServlet /DeleteServlet UpdateServlet /UpdateServlet RegistroAutorBD/RegistroAutorBDListaAutorServlet/ListaAutorServletPesquisaAutorServlet/PesquisaAutorServlet DeleteAutorServlet /DeleteAutorServlet UpdateAutorServlet /UpdateAutorServlet RegistroEditoraBD /RegistroEditoraBD 30 principal.htmlgrato pela atenção.
Girréis!