Salve ragazzi, ho un problema con una jsp di login, spero possiate darmi una mano perché nn riesco a trovare l'errore.
Ho un file index.html con una semplice form che mi fa il submit ad un'altra pagina; questa pagina è una jsp
chiamata Home_Page.jsp che mi cerca in un database se esiste il nome utente e la password digitati nel file
index.html. Mi da un errore e non riesco a capire quale possa essere. Il file access col mio database si chiama
database.mdb e ha una tabella chiamata UTENTI con due campi , UserName e Password. Il file col database insieme con i due file sopra descritti stanno nella cartella
C:\Programmi\Apache Software Foundation\Tomcat 5.5\webapps\ROOT\Prove
Vi riporto qui il codice e in basso l'errore che il tomcat 5.5 mi da:
codice index.html
<html>
<head>
<title>Form</title>
</head>
<body>
<div style="text-align:center">
<form name="Login" action="Home_Page.jsp" method="post">
UserName: <input name="txtUserName" type="text" value="" />
Password: <input name="txtPassWord" type="text" value="" />
<input id="submit" type="submit" value="Login!" />
</form>
</div>
</body>
</html>
codice Home_Page.jsp :
<%@ page language="java"%>
<%@ page import="java.sql.*"%>
<!DOCTYPE HTML PUBLIC "-//w3c//dtd html 4.0 transitional//en">
<Html>
<Head>
<Title>Esito inserimento dati</Title>
</Head>
<Body BgColor="#FFFFFF">
<Form Name = "frmMain" Method = "Post">
<Center>
<%
//Dichiarazione Variabili;
String strUserName = "";
String strPassWord = "";
String strRisultato = "";
String strSelect = "SELECT ";
String strFrom = "FROM ";
String strWhere = "WHERE ";
String strSql = "";
Connection objConnessione = null;
//Recupero i dati inseriti nella Form di Login
strUserName = request.getParameter("txtUserName").toString();
strPassWord = request.getParameter("txtPassWord").toString();
//Carico il file di classe del driver per il collegamento al
//DataBase con il ponte Odbc
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch (ClassNotFoundException e)
{
System.out.println("Impossibile caricare il driver: "+ e);
}
try
{
//Apertura connessione al DataBase
objConnessione = DriverManager.getConnection("Jdbc:Odbc:database");
}
catch (SQLException e)
{
System.out.println("Impossibile connettersi al DataBase.");
}
try
{
Statement objStatement = objConnessione.createStatement();
//Creo istruzione SQL da eseguire
strSelect = strSelect + "UserName, Password ";
strFrom = strFrom + "UTENTI ";
strWhere = strWhere + "UserName = '" + strUserName + "' AND PassWord = '" + strPassWord + "'";
strSql = strSelect + strFrom + strWhere;
ResultSet rstRecord = objStatement.executeQuery(strSql);
if ((rstRecord.isFirst()) && (rstRecord.isLast()))
{
strRisultato = "Impossibile proseguire.UserName e/o PassWord errata.";
}
rstRecord.close();
}
catch (SQLException e)
{
System.out.println("Errore Sql: " + e);
}
if (strRisultato.length() != 0)
{%>
<Table>
<tr>
<td>
<Label Name = "lblRisultato"><%=strRisultato%></Label>
</td>
</tr>
</Table>
<Input Type = "Button" Name = "btnIndietro" onClick = "javascript:window.history.back()" Value = "Torna Indietro">
<%}
else
{
response.sendRedirect( "Home_Page.jsp");
}
//Chiusura della Connessione
objConnessione.close();%>
</Center>
</Form>
</Body>
</Html>
Errore generato dal Tomcat 5.5 :
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: Exception in JSP: /Prove/Home_Page.jsp:53
50:
51: try
52: {
53: Statement objStatement = objConnessione.createStatement();
54:
55: //Creo istruzione SQL da eseguire
56:
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handle JspException(JspServletWrapper.java:504)
org.apache.jasper.servlet.JspServletWrapper.servic e(JspServletWrapper.java:393)
org.apache.jasper.servlet.JspServlet.serviceJspFil e(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspSe rvlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet .java:802)
root cause
java.lang.NullPointerException
org.apache.jsp.Prove.Home_005fPage_jsp._jspService (Home_005fPage_jsp.java:95)
org.apache.jasper.runtime.HttpJspBase.service(Http JspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet .java:802)
org.apache.jasper.servlet.JspServletWrapper.servic e(JspServletWrapper.java:332)
org.apache.jasper.servlet.JspServlet.serviceJspFil e(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspSe rvlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet .java:802)
GRAZIE