Inserir dados no banco usando pagina jsp

10 respostas
akiles
Boa noite ha todos. estou com uma aplicação web porém consigo fazer com que os dados seja inserido no banco. Estou desenvolvendo um sistema de controle para o museu do computador, como voluntario. segue a minha DAO.
private Connection connection;
	public UsuarioDAO (){
		this.connection = new ConnectionFactory().getConnection();
	}
	public void inserirUsuario(usuarios usuariosdados){
		String sql = "insert into usuarios (bairro, cp, cidade, data, endereco, estado, funcao, log, nome, numero, permicao, senha," +
		" status, telefone, usuario, idusuario) values (?,?,?,?,?,?,?,?,?,?,?,?,?," +
		"?,?,?)";
		try {
			PreparedStatement stmt = this.connection.prepareStatement(sql);

			stmt.setString(1, usuariosdados.getBairroUsuario());
			stmt.setString(2, usuariosdados.getCepUsuario());
			stmt.setString(3, usuariosdados.getCidadeUsuario());
			stmt.setString(4, usuariosdados.getDataCadastroUsuario());
			stmt.setString(5, usuariosdados.getEnderecoUsuario());
			stmt.setString(6, usuariosdados.getEstadoUsuario());
			stmt.setString(7, usuariosdados.getFuncao());
			stmt.setString(8, usuariosdados.getLogUsuario());
			stmt.setString(9, usuariosdados.getNomeUsuario());
			stmt.setString(10, usuariosdados.getNumeroUsuario());
			stmt.setString(11, usuariosdados.getPermissaoUsuario());
			stmt.setString(12, usuariosdados.getSenhaUsuario());
			stmt.setString(13, usuariosdados.getStatusUsuario());
			stmt.setString(14, usuariosdados.getTelefone());
			stmt.setString(15, usuariosdados.getUsuario());
			stmt.setString(16, usuariosdados.getIdUsuario());

			stmt.execute();
			stmt.close();

		} catch (SQLException e) {
			throw new RuntimeException(e);
		}
	}
Segue a Action.
package br.com.Museu.dados.action;

import org.apache.struts2.convention.annotation.Action;
import org.apache.struts2.convention.annotation.Result;

import com.sun.xml.internal.bind.v2.runtime.Name;

import br.com.Museu.Dao.Bancos.UsuarioDAO;
import br.com.Museu.dados.usuarios;

public class AdicionaUsuarioAction {
	private usuarios usuariodadosaction;

	@Action(value="adicionaUsuario",results={
			@Result(name="ok", location="/CadastroUsuarios.jsp")
	})
	public String execute(){
		new UsuarioDAO().inserirUsuario(usuariodadosaction);
		return "OK";
	}
	public usuarios getUsuarios(){
		return this.usuariodadosaction;
	}
	public void setUsuarios(usuarios usuariodadosaction){
		this.usuariodadosaction = usuariodadosaction;
	}
}
Segue a JSP.
<%@ page contentType="text/html; charset=utf-8" language="java" import="java.sql.*" errorPage="" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@taglib uri="/struts-tags" prefix="s"%>  

<!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>

<link href="cadastros.css" rel="stylesheet" type="text/css" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type="text/javascript">

</script>
</head>
<body>
<h3>Cadastra de Usuarios e de Funcionarios</h3>
<div>
<form action="adicionaUsuario" method="post" dir="ltr">
  <p>
    &lt;label for="textfield"&gt;&lt;/label&gt;
    N°:
    &lt;input name="usuariodadosaction.numero" type="text" id="textfield" size="10" /&gt;
  </p>
  <p>Nome:
    &lt;label for="nome"&gt;&lt;/label&gt;
    &lt;input name="usuariodadosaction.nome" type="text" id="nome" size="65" /&gt;
  </p>
  <p>
    &lt;label for="endereco"&gt;&lt;/label&gt;
    Endereço: 
    &lt;input name="usuariodadosaction.endereco" type="text" id="endereco" size="35" /&gt;
  N°:
  &lt;label for="numero"&gt;&lt;/label&gt;
  &lt;input name="usuariodadosaction.numero" type="text" id="numero" size="5" /&gt;
  Bairro:
  &lt;label for="bairro"&gt;&lt;/label&gt;
  &lt;input name="usuariodadosaction.bairro" type="text" id="bairro" size="20" /&gt;
  </p>
  <p>CEP:
    &lt;label for="cep"&gt;&lt;/label&gt;
    &lt;input name="usuariodadosaction.cep" type="text" id="cep" size="20" /&gt;
    Complemento:
    &lt;label for="complemento"&gt;&lt;/label&gt;
    &lt;input name="usuariodadosaction.complemento" type="text" id="complemento" size="25" /&gt;
    Estado:
&lt;select name="usuariodadosaction.estado" id="estado" onchange="MM_jumpMenu('parent',this,0)"&gt;
    &lt;option&gt;item1&lt;/option&gt;
    &lt;option&gt;item2&lt;/option&gt;
    &lt;option&gt;item3&lt;/option&gt;
    &lt;option&gt;item4&lt;/option&gt;
  &lt;/select&gt;
  </p>
  <p>Usuario: 
    &lt;label for="usuario"&gt;&lt;/label&gt;
    &lt;input name="usuariodadosaction.usuario" type="text" id="usuario" size="15" /&gt;
    Senha: 
    &lt;label for="senha"&gt;&lt;/label&gt;
    &lt;input name="usuariodadosaction.senha" type="password" id="senha" size="15" /&gt;
    Permição: 
    &lt;label for="textfield10"&gt;&lt;/label&gt;
    &lt;select name="usuariodadosaction.permicao" id="permicao" onchange="MM_jumpMenu('parent',this,0)"&gt;
      &lt;option&gt;Administrador&lt;/option&gt;
    &lt;/select&gt;
  Status: 
  &lt;select name="usuariodadosaction.status" id="status" onchange="MM_jumpMenu('parent',this,0)"&gt;
    &lt;option&gt;Adminitido&lt;/option&gt;
  &lt;/select&gt;
  </p>
  &lt;div id="botao"&gt;
  <p>
    &lt;input type="submit" name="usuariodadosaction.novo" id="novo" value="Salvar Novo" /&gt;
    &lt;input type="submit" name="usuariodadosaction.alterar" id="alterar" value="Alterar dados" /&gt;
    &lt;input type="submit" name="usuariodadosaction.deletar" id="deletar" value="Deletar Registro" /&gt;
</p>
  &lt;/div&gt;
&lt;/form&gt;
&lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;

Desde ja muito agradecido.

10 Respostas

akiles
akiles:
Boa noite ha todos. estou com uma aplicação web porém consigo fazer com que os dados seja inserido no banco. Estou desenvolvendo um sistema de controle para o museu do computador, como voluntario. segue a minha DAO.
private Connection connection;
	public UsuarioDAO (){
		this.connection = new ConnectionFactory().getConnection();
	}
	public void inserirUsuario(usuarios usuariosdados){
		String sql = "insert into usuarios (bairro, cp, cidade, data, endereco, estado, funcao, log, nome, numero, permicao, senha," +
		" status, telefone, usuario, idusuario) values (?,?,?,?,?,?,?,?,?,?,?,?,?," +
		"?,?,?)";
		try {
			PreparedStatement stmt = this.connection.prepareStatement(sql);

			stmt.setString(1, usuariosdados.getBairroUsuario());
			stmt.setString(2, usuariosdados.getCepUsuario());
			stmt.setString(3, usuariosdados.getCidadeUsuario());
			stmt.setString(4, usuariosdados.getDataCadastroUsuario());
			stmt.setString(5, usuariosdados.getEnderecoUsuario());
			stmt.setString(6, usuariosdados.getEstadoUsuario());
			stmt.setString(7, usuariosdados.getFuncao());
			stmt.setString(8, usuariosdados.getLogUsuario());
			stmt.setString(9, usuariosdados.getNomeUsuario());
			stmt.setString(10, usuariosdados.getNumeroUsuario());
			stmt.setString(11, usuariosdados.getPermissaoUsuario());
			stmt.setString(12, usuariosdados.getSenhaUsuario());
			stmt.setString(13, usuariosdados.getStatusUsuario());
			stmt.setString(14, usuariosdados.getTelefone());
			stmt.setString(15, usuariosdados.getUsuario());
			stmt.setString(16, usuariosdados.getIdUsuario());

			stmt.execute();
			stmt.close();

		} catch (SQLException e) {
			throw new RuntimeException(e);
		}
	}
Segue a Action.
package br.com.Museu.dados.action;

import org.apache.struts2.convention.annotation.Action;
import org.apache.struts2.convention.annotation.Result;

import com.sun.xml.internal.bind.v2.runtime.Name;

import br.com.Museu.Dao.Bancos.UsuarioDAO;
import br.com.Museu.dados.usuarios;

public class AdicionaUsuarioAction {
	private usuarios usuariodadosaction;

	@Action(value="adicionaUsuario",results={
			@Result(name="ok", location="/CadastroUsuarios.jsp")
	})
	public String execute(){
		new UsuarioDAO().inserirUsuario(usuariodadosaction);
		return "OK";
	}
	public usuarios getUsuarios(){
		return this.usuariodadosaction;
	}
	public void setUsuarios(usuarios usuariodadosaction){
		this.usuariodadosaction = usuariodadosaction;
	}
}
Segue a JSP.
&lt;%@ page contentType="text/html; charset=utf-8" language="java" import="java.sql.*" errorPage="" %&gt;
&lt;%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %&gt;
&lt;%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %&gt;
&lt;%@taglib uri="/struts-tags" prefix="s"%&gt;  

&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;
&lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;head&gt;

&lt;link href="cadastros.css" rel="stylesheet" type="text/css" /&gt;
&lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8" /&gt;
&lt;title&gt;Untitled Document&lt;/title&gt;
&lt;script type="text/javascript"&gt;

&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h3&gt;Cadastra de Usuarios e de Funcionarios&lt;/h3&gt;
&lt;div&gt;
&lt;form action="adicionaUsuario" method="post" dir="ltr"&gt;
  <p>
    &lt;label for="textfield"&gt;&lt;/label&gt;
    N°:
    &lt;input name="usuariodadosaction.numero" type="text" id="textfield" size="10" /&gt;
  </p>
  <p>Nome:
    &lt;label for="nome"&gt;&lt;/label&gt;
    &lt;input name="usuariodadosaction.nome" type="text" id="nome" size="65" /&gt;
  </p>
  <p>
    &lt;label for="endereco"&gt;&lt;/label&gt;
    Endereço: 
    &lt;input name="usuariodadosaction.endereco" type="text" id="endereco" size="35" /&gt;
  N°:
  &lt;label for="numero"&gt;&lt;/label&gt;
  &lt;input name="usuariodadosaction.numero" type="text" id="numero" size="5" /&gt;
  Bairro:
  &lt;label for="bairro"&gt;&lt;/label&gt;
  &lt;input name="usuariodadosaction.bairro" type="text" id="bairro" size="20" /&gt;
  </p>
  <p>CEP:
    &lt;label for="cep"&gt;&lt;/label&gt;
    &lt;input name="usuariodadosaction.cep" type="text" id="cep" size="20" /&gt;
    Complemento:
    &lt;label for="complemento"&gt;&lt;/label&gt;
    &lt;input name="usuariodadosaction.complemento" type="text" id="complemento" size="25" /&gt;
    Estado:
&lt;select name="usuariodadosaction.estado" id="estado" onchange="MM_jumpMenu('parent',this,0)"&gt;
    &lt;option&gt;item1&lt;/option&gt;
    &lt;option&gt;item2&lt;/option&gt;
    &lt;option&gt;item3&lt;/option&gt;
    &lt;option&gt;item4&lt;/option&gt;
  &lt;/select&gt;
  </p>
  <p>Usuario: 
    &lt;label for="usuario"&gt;&lt;/label&gt;
    &lt;input name="usuariodadosaction.usuario" type="text" id="usuario" size="15" /&gt;
    Senha: 
    &lt;label for="senha"&gt;&lt;/label&gt;
    &lt;input name="usuariodadosaction.senha" type="password" id="senha" size="15" /&gt;
    Permição: 
    &lt;label for="textfield10"&gt;&lt;/label&gt;
    &lt;select name="usuariodadosaction.permicao" id="permicao" onchange="MM_jumpMenu('parent',this,0)"&gt;
      &lt;option&gt;Administrador&lt;/option&gt;
    &lt;/select&gt;
  Status: 
  &lt;select name="usuariodadosaction.status" id="status" onchange="MM_jumpMenu('parent',this,0)"&gt;
    &lt;option&gt;Adminitido&lt;/option&gt;
  &lt;/select&gt;
  </p>
  &lt;div id="botao"&gt;
  <p>
    &lt;input type="submit" name="usuariodadosaction.novo" id="novo" value="Salvar Novo" /&gt;
    &lt;input type="submit" name="usuariodadosaction.alterar" id="alterar" value="Alterar dados" /&gt;
    &lt;input type="submit" name="usuariodadosaction.deletar" id="deletar" value="Deletar Registro" /&gt;
</p>
  &lt;/div&gt;
&lt;/form&gt;
&lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;
Segue erro 500.
HTTP Status 500 - 

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

type Exception report

message 

description The server encountered an internal error () that prevented it from fulfilling this request.

exception 

java.lang.NullPointerException
	br.com.Museu.Dao.Bancos.UsuarioDAO.inserirUsuario(UsuarioDAO.java:28)
	br.com.Museu.dados.action.AdicionaUsuarioAction.execute(AdicionaUsuarioAction.java:18)
	sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	java.lang.reflect.Method.invoke(Unknown Source)
	com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:441)
	com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:280)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:243)
	com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:165)
	com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:252)
	org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
	com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:122)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
	com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
	com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:179)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:94)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:235)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:89)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:130)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:267)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:126)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:138)
	com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:165)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:179)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:176)
	com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
	org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
	org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:488)
	org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:395)


note The full stack trace of the root cause is available in the Apache Tomcat/7.0.20 logs.


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

Apache Tomcat/7.0.20

Desde ja muito agradecido.

L

tenta depurar o codigo, e ve se a chave primaria esta auto incremental ou manual

luxu

Nesse trecho aki

java.lang.NullPointerException br.com.Museu.Dao.Bancos.UsuarioDAO.inserirUsuario(UsuarioDAO.java:28)

o objeto UsuarioDAO está nulo, ou seja, nem criado foi…nesse próximo trecho faça assim:

private usuarios usuariodadosaction = new usuarios();

outra coisa na sua página JSP tem 3 botões de SUBMIT que eu saiba só pode 1 botão SUBMIT por form os demais tem q ser BUTTON msm, num tenho certeza…

akiles

Fia algumas alterações e o persebo que a minha Action estar null como fasso para ele receber os dados digitado.

luxu

vou anexar meu projeto pra v se ajuda…

http://www.4shared.com/file/DiAnUiUc/aulaweb18032011banco.html

akiles

Eu vo dar uma olha desde já muito grato

akiles

Bom dia luxu
O arquivo não tem fonte algum

akiles

Desculpa eu peguei o arquivo errado tem sim dados.

luxu

cabei de baixar e está td lá…reveja!

akiles

Ta correto foi erro meu.
Desculpa

Criado 13 de setembro de 2011
Ultima resposta 14 de set. de 2011
Respostas 10
Participantes 3