Erro: java.lang.NullPointerException trabalhando com STRUST2

7 respostas
AndLobo

Boa noite pessoas, estou começando a aprender STRUTS2, estou fasendo um método de inserção de dados no banco, mas me aparece esse erro:

ype Exception report

message

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

exception

java.lang.NullPointerException
br.com.eibsb.Dao.ClubeDao.adicionaClube(ClubeDao.java:30)
br.com.eibsb.action.AdicionaClubeAction.execute(AdicionaClubeAction.java:21)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:452)
com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:291)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:254)
com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:176)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:263)
org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:133)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:190)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:94)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:243)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:141)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:270)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:145)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:171)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:176)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:190)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:187)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:498)
org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)

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

vou posta a jsp;
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<!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>Adicionar Valores</title>
</head>
<body>
	<center>
		<h1>Gravar Clubes</h1>
	</center>
	<form action="adicionaClube" method="get">
	<center>
	  <table border="5" >
	  <input type="hidden" name="id" value="${Clube.id}">
	  	<tr>
	  		<td>* Codigo do Registro:</td>
	  		<td><input type="text" value="${Clube.cdRegistro}" name="cdRegistro" size="50"></td>
	  	</tr>
	  	<tr>
	  		<td>* Nome do Clube:</td>
	  		<td><input type="text" value="${Clube.nomeClube}" name="nomeTime" size="50"></td>
	  	</tr>	
	  	<tr>
	  		<td>* Data da fundação:</td>
	  		<td><input type="text" value="<fmt:formatDate value='${Clube.dtFundacao.time}' pattern='dd/MM/yyyy'/>" name="dtFundacao" size="15" maxlength="10"></td>
	  	</tr>
	  	<tr>
			<td colspan="2" align="center">
			<input type="submit" name="Gravar" value="Gravar"></td>
		</tr>
		
	  			    
	  </table>
	  </center>
	  </form>
</body>
</html>
a classe AdicionaClubeAction?
package br.com.eibsb.action;

import java.sql.SQLException;

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

import br.com.eibsb.Dao.ClubeDao;
import br.com.eibsb.bean.Clube;

public class AdicionaClubeAction {
		private Clube clube;
		
		@Action(value = "adicionaClube", results= {
				@Result(name = "ok" , location = "/sucesso.jsp"),
				@Result(name = "erro" , location = "/erro.jsp")
		}) 
		
		public String execute(){
			try {
				 new ClubeDao().adicionaClube(clube);
			} catch (SQLException e) {
				e.printStackTrace();
				return "erro";
			
			}
			
			return "ok";
			
		}
		
		public Clube getClube() {
			return clube;
		}

		public void setClube(Clube clube) {
			this.clube = clube;
		}
}
e a classe DAO:
package br.com.eibsb.Dao;

import java.sql.Connection;
import java.sql.Date;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;

import br.com.eibsb.bean.Clube;

public class ClubeDao {
	
	private Connection conexao;

	public ClubeDao() throws SQLException {

		this.conexao = new ConnectionFactory().getConnection();

	}

	public void adicionaClube(Clube clube) throws SQLException {
		String sql = "insert into projetostruts (nome_clube, data_fundacao, cd_registro) values(?,?,?)";

		PreparedStatement stm = conexao.prepareStatement(sql);

		
		stm.setString(1, clube.getNomeClube());
		stm.setDate(2, new Date(clube.getDtFundacao().getTimeInMillis()));
		stm.setInt(3, clube.getCdRegistro());
		
		stm.execute();
		stm.close();
		conexao.close();
	}

	public List<Clube> getClubes() throws SQLException {
		String sql = "select * from projetostrus";

		PreparedStatement stm = conexao.prepareStatement(sql);
		ResultSet rs = stm.executeQuery();

		List<Clube> clubes = new ArrayList<Clube>();
		while (rs.next()) {
			 Clube c = new Clube();
			c.setId(rs.getLong("id"));
			c.setNomeClube(rs.getString("nome_clube"));
			
			Calendar data = Calendar.getInstance();
			data.setTime(rs.getDate("data_fundacao"));
			
			c.setDtFundacao(data);
			c.setCdRegistro(rs.getInt("cd_registro"));

			clubes.add(c);
			
			}
	
			rs.close();
			conexao.close();
			stm.close();
			   
			return clubes;
		}
}
cinseramente ñ consigo descobrir este erro, tbm web.xml:
?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
	id="WebApp_ID" version="2.5">
	<display-name>projetoStruts</display-name>
	<welcome-file-list>
		<welcome-file>index.html</welcome-file>
		<welcome-file>index.htm</welcome-file>
		<welcome-file>index.jsp</welcome-file>
		<welcome-file>default.html</welcome-file>
		<welcome-file>default.htm</welcome-file>
		<welcome-file>default.jsp</welcome-file>
	</welcome-file-list>

	<filter>
		<filter-name>struts2</filter-name>
		<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>struts2</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>

</web-app>
no meu entender direcionei tudo certo, mas c estivesse certo ñ daria errado, aguardo alguma ajuda. BOA noite a todos

7 Respostas

R

Não conheço Struts mas diria que o erro tá aqui:

private Clube clube;

Nas páginas vc tá botando Clube com C maiusculo,tenta ver se é isso.

V

O raf4ever esta certo no seu jsp vc tem que se referir a clube com “c” minusculo… O erro de NullPointer ocorre por causa dessa linha

stm.setDate(2, new Date(clube.getDtFundacao().getTimeInMillis()));

caso em que o método getDtFundacao(); vai retornar null e vai estorar que vc tenta chamar getTimeInMilis();

vc acertando o nome no JSP vai resolver sua vida… abraços

AndLobo
vitorfarias:
O raf4ever esta certo no seu jsp vc tem que se referir a clube com "c" minusculo... O erro de NullPointer ocorre por causa dessa linha
stm.setDate(2, new Date(clube.getDtFundacao().getTimeInMillis()));

caso em que o método getDtFundacao(); vai retornar null e vai estorar que vc tenta chamar getTimeInMilis();

vc acertando o nome no JSP vai resolver sua vida... abraços

Bom dia, vcs estam certos, agora está informando:
Ja foi conectado
com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Column 'nome_clube' cannot be null
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
	at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
	at com.mysql.jdbc.Util.getInstance(Util.java:386)
	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1039)
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3597)
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3529)
	at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1990)
provavelmente o erro esteja na pagina jsp, pq ñ está passando nehum valor, então queria saber o modo correto para fazer minha página jsp.
<tr>
	  	
	        <td>* Nome do Clube:</td>
	        <td><input type="text" value="${clube.nomeClube}" name="clube.nome" size="50"></td>
	  	
	    </tr>
mesmo c eu conseguir corrigir o erro desta linha, o erro irá passar para a proxima.
V

Vc tem que ver se na sua entidade Clube tem essa propriedade nome_clube e se a mesma tem gets e sets

AndLobo

um erro bem basico na jsp tava apenas nome e no bin tava nomeClube, mas aí graças e vc corrigir este erro. Aproveitando o tópico, tbm quero fazer um DAO e um Action para gravar os jogadores isto é da mesma forma como gravei o clube, mas tbm tenho que gravar a posição em outra tabela, entao no meu DB tenho as tabelas clube, jogador e posicao, vou fazer uma tela em jsp para gravar os jogadores, nesta tela vai conter um campo para gravar a posição que o jogador joga, o q eu quero é, quando eu digitar no campo posição, o valor seja passado para a tabela posicao no banco de dados, como devo implementar isto?

AndLobo

raf4ever:
Não conheço Struts mas diria que o erro tá aqui:

private Clube clube;

Nas páginas vc tá botando Clube com C maiusculo,tenta ver se é isso.

Valeu sua idéia esta correta, ainda tenho q estudar mais um pouco. ainda estou iniciando em java, jsp, jstl, srtuts hibernate tbm to aprendendo, muito obrigado pelo seu conselho

AndLobo
AndLobo:
Boa noite pessoas, estou começando a aprender STRUTS2, estou fasendo um método de inserção de dados no banco, mas me aparece esse erro:

ype Exception report

message

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

exception

java.lang.NullPointerException
br.com.eibsb.Dao.ClubeDao.adicionaClube(ClubeDao.java:30)
br.com.eibsb.action.AdicionaClubeAction.execute(AdicionaClubeAction.java:21)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:452)
com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:291)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:254)
com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:176)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:263)
org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:133)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:190)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:94)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:243)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:141)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:270)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:145)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:171)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:176)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:190)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:187)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:498)
org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)

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

vou posta a jsp;
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<!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>Adicionar Valores</title>
</head>
<body>
	<center>
		<h1>Gravar Clubes</h1>
	</center>
	<form action="adicionaClube" method="get">
	<center>
	  <table border="5" >
	  <input type="hidden" name="id" value="${Clube.id}">
	  	<tr>
	  		<td>* Codigo do Registro:</td>
	  		<td><input type="text" value="${Clube.cdRegistro}" name="cdRegistro" size="50"></td>
	  	</tr>
	  	<tr>
	  		<td>* Nome do Clube:</td>
	  		<td><input type="text" value="${Clube.nomeClube}" name="nomeTime" size="50"></td>
	  	</tr>	
	  	<tr>
	  		<td>* Data da fundação:</td>
	  		<td><input type="text" value="<fmt:formatDate value='${Clube.dtFundacao.time}' pattern='dd/MM/yyyy'/>" name="dtFundacao" size="15" maxlength="10"></td>
	  	</tr>
	  	<tr>
			<td colspan="2" align="center">
			<input type="submit" name="Gravar" value="Gravar"></td>
		</tr>
		
	  			    
	  </table>
	  </center>
	  </form>
</body>
</html>
a classe AdicionaClubeAction?
package br.com.eibsb.action;

import java.sql.SQLException;

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

import br.com.eibsb.Dao.ClubeDao;
import br.com.eibsb.bean.Clube;

public class AdicionaClubeAction {
		private Clube clube;
		
		@Action(value = "adicionaClube", results= {
				@Result(name = "ok" , location = "/sucesso.jsp"),
				@Result(name = "erro" , location = "/erro.jsp")
		}) 
		
		public String execute(){
			try {
				 new ClubeDao().adicionaClube(clube);
			} catch (SQLException e) {
				e.printStackTrace();
				return "erro";
			
			}
			
			return "ok";
			
		}
		
		public Clube getClube() {
			return clube;
		}

		public void setClube(Clube clube) {
			this.clube = clube;
		}
}
e a classe DAO:
package br.com.eibsb.Dao;

import java.sql.Connection;
import java.sql.Date;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;

import br.com.eibsb.bean.Clube;

public class ClubeDao {
	
	private Connection conexao;

	public ClubeDao() throws SQLException {

		this.conexao = new ConnectionFactory().getConnection();

	}

	public void adicionaClube(Clube clube) throws SQLException {
		String sql = "insert into projetostruts (nome_clube, data_fundacao, cd_registro) values(?,?,?)";

		PreparedStatement stm = conexao.prepareStatement(sql);

		
		stm.setString(1, clube.getNomeClube());
		stm.setDate(2, new Date(clube.getDtFundacao().getTimeInMillis()));
		stm.setInt(3, clube.getCdRegistro());
		
		stm.execute();
		stm.close();
		conexao.close();
	}

	public List<Clube> getClubes() throws SQLException {
		String sql = "select * from projetostrus";

		PreparedStatement stm = conexao.prepareStatement(sql);
		ResultSet rs = stm.executeQuery();

		List<Clube> clubes = new ArrayList<Clube>();
		while (rs.next()) {
			 Clube c = new Clube();
			c.setId(rs.getLong("id"));
			c.setNomeClube(rs.getString("nome_clube"));
			
			Calendar data = Calendar.getInstance();
			data.setTime(rs.getDate("data_fundacao"));
			
			c.setDtFundacao(data);
			c.setCdRegistro(rs.getInt("cd_registro"));

			clubes.add(c);
			
			}
	
			rs.close();
			conexao.close();
			stm.close();
			   
			return clubes;
		}
}
cinseramente ñ consigo descobrir este erro, tbm web.xml:
?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
	id="WebApp_ID" version="2.5">
	<display-name>projetoStruts</display-name>
	<welcome-file-list>
		<welcome-file>index.html</welcome-file>
		<welcome-file>index.htm</welcome-file>
		<welcome-file>index.jsp</welcome-file>
		<welcome-file>default.html</welcome-file>
		<welcome-file>default.htm</welcome-file>
		<welcome-file>default.jsp</welcome-file>
	</welcome-file-list>

	<filter>
		<filter-name>struts2</filter-name>
		<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>struts2</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>

</web-app>
no meu entender direcionei tudo certo, mas c estivesse certo ñ daria errado, aguardo alguma ajuda. BOA noite a todos
[RESOLVIDO]
Criado 25 de agosto de 2011
Ultima resposta 25 de ago. de 2011
Respostas 7
Participantes 3