Problemas para Jsp conectar ao Servlet

16 respostas Resolvido
jspmysqlservlet
C

Estou com problemas na hora de enviar o formulario para o servlet gostaria de ajuda

package persistence;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

public class Dao {

	Connection con;
	PreparedStatement stmt;
	ResultSet rs;

	public void open() throws Exception {
		Class.forName("com.mysql.jdbc.Driver");
		con = DriverManager.getConnection("jdbc:mysql://localhost:3306/cadastro", "root", "root");

	}

	public void close() throws Exception {
		close();
	}
}

package persistence;

import java.util.ArrayList;
import java.util.List;

import entity.Usuario;

public class UsuarioDao extends Dao {

	public void create(Usuario u) throws Exception {
		open();

		stmt = con.prepareStatement("insert into usuarios values (?,?)");
		
		stmt.setString(1, u.getNome());
		stmt.setString(2, u.getEmail());
		stmt.execute();
		stmt.close();
		close();
	}

	public void update(Usuario u) throws Exception {
		
		open();
		stmt = con.prepareStatement("update usuarios set nome=?, email=? where idUsuario=?");
		stmt.setString(1, u.getNome());
		stmt.setString(2, u.getEmail());
		stmt.setInt(3,u.getIdUsuario());
		stmt.execute();
		stmt.close();
		close();
	}
	
	public List<Usuario> listar () throws Exception{
		open();
		stmt= con.prepareStatement("select*from usuarios");
		rs= stmt.executeQuery();
		List <Usuario> lst = new  ArrayList<Usuario>();
		while(rs.next()){
			Usuario u = new Usuario();
			u.setIdUsuario(rs.getInt("idUsuario"));
			u.setNome(rs.getString("nome"));
			u.setEmail(rs.getString("email"));
			lst.add(u);
		}
		close();
		return lst;
	}
	public Usuario findBycod(Integer id)throws Exception{
		open();
		stmt= con.prepareStatement("select * from usuarios where idUsuario=?");
		stmt.setInt(1,id);
		rs= stmt.executeQuery();
		Usuario u = null;
		
		if(rs.next()){
			u=new Usuario(
				rs.getInt(1),
				rs.getString(2),
				rs.getString(3));			
		}
		close();
		return u;
	}
	
	public void delete(Integer id)throws Exception{
		open();
		stmt= con.prepareStatement("delete from usuarios where idUsuario=?");
		stmt.setInt(1,id);
		stmt.execute();
		stmt.close();
		close();
	}

}

package control;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import entity.Usuario;
import persistence.UsuarioDao;

/**
 * Servlet implementation class Controle
 */
@WebServlet("/Controle")
public class Controle extends HttpServlet {
	private static final long serialVersionUID = 1L;

	public Controle() {
		super();

	}

	protected void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		String cmd = request.getParameter("cmd");
		if (cmd.equalsIgnoreCase("create")) {
			create(request, response);
		}

	}

	protected void create(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		try {

			String nome = request.getParameter("nome");
			String email = request.getParameter("email");
			Usuario u = new Usuario(null, nome, email);
			new UsuarioDao().create(u);
			response.getWriter().print("Dados gravados");
			request.getRequestDispatcher("sistema.jsp").forward(request, response);

		} catch (Exception ex) {
			ex.getMessage();
			ex.printStackTrace();
			response.getWriter().print("Error");

		}
	}
}

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
	pageEncoding="ISO-8859-1"%>
<!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=ISO-8859-1">
<title>Cadastrar Usuario</title>
</head>
<body>
	<center><h1>Cadastrar Usuario</h1></center>

	<form action="Controle?cmd=create" method="post">
	Nome<br/>
		<input type="text" name="nome" value="" size="50" id="nome"/> 
			<br/>Email<br /> 
			<input type="text" name="email" value="" size="50" id="email" /> 
			<br/>
			<input type="submit" value="Enviar" />
	</form>
	</body>
</html>

16 Respostas

L

Está dando erro? Qual?

C

quando clico para enviar vai direto para essa pagina.

C

L

Você tem a saída “Error”, que é printada no browser.
E o que aparece no console, através do ex.printStackTrace();?

C

C

C

esta com o jar do mysql

L

Sabe que seria mais fácil se você copiasse o texto e colasse aqui?
Enfim…
A mensagem é bem clara: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
O que indica que você não tem o jar do driver mysql no classpath do teu projeto.
Você utiliza netbeans ou eclipse para desenvolver?

L

Ao contrário do que diz, o jar não está sendo encontrado

C
abr 05, 2017 3:49:04 PM org.apache.tomcat.util.digester.SetPropertiesRule begin

ADVERTÊNCIA: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property source to org.eclipse.jst.jee.server:desenweb did not find a matching property.

abr 05, 2017 3:49:04 PM org.apache.tomcat.util.digester.SetPropertiesRule begin

ADVERTÊNCIA: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property source to org.eclipse.jst.jee.server:crud_jsp did not find a matching property.

abr 05, 2017 3:49:04 PM org.apache.tomcat.util.digester.SetPropertiesRule begin

ADVERTÊNCIA: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property source to org.eclipse.jst.jee.server:jsp did not find a matching property.

abr 05, 2017 3:49:04 PM org.apache.catalina.startup.VersionLoggerListener log

INFORMAÇÕES: Server version:        Apache Tomcat/8.0.22

abr 05, 2017 3:49:04 PM org.apache.catalina.startup.VersionLoggerListener log

INFORMAÇÕES: Server built:          Apr 29 2015 11:46:15 UTC

abr 05, 2017 3:49:04 PM org.apache.catalina.startup.VersionLoggerListener log

INFORMAÇÕES: Server number:         8.0.22.0

abr 05, 2017 3:49:04 PM org.apache.catalina.startup.VersionLoggerListener log

INFORMAÇÕES: OS Name:               Windows 10

abr 05, 2017 3:49:04 PM org.apache.catalina.startup.VersionLoggerListener log

INFORMAÇÕES: OS Version:            10.0

abr 05, 2017 3:49:04 PM org.apache.catalina.startup.VersionLoggerListener log

INFORMAÇÕES: Architecture:          x86

abr 05, 2017 3:49:04 PM org.apache.catalina.startup.VersionLoggerListener log

INFORMAÇÕES: Java Home:             C:\Program Files\Java\jre1.8.0_121

abr 05, 2017 3:49:04 PM org.apache.catalina.startup.VersionLoggerListener log

INFORMAÇÕES: JVM Version:           1.8.0_121-b13

abr 05, 2017 3:49:04 PM org.apache.catalina.startup.VersionLoggerListener log

INFORMAÇÕES: JVM Vendor:            Oracle Corporation

abr 05, 2017 3:49:04 PM org.apache.catalina.startup.VersionLoggerListener log

INFORMAÇÕES: CATALINA_BASE:         C:\Users\cristiano\workspace.metadata.plugins\org.eclipse.wst.server.core\tmp0

abr 05, 2017 3:49:04 PM org.apache.catalina.startup.VersionLoggerListener log

INFORMAÇÕES: CATALINA_HOME:         C:\Users\cristiano\Downloads\apache-tomcat-8.0.22

abr 05, 2017 3:49:04 PM org.apache.catalina.startup.VersionLoggerListener log

INFORMAÇÕES: Command line argument: -Dcatalina.base=C:\Users\cristiano\workspace.metadata.plugins\org.eclipse.wst.server.core\tmp0

abr 05, 2017 3:49:04 PM org.apache.catalina.startup.VersionLoggerListener log

INFORMAÇÕES: Command line argument: -Dcatalina.home=C:\Users\cristiano\Downloads\apache-tomcat-8.0.22

abr 05, 2017 3:49:04 PM org.apache.catalina.startup.VersionLoggerListener log

INFORMAÇÕES: Command line argument: -Dwtp.deploy=C:\Users\cristiano\workspace.metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps

abr 05, 2017 3:49:04 PM org.apache.catalina.startup.VersionLoggerListener log

INFORMAÇÕES: Command line argument: -Djava.endorsed.dirs=C:\Users\cristiano\Downloads\apache-tomcat-8.0.22\endorsed

abr 05, 2017 3:49:04 PM org.apache.catalina.startup.VersionLoggerListener log

INFORMAÇÕES: Command line argument: -Dfile.encoding=Cp1252

abr 05, 2017 3:49:04 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent

INFORMAÇÕES: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jre1.8.0_121\bin;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:/Program Files/Java/jre1.8.0_121/bin/client;C:/Program Files/Java/jre1.8.0_121/bin;C:/Program Files/Java/jre1.8.0_121/lib/i386;C:\ProgramData\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0;C:\Program Files\MySQL\MySQL Utilities 1.6;C:\Users\cristiano\AppData\Local\Microsoft\WindowsApps;;C:\Program Files\eclipse;;.

abr 05, 2017 3:49:05 PM org.apache.coyote.AbstractProtocol init

INFORMAÇÕES: Initializing ProtocolHandler [“http-nio-3030”]

abr 05, 2017 3:49:06 PM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector

INFORMAÇÕES: Using a shared selector for servlet write/read

abr 05, 2017 3:49:06 PM org.apache.coyote.AbstractProtocol init

INFORMAÇÕES: Initializing ProtocolHandler [“ajp-nio-8009”]

abr 05, 2017 3:49:06 PM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector

INFORMAÇÕES: Using a shared selector for servlet write/read

abr 05, 2017 3:49:06 PM org.apache.catalina.startup.Catalina load

INFORMAÇÕES: Initialization processed in 4948 ms

abr 05, 2017 3:49:06 PM org.apache.catalina.core.StandardService startInternal

INFORMAÇÕES: Starting service Catalina

abr 05, 2017 3:49:06 PM org.apache.catalina.core.StandardEngine startInternal

INFORMAÇÕES: Starting Servlet Engine: Apache Tomcat/8.0.22

abr 05, 2017 3:49:09 PM org.apache.jasper.servlet.TldScanner scanJars

INFORMAÇÕES: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.

abr 05, 2017 3:49:09 PM org.apache.coyote.AbstractProtocol start

INFORMAÇÕES: Starting ProtocolHandler [“http-nio-3030”]

abr 05, 2017 3:49:09 PM org.apache.coyote.AbstractProtocol start

INFORMAÇÕES: Starting ProtocolHandler [“ajp-nio-8009”]

abr 05, 2017 3:49:09 PM org.apache.catalina.startup.Catalina start

INFORMAÇÕES: Server startup in 3045 ms

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1305)

at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1157)

at java.lang.Class.forName0(Native Method)

at java.lang.Class.forName(Unknown Source)

at persistence.Dao.open(Dao.java:15)

at persistence.UsuarioDao.create(UsuarioDao.java:11)

at control.Controle.create(Controle.java:48)

at control.Controle.doPost(Controle.java:35)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:648)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)

at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)

at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:617)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518)

at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091)

at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:668)

at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1521)

at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1478)

at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)

at java.lang.Thread.run(Unknown Source)

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1305)

at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1157)

at java.lang.Class.forName0(Native Method)

at java.lang.Class.forName(Unknown Source)

at persistence.Dao.open(Dao.java:15)

at persistence.UsuarioDao.create(UsuarioDao.java:11)

at control.Controle.create(Controle.java:48)

at control.Controle.doPost(Controle.java:35)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:648)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)

at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)

at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:617)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518)

at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091)

at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:668)

at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1521)

at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1478)

at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)

at java.lang.Thread.run(Unknown Source)

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1305)

at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1157)

at java.lang.Class.forName0(Native Method)

at java.lang.Class.forName(Unknown Source)

at persistence.Dao.open(Dao.java:15)

at persistence.UsuarioDao.create(UsuarioDao.java:11)

at control.Controle.create(Controle.java:48)

at control.Controle.doPost(Controle.java:35)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:648)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)

at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)

at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:617)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518)

at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091)

at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:668)

at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1521)

at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1478)

at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)

at java.lang.Thread.run(Unknown Source)
C

C

esse é o problema, o eclipse nao esta encontrando

L

Não, o eclipse encontra e o referencia, que é o que a imagem que você postou mostra.
Como está a pasta lib, dentro de WEB-INF?

C

nao add nenhum lib, somente o jar pelo buidbath

L
Solucao aceita

Vamos com calma.
Adicionar o jar pelo build path é fundamental para que você consiga desenvolver utilizando o eclipse.
Mas, quando você executa o projeto ou o exporta para colocar em um servidor, é preciso que os jars que utilizou estejam disponíveis para o jar ou war gerados.
No teu caso, você não precisaria adicionar o jar no build path, basta adicionar o mesmo à pasta lib, dentro de WEB-INF e isso resolverá a questão do erro na execução.
Com a adição de um jar na pasta WEB-INF/lib, o eclipse, automaticamente, adiciona o jar no build path.

C

Boa noite meu camarada, essa realmente foi a solução problema resolvido, muito obrigado

Criado 5 de abril de 2017
Ultima resposta 6 de abr. de 2017
Respostas 16
Participantes 2