![]() |
|
![]() |
|
|
Thread Tools | Display Modes |
|
|
#1 |
|
Hobbyist Programmer
Join Date: Mar 2005
Posts: 139
Rep Power: 4
![]() |
Hello:
Im a new to working with servlets so please bear with me: I have 2 classes, one that reads database connection details from a file and establishes a database connection with a mysql database. and a second class (a servlet) that for now just does a simple query on the database and returns the result. 2 problems with the servlet code (no problems with the other class): 1. from the init method of the servlet, i call a method in my EstablishDBConnetion class to establish the connection. The compiler says i cannot reference this no-static method from a static context(Must it be static for my to reference it by Class.method ?) 2. The compiler doesnt seem to recognize its a servlet. errors: CustomQuery.java:12: non-static method establishConnection() cannot be referenced from a static context
EstablishDBConnetion.establishConnection();
^
CustomQuery.java:19: package response does not exist
PrintWriter printer = new response.getWriter();
^
CustomQuery.java:23: cannot find symbol
symbol : variable establishConnection
location: class EstablishDBConnetion
Statement stmt = EstablishDBConnetion.establishConnection.con.createStatement();
^
CustomQuery.java:40: cannot find symbol
symbol : variable con
location: class CustomQuery
con.close();
^
4 errorsServlet Code import java.io.*;
import java.sql.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class CustomQuery extends HttpServlet
{
public void init() throws ServletException
{
EstablishDBConnetion.establishConnection();
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
response.setContentType("text/html");
PrintWriter printer = new response.getWriter();
String title = "Result from custom query";
Statement stmt = EstablishDBConnetion.establishConnection.con.createStatement();
ResultSet rs = stmt.executeQuery("select customerID from customer");
while(rs.next())
{
printer.println("<html> <head><title>" + title + "</title><br><br><table border=\"0\"> <tr><td>" + rs.getString(1) +"</td></tr></table></body></html>");
}
rs.close();
stmt.close();
con.close();
}
}Establish Connection Code import java.io.*;
import java.sql.*;
import java.util.StringTokenizer;
class EstablishDBConnetion
{
public void establishConnection()
{
try
{
String dbDriver ="";
String dbUrl="";
String dbName="";
String dbUser="";
String dbPassword = "";
String newLine = "";
BufferedReader fileRead = new BufferedReader(new FileReader("connection.txt"));
boolean readerStatus = fileRead.ready();
newLine = fileRead.readLine();
while (readerStatus)
{
StringTokenizer st = new StringTokenizer(newLine,",");
while (st.hasMoreTokens())
{
dbDriver = st.nextToken();
dbUrl = st.nextToken();
dbName = st.nextToken();
dbUser = st.nextToken();
dbPassword = st.nextToken();
}
readerStatus = fileRead.ready();
}
Class.forName(dbDriver);
String url = dbUrl + dbName;
Connection con = DriverManager.getConnection(url, dbUser, dbPassword);
}
catch (IOException e)
{
System.out.println("IO exception in establishConnection()");
e.printStackTrace();
}
catch (java.lang.Exception ex)
{
System.out.println("General exception in establishConnection()");
ex.printStackTrace();
}
}
}.;C:\Program Files\QuickTime\QTSystem\QTJava.zip;"X:\Documents and Settings\Paul\My Documents\java\Code\servlets\invoice";"C:\Program Files\Apache Software Foundation\Tomcat 6.0\lib\servlet-api.jar" Again, many thanks |
|
|
|
|
|
#2 |
|
Hobbyist Programmer
Join Date: Mar 2005
Posts: 139
Rep Power: 4
![]() |
pls ignore above code and errors, and see correct below
Errors CustomQuery.java:4: package javax.servlet does not exist import javax.servlet.*; ^ CustomQuery.java:5: package javax.servlet.http does not exist import javax.servlet.http.*; ^ CustomQuery.java:7: cannot find symbol symbol: class HttpServlet public class CustomQuery extends HttpServlet ^ CustomQuery.java:10: cannot find symbol symbol : class ServletException location: class CustomQuery public void init() throws ServletException ^ CustomQuery.java:16: cannot find symbol symbol : class HttpServletRequest location: class CustomQuery public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException ^ CustomQuery.java:16: cannot find symbol symbol : class HttpServletResponse location: class CustomQuery public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException ^ CustomQuery.java:16: cannot find symbol symbol : class ServletException location: class CustomQuery public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException ^ CustomQuery.java:12: non-static method establishConnection() cannot be referenced from a static context EstablishDBConnetion.establishConnection(); ^ CustomQuery.java:19: package response does not exist PrintWriter printer = new response.getWriter(); ^ CustomQuery.java:23: cannot find symbol symbol : variable establishConnection location: class EstablishDBConnetion Statement stmt = EstablishDBConnetion.establishConnection.con.createStatement(); ^ CustomQuery.java:40: cannot find symbol symbol : variable establishConnection location: class EstablishDBConnetion EstablishDBConnetion.establishConnection.con.close(); ^ 11 errors Code import java.io.*;
import java.sql.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class CustomQuery extends HttpServlet
{
public void init() throws ServletException
{
EstablishDBConnetion.establishConnection();
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
response.setContentType("text/html");
PrintWriter printer = new response.getWriter();
String title = "Result from custom query";
Statement stmt = EstablishDBConnetion.establishConnection.con.createStatement();
ResultSet rs = stmt.executeQuery("select customerID from customer");
while(rs.next())
{
printer.println("<html> <head><title>" + title + "</title><br><br><table border=\"0\"> <tr><td>" + rs.getString(1));
}
rs.close();
stmt.close();
EstablishDBConnetion.establishConnection.con.close();
}
}db Connection code import java.io.*;
import java.sql.*;
import java.util.StringTokenizer;
class EstablishDBConnetion
{
public void establishConnection()
{
try
{
String dbDriver ="";
String dbUrl="";
String dbName="";
String dbUser="";
String dbPassword = "";
String newLine = "";
BufferedReader fileRead = new BufferedReader(new FileReader("connection.txt"));
boolean readerStatus = fileRead.ready();
newLine = fileRead.readLine();
while (readerStatus)
{
StringTokenizer st = new StringTokenizer(newLine,",");
while (st.hasMoreTokens())
{
dbDriver = st.nextToken();
dbUrl = st.nextToken();
dbName = st.nextToken();
dbUser = st.nextToken();
dbPassword = st.nextToken();
}
readerStatus = fileRead.ready();
}
Class.forName(dbDriver);
String url = dbUrl + dbName;
Connection con = DriverManager.getConnection(url, dbUser, dbPassword);
}
catch (IOException e)
{
System.out.println("IO exception in establishConnection()");
e.printStackTrace();
}
catch (java.lang.Exception ex)
{
System.out.println("General exception in establishConnection()");
ex.printStackTrace();
}
}
} |
|
|
|
|
|
#3 |
|
Programming Guru
![]() Join Date: Aug 2005
Location: England
Posts: 1,499
Rep Power: 4
![]() |
|
|
|
|
|
|
#4 |
|
Hobbyist Programmer
Join Date: Mar 2005
Posts: 139
Rep Power: 4
![]() |
AS far as I understand the classpath should have :
., my development directory and the location of the servlet jar file. X:\Documents and Settings\Paul\My Documents\java\Code\servlets\invoice" is the exact directory where my class and java files are. To compile I am using the command line (javac command) Any thoughts? |
|
|
|
|
|
#5 |
|
Hobbyist Programmer
Join Date: Mar 2005
Posts: 139
Rep Power: 4
![]() |
Updated
I ensured my Classpath is correct, and it still wont work, but if i use the -classpath option at the commandline when compiling it recognizes that i am importing the servlet packages, but i still get these errors:
CustomQuery.java:19: package response does not exist PrintWriter printer = new response.getWriter(); ^ CustomQuery.java:24: cannot find symbol symbol : variable establishConnection location: class EstablishDBConnetion Statement stmt = EstablishDBConnetion.establishConnection.con.createStatement(); ^ CustomQuery.java:39: cannot find symbol symbol : variable establishConnection location: class EstablishDBConnetion EstablishDBConnetion.establishConnection.con.close(); ^ 3 errors For starters, it doesn't understand what the response object is and then it doesxnt like the way i call Statement stmt = EstablishDBConnetion.establishConnection.con.createStatement();, (FYI: con is in the establishConnection method of the EstablishDBConnetion class) |
|
|
|
![]() |
| Bookmarks |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| Thread Tools | |
| Display Modes | |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Office Problems | NightShade01 | Coder's Corner Lounge | 11 | Nov 30th, 2006 1:37 PM |
| jsp & servlet tutorials | bae | Java | 1 | Feb 10th, 2006 10:41 PM |
| problems loading 2 dlls in Delphi7 | nico765 | Delphi | 0 | Jan 7th, 2006 3:03 PM |
| 2 problems on permutations | alejandrito | Assembly | 0 | Dec 15th, 2005 3:07 AM |
| New Switch, FTP Problems | ViOLATiON | Coder's Corner Lounge | 6 | Sep 13th, 2005 1:44 PM |