Ciao , faccio sviluppo in java ma sono una principiante. ho il seguente Pb.
Ho fatto un'applicazione web costituita da una servlet che si connette ad un db access ed esegue una query per poi richiamare due jsp di visualizzazione. Utilizzo come webservice NetBeans vs.5
Il progetto viene compilato,deployato e mandato in esecuzione senza indicazione di errori
ma quando dal browser richiamo la jsp mi visualizza una pagina vuota.
ho controllato il file di log e mi da il messaggio sqlexception: no data found.
Vi dico che ho generato il db su tomcat e il driver odbc e effettuando il test di connessione
questa viene effettuata correttamente , però non mi fa visualizzare la tabella che ho creato e mi appare il seguente mes. di errore:
connection is broken Driver ODBC: caratteristica opzionale non implementata.
che significa?
scusate se non sono stata abbastanza chiara
il codice della servlet è il seguente:
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.sql.*;
import javax.naming.*;
import javax.sql.*;
import java.util.*;
import it.dbInfo.beans.*;
public class ProvincieServlet extends HttpServlet{
public void doGet(HttpServletRequest req,HttpServletResponse resp)
throws ServletException, IOException
{
String action=req.getParameter("action");
String forward="";
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver",true,this.getClass().getClassLoader());
}catch(ClassNotFoundException e)
{e.printStackTrace();}
Connection con = getconnection();
if (con == null) {
throw new ServletException("Errore Connesione al DB");
}
if(action==null || action.equals("")){
ProvinceBean provincieBean= null;
provincieBean = getProvincie(con);
if(provincieBean!=null) {
req.setAttribute("provincie",provincieBean);
forward="/listaProvincie.jsp";
}
}
else if (action.equalsIgnoreCase("dettaglio")){
String siglaProvincia=req.getParameter("siglaProvincia");
ProvinciaBean provinciaBean = null;
provinciaBean = getProvincia(con, siglaProvincia);
if(provinciaBean!=null) {
req.setAttribute("provincia",provinciaBean);
forward="/dettaglioProvincia.jsp";
}
}
try{
con.close();}
catch (Exception ex) { }
if(!forward.equals("")) {
RequestDispatcher rd = getServletContext().getRequestDispatcher(forward);
rd.forward(req,resp);
}
}
private Connection getconnection(){
Connection con=null;
try{
String url="jdbc:odbc:DSUtenti";
con=DriverManager.getConnection(url);
}
catch(Exception e){
e.printStackTrace();
}
return con;
}
private ProvinceBean getProvincie(Connection con){
ProvinceBean provincieBean = null;
Statement stmt = null;
ResultSet res = null;
try{
stmt=con.createStatement();
String sql="select * from PROVINCIA";
res=stmt.executeQuery(sql);
Hashtable htProvince= new Hashtable();
while(res.next()){
ProvinciaBean provincia = new ProvinciaBean();
provincia.setSiglaprovincia((res.getString(1)==null) ? "XX" : res.getString(1));
provincia.setDescrizione((res.getString(2) == null) ? "Non definita" : res.getString(2));
htProvince.put(provincia.getSiglaprovincia(),provincia);
}
provincieBean = new ProvinceBean();
provincieBean.setProvincie(htProvince);
}
catch(Exception e){
e.printStackTrace();
}
finally {
try {
if (res!=null) res.close();
if (stmt!=null) stmt.close();
}
catch (Exception ex) {
}
}
return provincieBean;
}
private ProvinciaBean getProvincia(Connection con, String siglaProvincia){
ProvinciaBean provinciaBean = null;
Statement stmt = null;
ResultSet res = null;
try{
stmt=con.createStatement();
String sql="SELECT * FROM PROVINCIA WHERE sigla_prov ='"+siglaProvincia+"' ";
res=stmt.executeQuery(sql);
if(res.next()){
provinciaBean = new ProvinciaBean();
provinciaBean.setSiglaprovincia((res.getString(1)==null) ? "XX" : res.getString(1));
provinciaBean.setDescrizione((res.getString(2) == null) ? "Non definita" : res.getString(2));
}
}
catch(Exception e){
e.printStackTrace();
}
finally {
try {
if (res!=null) res.close();
if (stmt!=null) stmt.close();
}
catch (Exception ex) {
}
}
return provinciaBean;
}
}
mentre la jsp listaProvincie è questa:
<%@ page import="java.util.*"%>
<%@ page import="it.dbInfo.beans.*"%>
<jsp:useBean id="provincie" class="it.dbInfo.beans.ProvinceBean" scope="request" />
<jsp:useBean id="provincia" class="it.dbInfo.beans.ProvinciaBean" scope="page" />
<html>
<head>
<title>Lista delle Provincie
</title>
</head>
<body>
<form name="dettaglio" action="<%=request.getContextPath()%>/listaProvincie.do">
<input type="hidden" name="action" value="dettaglio"/>
<input type="hidden" name="siglaProvincia" value=""/>
</form>
<div align="center">
<table>
<caption>Elenco Provincie
</caption>
<tr>
<th>sigla</th>
<th>descrizione</th>
</tr>
<%Hashtable htProvince;
htProvince=provincie.getProvincie();
Enumeration enSigle=htProvince.keys();
while(enSigle.hasMoreElements())
{
provincia=(ProvinciaBean)htProvince.get(enSigle.nextElement());
%>
<tr style="cursor:hand;" onclick="BLOCKED SCRIPTdocument.dettaglio.siglaProvincia.value='<%=provincia.getSiglaprovincia()%>';document.dettaglio.submit();return false;" >
<td><%=provincia.getSiglaprovincia()%></td>
<td><%=provincia.getDescrizione()%></td>
</tr>
<% } %>
</table>
</div>
</body>
</html>
Mi sto veramente scervellando.Spero che qualcuno mi possa consigliare qualcosa...
Ciao a tutti e grazie in anticipo.