Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

JBNC

Problema de conexão do JSP com MySQL

Recommended Posts

Fala Pessoal,

Sou iniciante em JSP, e tenho um grande problema. Não estou conseguinto conectar o formulário que faz a tela de login com o Mysql. Já instalei o MySQL na minha maquina e coloquei o drive na pasta WEB-INF\lib do projeto.

Quando vou fazer o teste para ver se esta logando ele me dar o seguinte erro:

 

HTTP Status 404 - /servlet/ServletValidarUsuario

 

--------------------------------------------------------------------------------

 

type Status report

 

message /servlet/ServletValidarUsuario

 

description The requested resource (/servlet/ServletValidarUsuario) is not available.

 

 

--------------------------------------------------------------------------------

 

Apache Tomcat/5.5.26

 

Segue abaixo os codigos.

 

logoff.jsp

<%@ page contentType="text/html; charset=utf-8" language="java" import="java.sql.*" errorPage="" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title</title>
<link href="_css/Ssaion2.css" rel="stylesheet" type="text/css" />
</head>
<body>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
	<td height="110"> </td>
	<td> </td>
	<td> </td>
  </tr>
  <tr>
	<td> </td>
	<td width="25%">
		<div id="cabecalho" align="right">
				<div><br/>SAION Web - LOGIN</div>
		</div>
		<div align="center" id="corpo" style="height: 160px">
			  <form action="../servlet/ServletValidarUsuario" method="post" name="ValidarUsuario">
			<table align="center" width="70%" height="50%" border="0" cellspacing="0" cellpadding="0">
				  <tr>
					<td height="47"> </td>
				  </tr>
				  <tr>
					<td align="right">
						<label class="ff">LOGIN:</label>  
						<input class="STexto" name="TLogin" type="text" size="15" maxlength="20" /><br/></td>
				  </tr>
				  <tr>
					<td align="right">
						<label class="ff">SENHA:</label>  
						<input class="STexto" name="TSenha" type="password" size="15" maxlength="20" /></td>
				  </tr>
				  <tr>
					<td align="right">
						<input name="BLogin" type="submit" class="SButton" value="OK"/>
						<input name="BCancel" type="reset" class="SButton" value="CANCEL"/>
					</td>
				  </tr>
			   </table>
			  </form>

	  </div>
		<div id="rodape" style="font:bold 9px arial">SAION (Sistema de Avaliação de Institucional Online)</div>
	</td>
	<td> </td>
  </tr>
  <tr>
	<td> </td>
	<td> </td>
	<td> </td>
  </tr>
</table>
</body>
</html>

web.xml

<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE web-app
	PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
	"http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>
	
	<servlet>
		<servlet-name>ServletValidarUsuario</servlet-name>
		<servlet-class>servlet.ServletValidarUsuario</servlet-class>
	  </servlet>

	  <servlet-mapping>
		<servlet-name>ServletValidarUsuario</servlet-name>
		<url-pattern>../servlet/ServletValidarUsuario</url-pattern>
	  </servlet-mapping>
</web-app>

ServletValidarUsuario.class

package servlet;
import javax.servlet.http.*;
import javax.servlet.ServletException;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.*;
import java.net.*;
import javax.servlet.*;
public class ServletValidarUsuario extends HttpServlet{
	private static final long serialVersionUID = 1L;
	Connection con=null;
	Statement smt;
	 public void init(ServletConfig conf) throws ServletException{ 
		 super.init(conf);
	 try{
		 Class.forName("com.mysql.jdbc.Driver").newInstance();
		 con = DriverManager.getConnection("jdbc:mysql://localhost:3306/MySQL","root","root");		 
		 }
	 catch(SQLException sqle){
		 sqle.printStackTrace();
		 con = null;}	 
	 catch(InstantiationException e){
		   e.printStackTrace();
		   con = null;}
	 catch(IllegalAccessException e){
		 e.printStackTrace();
		 con = null;}	   
	 catch(ClassNotFoundException e){
		 e.printStackTrace();
		 con = null;} 
}
	public void doPost(HttpServletRequest Request, HttpServletResponse Response) throws IOException, ServletException{
		PrintWriter out  = Response.getWriter();
		String nome;
		String senha;
		

		
		ValidarUsuario objValidarUsuario = new ValidarUsuario();
		nome = Request.getParameter("TLogin");
		senha = Request.getParameter("TSenha");
		String n = Request.getParameter("cadastrar");
		objValidarUsuario.setTLogin(nome);
		objValidarUsuario.setTSenha(senha);
		out.println(objValidarUsuario.getTLogin());
		out.println(objValidarUsuario.getTSenha());
		out.println(n);
		try {
	   	 	  smt = con.createStatement();
		 	  smt.executeUpdate("insert into bexterna (Nome,Matr-CPF) values ('"+nome+"','"+senha+"')");
			  out.println("ok");
		  }
		   catch (SQLException e) {
		   e.printStackTrace();
		   out.println("Erro: Problemas ao inserir dados");}
	}	 
}

ValidarUsuario.class

package servlet;
public class ValidarUsuario {
	private String TLogin;
	private String TSenha;
	public void setTLogin(String n){
		this.TLogin = n;
	}
	public void setTSenha(String d){
		this.TSenha =d;
	}
	public String getTLogin(){
		return TLogin;
	}
	public String getTSenha(){
		return TSenha;
	}
}

Me ajudem por favor. Muito obrigado e aguardo resposta.

 

JBNC...

Compartilhar este post


Link para o post
Compartilhar em outros sites

kra seu mapeamento no web.xml está errado.

 

Tenta assim, coloquei em negrito a parte que modifiquei..

 

<?xml version="1.0" encoding="ISO-8859-1"?>

 

<!DOCTYPE web-app

PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"

"http://java.sun.com/dtd/web-app_2_3.dtd">

 

<web-app>

 

<servlet>

<servlet-name>ServletValidarUsuario</servlet-name>

<servlet-class>servlet.ServletValidarUsuario</servlet-class>

</servlet>

 

<servlet-mapping>

<servlet-name>ServletValidarUsuario</servlet-name>

<url-pattern>~/servlet/ServletValidarUsuario</url-pattern>

</servlet-mapping>

</web-app>

 

Flww, grande abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Prezado sublyer,

Ainda não foi, o erro continua mesmo mudando o web.xml.

O que eu estou percebendo que ele não esta criando o class.

Muito obrigado e aguardo resposta e solução para o problema.

 

JBNC...

Compartilhar este post


Link para o post
Compartilhar em outros sites

As classes compiladas (.class) estão no diretório WEB-INF/classes ?

 

Se não estiver, verifique aonde sua IDE está compilando as classes e então modifique a configuração, para compilar as classes no diretório WEB-INF/classes

 

Flww, grande abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia a todos.

 

Creio que o erro está aqui:

 

Class.forName("com.mysql.jdbc.Driver").newInstance();
			  // Faltou registrar o Driver no DriverManager
   con = DriverManager.getConnection("jdbc:mysql://localhost:3306/MySQL","root","root")

Tenta assim e vê se funciona:

 

   Class driver = Class.forName("com.mysql.jdbc.Driver");
   DriverManager.registerDriver((Driver)driver.newInstance());
   conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/MySQL","root","root");

Um abraço.

Jorge da Silva Abreu

Compartilhar este post


Link para o post
Compartilhar em outros sites

As classes compiladas estão no diretório classes do diretório WEB-INF e o driver do mysql está no diretório lib do WEB-INF?

 

Flwww

Compartilhar este post


Link para o post
Compartilhar em outros sites

Prezado sublyer,

O banco esta sendo acessado mas o que esta acontecendo agora é quando estou mexando nas classes dentro do eclipse não esta sendo atualizado.

O que não estou entendendo. Me ajudem por favor.

Muito obrigado e aguardo resposta.

 

JBNC...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dentro do eclipse existe uma opção de compilação das classes, aonde é definido o caminho de armazenamento das classes compiladas em seu sistema operacional.

 

Para o acesso a este recurso, acesse as propriedades de seu projeto e configure o local de armazenamento das classes compiladas. Infelizmente não tenho como lhe falar qual é o local exato agora, pois estou sem o eclipse.

 

Mas tente procurar este recurso que assim que eu puder lhe informo o local deste recurso.

 

Um grande abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.