Sono disperatovi chiedo cortesemente di aiutarmi; è il mio approccio all’uso dei Bean e sto impazzendo perché mi viene lanciata la seguente eccezione quando clicco il pulsante inserisci per caricare in un db access i dati inseriti in un form .
Premetto che lo stesso codice senza l’uso dei bean funziona perfettamente.
Vi inserisco di seguito il codice relativo alle classi e alle pagine jsp che le chiamano, vi prego di spiegarmi perché mi lancia questa eccezione.
Voglio inoltre aggiungere, come ben notate, che nella pagina inserimento.jsp ho commentato tutte le linee che chiamano i metodi della classe.
org.apache.jasper.JasperException: java.lang.ClassCastException: beans.UtentiBean
org.apache.jasper.servlet.JspServletWrapper.handle JspException(JspServletWrapper.java:491)
org.apache.jasper.servlet.JspServletWrapper.servic e(JspServletWrapper.java:419)
org.apache.jasper.servlet.JspServlet.serviceJspFil e(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspSe rvlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet .java:717)
<%@page language="java"%>
<jsp:useBean id="bean" scope="session" class="beans.UtentiBean"/>
<jsp:useBean id="bean_u" scope="session" class="beans.NormeBean"/>
<%@ page import="java.sql.*, java.lang.String.*" %>
</head>
<body>
<% if (bean.getAuth()) {
if(!(bean.getRuolo()).equals("amministratore")){ // MENU supervisore
response.sendRedirect("login.jsp?msg=1");
}
%>
<form name="form" action="inserimento.jsp" method="post" onSubmit="validaCampi();">
<span class="elegant"> </span>
<table cellspacing="2" cellpadding="2" border="0" align="center">
<%
ResultSet rs=(bean.controlla_E());
%>
<tr>
<th width="124" class="elegant" align="left">Ente Normatore *</td>
<td width="165" class="elegant" align="left"> <select name="ente">
<%
while(rs.next()){
%>
<option><%= rs.getString("nome") %></option>
<% } %>
</select></td>
<td>Aggiungi una nuova voce</td>
</tr>
<tr>
<th class="elegant" align="left">Numero *</td>
<td class="elegant"><input type="text" name="numero"></td>
</tr>
<tr>
<th class="elegant" align="left">Parte </td>
<td class="elegant"><input type="text" name="parte"></td>
</tr>
<tr>
<th class="elegant" align="left">Anno *</td>
<td class="elegant"><input type="text" name="Anno"></td>
</tr>
<tr>
<th class="elegant" align="left">Titolo *</td>
<td class="elegant"><input type="text" name="titolo"></td>
</tr>
<tr>
<th class="elegant" align="left">Data di Acquisto *</td>
<td class="elegant"><select name="giorno">
<option>01</option>
<option>02</option>
<option>03</option>
<option>04</option>
<option>05</option>
<option>06</option>
<option>07</option>
<option>08</option>
<option>09</option>
<option>10</option>
<option>11</option>
<option>12</option>
<option>13</option>
<option>14</option>
<option>15</option>
<option>16</option>
<option>17</option>
<option>18</option>
<option>19</option>
<option>20</option>
<option>21</option>
</select>
<select name="mese">
<option>01</option>
<option>02</option>
<option>03</option>
<option>04</option>
<option>05</option>
<option>06</option>
</select>
<select name="annod">
<option>2009</option>
<option>2010</option>
<option>2011</option>
<option>2012</option>
<option>2013</option>
<option>2014</option>
</select></td>
</tr>
<tr>
<th class="elegant"><input type="submit" value="Inserisci"></td>
<td class="elegant"></td>
</tr>
</table>
File inserimento.jsp
<%@ include file="costanti.jspf" %>
<%@page language="java"%>
<jsp:useBean id="bean" scope="session" class="beans.NormeBean"/>
<%
String page_to_join= null;
ente = request.getParameter("ente");
titolo = request.getParameter("titolo");
numero = request.getParameter("numero");
parte= request.getParameter("parte");
anno = request.getParameter("Anno");
giorno = request.getParameter("giorno");
mese = request.getParameter("mese");
annod = request.getParameter("annod");
String date=null;
date=mese.concat("/").concat(mese).concat("/").concat(annod);
//bean.setTitolo(titolo);
//bean.setEnte(ente);
//bean.setNumero(numero);
//bean.setAnno(anno);
//bean.setParte(parte);
//bean.setData(date);
//controllo se è già presente
// out.println(bean.getAnno()+ bean.getEnte()+bean.getNumero());
//boolean v=bean.controlla();
//boolean esito;
//esito=bean.salvaNorma();
//if(esito){
//out.println("inserimento effettuato");}
//else{
//out.println("inserimento non effettuato");
//}
%>
Utenti Bean
package beans;
import java.io.*;
import java.util.*;
import java.sql.*;
public class UtentiBean {
private String ente;
private String n_ente;
private String numero;
private String parte;
private String titolo;
private String anno;
private String data;
private String nome;
private String cognome;
private String ruolo;
private String username;
private String password;
private String matricola;
private int id;
private Statement s=null;
//variabile booleana per gestire la sessione dell'utente
private boolean auth=false;
private boolean presente=false;
//variabile per recuperare e gestire i messaggi di errore
private String msgErrore="";
//metodi SET e GET
public String getNome() {
return nome;
}
public void setNome(String nome){
this.nome = nome;
}
public int getId() {
return id;
}
public void setId(int id){
this.id = id;
}
public String getCognome() {
return cognome;
}
public void setCognome(String cognome){
this.cognome = cognome;
}
public String getRuolo() {
return ruolo;
}
public void setRuolo(String ruolo){
this.ruolo = ruolo;
}
public String getUsername() {
return username;
}
public void setUsername(String username){
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password){
this.password = password;
}
public String getMatricola() {
return matricola;
}
public void setMatricola(String matricola){
this.matricola = matricola;
}
public Statement getStatement() {
return s;
}
public void setStatement(Statement s){
this.s = s;
}
//metodo per recuperare il messaggio in caso d'errore
public String getMsgErrore() {
return msgErrore;
}
//metodo per ottenere l'autorizzazione dopo il login
public boolean getAuth() {
return auth;
}
//metodo per il salvataggio di un nuovo utente
public boolean salvaUtente() {
boolean checkSave=false;
//PreparedStatement stmt = null;
//ResultSet rs = null;
//Connection cn=null;
try {
String insert = "INSERT INTO utenti (nome, cognome, matricola, ruolo) VALUES ('"+getNome()+"', '"+getCognome()+"', '"+getMatricola()+"', '"+getRuolo()+"');";
getStatement().executeUpdate(insert);
checkSave=true; //quando ho salvato l'utente nel database check diventa vera
} catch(Exception e) {msgErrore=e.getMessage();}
return checkSave;
}
//metodo per eseguire il login: imposta la variabile auth a vero se l'utente esiste
public boolean loginUtente(){
auth=false;
try {
ResultSet r = getStatement().executeQuery("SELECT * FROM utenti WHERE matricola='"+getMatricola()+"' and password='"+getPassword()+"'");
if(r.next()) {
nome = r.getString("nome");
cognome = r.getString("cognome");
ruolo = r.getString("ruolo");
auth=true; //se l'utente esiste nel database
}
setRuolo(ruolo);
} catch(Exception e) {msgErrore=e.getMessage();}
return auth;
}
public boolean controlla(){
presente=false;
ResultSet r=null;
try {
r = getStatement().executeQuery("SELECT * FROM utenti WHERE matricola='"+getMatricola()+"' ");
if(r.next()) {
presente=true;
}
else{
presente=false;}
} catch(Exception e) {msgErrore=e.getMessage();}
return presente;
}
//metodo per il logout: imposta la variabile auth a falso
public boolean logout() {
nome="";
cognome="";
username="";
password="";
auth=false;
return auth;
}
public ResultSet elenco(String v){
ResultSet r=null;
String sql=null;
try{
if(v.equals("1")){
sql="select * from utenti where";
// se almeno un campo è stato compilato
String where="";
if(!getNome().equals("")){
where+=" nome='"+getNome()+"' AND";
}
if(!getCognome().equals("")){
where+=" cognome='"+getCognome()+"' AND";
}
if(!getMatricola().equals("")){
where+=" matricola='"+getMatricola()+"' AND";
}
if(!getRuolo().equals("")){
where+=" ruolo='"+getRuolo()+"' AND";
}
if(where!=null){
where+="xxx";
where=where.replace("ANDxxx","");}
sql+=where;
}
if(v.equals("2")){
sql = " SELECT * FROM utenti where id=" + getId() +" ";}
r = getStatement().executeQuery(sql);
} catch(Exception e) {msgErrore=e.getMessage();}
return r;
}
public String delete(int i){
Statement stmt = null;
int esito;
String sql=null;
String risposta=null;
try{
sql = " DELETE * FROM utenti where id=" + i +" ";
esito= getStatement().executeUpdate(sql);
if(esito==1){
int msg;
risposta="cancellata";}
else{
risposta="non cancellata";
}
}
catch (Exception e) {
msgErrore=e.getMessage();
}
return risposta;
}
public boolean update(){
String sql=null;
boolean esito_u=false;
try{
sql = " UPDATE utenti set nome='"+getNome()+"' , cognome='"+getCognome()+"', matricola='"+getMatricola()+"', ruolo='"+getRuolo()+"' where id="+getId()+" ";
getStatement().executeUpdate(sql);
esito_u=true;
}
catch (Exception e) {
msgErrore=e.getMessage();
}
return esito_u;
}
public ResultSet controlla_E(){
String sql=null;
ResultSet r=null;
try {
sql = " SELECT * FROM ente";
r= getStatement().executeQuery(sql);
} catch(Exception e) {msgErrore=e.getMessage();}
return r;
}
}
Norme Bean
package beans;
import java.io.*;
import java.util.*;
import java.sql.*;
public class NormeBean {
private String ente;
private String n_ente;
private String numero;
private String parte;
private String titolo;
private String anno;
private String data;
private String nome;
private String cognome;
private String ruolo;
private String username;
private String password;
private String matricola;
private int id;
private Statement s=null;
//variabile booleana per gestire la sessione dell'utente
private boolean auth=false;
private boolean presente=false;
//variabile per recuperare e gestire i messaggi di errore
private String msgErrore="";
public Statement getStatement() {
return s;
}
public void setStatement(Statement s){
this.s = s;
}
public String getEnte() {
return ente;
}
public void setEnte(String ente){
this.ente = ente;
}
public int getId() {
return id;
}
public void setId(int id){
this.id = id;
}
public String getNumero() {
return numero;
}
public void setNumero(String numero){
this.numero = numero;
}
public String getParte() {
return parte;
}
public void setParte(String parte){
this.parte = parte;
}
public String getAnno() {
return anno;
}
public void setAnno(String anno){
this.anno = anno;
}
public String getData() {
return data;
}
public void setData(String data){
this.data = data;
}
public String getTitolo() {
return titolo;
}
public void setTitolo(String titolo){
this.titolo = titolo;
}
public ResultSet controlla_E(){
String sql=null;
ResultSet r=null;
try {
sql = " SELECT * FROM ente";
r= getStatement().executeQuery(sql);
} catch(Exception e) {msgErrore=e.getMessage();}
return r;
}
//metodo per il salvataggio di una nuova norma
}

vi chiedo cortesemente di aiutarmi; è il mio approccio all’uso dei Bean e sto impazzendo perché mi viene lanciata la seguente eccezione quando clicco il pulsante inserisci per caricare in un db access i dati inseriti in un form .
Rispondi quotando