|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Nov 2001
Città: Macerata (MC)
Messaggi: 812
|
URGENTE !!! Aiuto per programma JSP
Ciao ragazzi, sto scrivendo questa pagina JSP che inserisce e legge in un database SQL i dati che riceve. In pratica, la funzione di inserisci funziona perfettamente, mentre la funzione di ricerca funziona, ma se c'é più di un elemento come risultato, ne visualizza solo uno (prima li visualizzava tutti e ora no ... mah misteri del java
![]() Quello che mi fa imbestialire del java é che se capita un errore una volta su 1000 si capisce dove é, mentre di solito tocca ad affidarsi a qualche essere superiore per capire dove c#####o é l'errore. Voi per caso riuscieta a capirlo ? Grazie ![]() ------------------------------------------------------------------------------ Codice:
<html> <head> <title>Risultato dell'operazione</title> </head> <body background="C://Programmi//jakarta-tomcat-3.3.1a//webapps//root//immagini//sfondo5.jpg" text="white"> <%@ page import="java.io.*" %> <%@ page import="java.util.*"%> <%@ page import="java.sql.*"%> <% Class.forName("com.mysql.jdbc.Driver").newInstance(); java.sql.Connection con; con = DriverManager.getConnection("jdbc:mysql://localhost/tesina?user=Lonely Wolf&password=sagitta"); Statement stmt=con.createStatement(); String sql; String[] pagine=request.getParameterValues("tipopagina"); String pagina=pagine[0]; String valoridisco[] = new String [8]; if (pagina.equals("inserisci")) { Enumeration eNames=request.getParameterNames(); stmt.executeUpdate("use tesina"); stmt.executeUpdate("create table if not exists dischi (datacom char(30), titolo char(30), code char(30), genere char(30), datapro char(30), autore char(30), casa char(30))"); while (eNames.hasMoreElements()) { String name=(String) eNames.nextElement(); String[] values=request.getParameterValues(name); if (name.equals("datacom")) { valoridisco[0]=values[0]; } if (name.equals("titolo")) { valoridisco[1]=values[0]; } if (name.equals("code")) { valoridisco[2]=values[0]; } if (name.equals("genere")) { valoridisco[3]=values[0]; } if (name.equals("datapro")) { valoridisco[4]=values[0]; } if (name.equals("autore")) { valoridisco[5]=values[0]; } if (name.equals("casa")) { valoridisco[6]=values[0]; } } if(valoridisco[1].equals("") || valoridisco[5].equals("") || valoridisco[2].equals("")) { stmt.close();stmt=null;con.close(); %> <jsp:forward page="errorins.jsp"/> <% } sql="insert into dischi (datacom, titolo, code, genere, datapro, autore, casa)"+ " values ('"+valoridisco[0]+"','"+valoridisco[1]+"','"+valoridisco[2]+"','"+valoridisco[3]+"','"+valoridisco[4]+"','"+ valoridisco[5]+"','"+valoridisco[6]+"')"; stmt.executeUpdate(sql); %> <fieldset> <legend><h2><font color="white">Riepilogo dati inseriti</font></h2></legend><br> <p>Titolo:&nbsp&nbsp&nbsp<%= valoridisco[1] %></p> <p>Autore:&nbsp&nbsp&nbsp<%= valoridisco[5] %></p> <p>Genere:&nbsp&nbsp&nbsp<%= valoridisco[3] %></p> <p>Codice:&nbsp&nbsp&nbsp<%= valoridisco[2] %></p> <p>Casa:&nbsp&nbsp&nbsp<%= valoridisco[6] %></p> <p>Data di produzione:&nbsp&nbsp&nbsp<%= valoridisco[4] %></p> <p>Data di commercializzazione:&nbsp&nbsp&nbsp<%= valoridisco[0] %></p> </fieldset><br> <p align="center">Databse aggiornato</p> <br><br> <% } if (pagina.equals("ricerca")) { Enumeration eNames=request.getParameterNames(); stmt.executeUpdate("use tesina"); while (eNames.hasMoreElements()) { String name=(String) eNames.nextElement(); String[] values=request.getParameterValues(name); if (name.equals("tiposelezione")) { valoridisco[0]=values[0]; } if (name.equals("campotesto")) { valoridisco[1]=values[0]; } } if (valoridisco[1].equals("")) { stmt.close();stmt=null;con.close(); %> <jsp:forward page="errorins.jsp"/> <% } sql="select * from dischi where "+valoridisco[0]+" = '"+valoridisco[1]+"'"; ResultSet rs=stmt.executeQuery(sql); int ris=0; if (rs.next()) { while (rs.next()) { ris++; String datacom=rs.getString(1); String titolo=rs.getString(2); String code=rs.getString(3); String genere=rs.getString(4); String datapro=rs.getString(5); String autore=rs.getString(6); String casa=rs.getString(7); %> <fieldset> <legend><h2><font color="yellow">Risultato n:<%= ris %></font></h2></legend> <font color="white"> <p>Titolo:&nbsp&nbsp&nbsp<%= titolo %></p> <p>Autore:&nbsp&nbsp&nbsp<%= autore %></p> <p>Genere:&nbsp&nbsp&nbsp<%= genere %></p> <p>Codice:&nbsp&nbsp&nbsp<%= code %></p> <p>Casa discografica:&nbsp&nbsp&nbsp<%= casa %></p> <p>Data di produzione:&nbsp&nbsp&nbsp<%= datapro %></p> <p>Data di commercializzazione:&nbsp&nbsp&nbsp<%= datacom %></p> </font> </fieldset><br> <% } } else { stmt.close();stmt=null;con.close(); %> <jsp:forward page="errorins.jsp"/> <% } rs.close(); rs=null; } if (pagina.equals("elimina")) { Enumeration eNames=request.getParameterNames(); stmt.executeUpdate("use tesina"); while (eNames.hasMoreElements()) { String name=(String) eNames.nextElement(); String[] values=request.getParameterValues(name); if (name.equals("tiposelezione")) { valoridisco[0]=values[0]; } if (name.equals("campotesto")) { valoridisco[1]=values[0]; } } if (valoridisco[1].equals("")) { stmt.close();stmt=null;con.close(); %> <jsp:forward page="errorins.jsp"/> <% } sql="select * from dischi where "+valoridisco[0]+" = '"+valoridisco[1]+"'"; ResultSet rs=stmt.executeQuery(sql); int ris=0; if (rs.next()) { while (rs.next()) { ris++; String datacom=rs.getString(1); String titolo=rs.getString(2); String code=rs.getString(3); String genere=rs.getString(4); String datapro=rs.getString(5); String autore=rs.getString(6); String casa=rs.getString(7); %> <fieldset> <legend><h2><font color="yellow">Risultato n:<%= ris %></font></h2></legend> <font color="white"> <p>Titolo:&nbsp&nbsp&nbsp<%= titolo %></p> <p>Autore:&nbsp&nbsp&nbsp<%= autore %></p> <p>Genere:&nbsp&nbsp&nbsp<%= genere %></p> <p>Codice:&nbsp&nbsp&nbsp<%= code %></p> <p>Casa discografica:&nbsp&nbsp&nbsp<%= casa %></p> <p>Data di produzione:&nbsp&nbsp&nbsp<%= datapro %></p> <p>Data di commercializzazione:&nbsp&nbsp&nbsp<%= datacom %></p> </font> </fieldset><br> <% } } else { stmt.close();stmt=null;con.close(); %> <jsp:forward page="errorins.jsp"/> <% } rs.close(); rs=null; } stmt.close(); stmt=null; con.close(); %> </body> </html> |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Nov 2001
Città: Macerata (MC)
Messaggi: 812
|
forse il problema é in qualche parentesi o ; che non ho chiuso, ma io non sono riuscito a trovarli.
Questo é quello che dice il server: ---------------------------------------------------------------------------------- Error: 500 Location: /elabora.jsp Internal Servlet Error: javax.servlet.ServletException at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:460) at elabora_29._jspService(elabora_29.java:488) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:119) at javax.servlet.http.HttpServlet.service(HttpServlet.java) at org.apache.tomcat.facade.ServletHandler.doService(ServletHandler.java:574) at org.apache.tomcat.core.Handler.invoke(Handler.java:322) at org.apache.tomcat.core.Handler.service(Handler.java:235) at org.apache.tomcat.facade.ServletHandler.service(ServletHandler.java:485) at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:917) at org.apache.tomcat.core.ContextManager.service(ContextManager.java:833) at org.apache.tomcat.modules.server.Http10Interceptor.processConnection(Http10Interceptor.java:176) at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:494) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:516) at java.lang.Thread.run(Thread.java:536) Root cause: java.lang.NullPointerException at elabora_29._jspService(elabora_29.java:340) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:119) at javax.servlet.http.HttpServlet.service(HttpServlet.java) at org.apache.tomcat.facade.ServletHandler.doService(ServletHandler.java:574) at org.apache.tomcat.core.Handler.invoke(Handler.java:322) at org.apache.tomcat.core.Handler.service(Handler.java:235) at org.apache.tomcat.facade.ServletHandler.service(ServletHandler.java:485) at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:917) at org.apache.tomcat.core.ContextManager.service(ContextManager.java:833) at org.apache.tomcat.modules.server.Http10Interceptor.processConnection(Http10Interceptor.java:176) at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:494) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:516) at java.lang.Thread.run(Thread.java:536) |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5707
|
vai alla riga 340 di elabora_29.java per capire la causa della NullPointerException.
Se vuoi un consiglio non mettere tutto quel codice dentro una jsp, creati un package di classi di utilità. In particolare così apri una connection a db ogni volta che viene eseguita la jsp ed e' lentissimo :o |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 14:02.