Hi guys, am new to
jsp so hope you can help me out.
Am trying to link up a simple database with a bean, but am not too sure how to do this.
I keep getting the following error:
org.apache.jasper.JasperException: Unable to compile class for JSP
An error occurred at line: 2 in the jsp file: /jsp/email_address.jsp
Generated
servlet error:
[javac] Compiling 1 source file
C:\jakarta-tomcat-4.1.30\work\Standalone\localhost\cartapp\jsp\email_address_jsp.java:7: package cust does not exist
import cust.*;
^
C:\jakarta-tomcat-4.1.30\work\Standalone\localhost\cartapp\jsp\email_address_jsp.java:43: package cust does not exist
cust.Customer newcust = null;
^
An error occurred at line: 2 in the jsp file: /jsp/email_address.jsp
Generated servlet error:
C:\jakarta-tomcat-4.1.30\work\Standalone\localhost\cartapp\jsp\email_address_jsp.java:45: package cust does not exist
newcust = (cust.Customer) pageContext.getAttribute("newcust", PageContext.REQUEST_SCOPE);
^
An error occurred at line: 2 in the jsp file: /jsp/email_address.jsp
Generated servlet error:
C:\jakarta-tomcat-4.1.30\work\Standalone\localhost\cartapp\jsp\email_address_jsp.java:48: package cust does not exist
newcust = (cust.Customer) java.beans.Beans.instantiate(this.getClass().getClassLoader(), "cust.Customer");
^
4 errors
at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:130)
at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:293)
at org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:353)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:370)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:473)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:190)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2422)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:163)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:199)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:828)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:700)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:584)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:536)
I've placed email_address.jsp in C:\CARTAPP\jsp and the customer.class file in C:\CARTAPP\jsp\WEB-INF\classes\cust. When i run email_address.jsp on the server i get the above error.
Heres the email_address.jsp file for your convenience:
------------------------------------------------------------------
<%@page import="cust.*"%>
<jsp:useBean id = "newcust" class="cust.Customer" scope ="request"/>
<jsp:setProperty name = "newcust" property = "*"/>
<%newcust.createCustomer();%>
<html>
<head>
<meta http-equiv="Content-Language" content="en-gb">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>Email Address</title>
</head>
<body>
<form method = post action = "email_address.jsp">
<table border="0" width="61%">
<tr>
<td width="20%">Email Address</td>
<td width="80%"><input type="text" name="email_address" size="20"></td>
</tr>
<tr>
<td width="20%">Password</td>
<td width="80%"><input type="text" name="password" size="20"></td>
</tr>
<tr>
<td width="20%"></td>
<td width="80%"><input type="reset" value="Reset" name="B2"><input type="submit" value="Submit" name="B1"></td>
</tr>
</table>
<p><br>
</p>
</body>
</html>
--------------------------------------------------------------------
And heres the customer.java file:
import java.sql.*;
public class Customer{
private
String email_address;
private String password;
public String getCustomerEmail(){
return email_address;
}
public void setCustomerEmail(String e){
email_address = e;
}
public String getCustomerPass(){
return password;
}
public void setCustomerPass(String p){
password = p;
}
public void createCustomer(){
Connection conn = null;
Statement st = null;
PreparedStatement pst;
//Resultset rs = null;
try{
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
conn=
DriverManager.getConnection("jdbc:mysql://localhost/cartapp");
st = conn.createStatement();
pst=conn.prepareStatement("insert into customer (Customer_ID,Email_Address,Password) "+" values (?,?,?)");
pst.setString(1,"NULL");
pst.setString(2,getCustomerEmail());
pst.setString(3,getCustomerPass());
pst.executeUpdate();
pst.close();
}
catch (Exception ex){
ex.printStackTrace();}
}
}
---------------------------------------------------------------------
Your help is very much appreciated,
Jitesh
[ September 09, 2004: Message edited by: Bear Bibeault ]