helo all,
i am working with JSP and EJBs. i have written a simple code for verifying username and password of user by using session beans. my problem is that i m getting exception named "ClassCastExcep tion". Exception is as follows:
[exception]
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasp er.JasperExcept ion
org.apache.jasp er.servlet.JspS ervletWrapper.s ervice(JspServl etWrapper.java: 370)
org.apache.jasp er.servlet.JspS ervlet.serviceJ spFile(JspServl et.java:314)
org.apache.jasp er.servlet.JspS ervlet.service( JspServlet.java :264)
javax.servlet.h ttp.HttpServlet .service(HttpSe rvlet.java:810)
org.jboss.web.t omcat.filters.R eplyHeaderFilte r.doFilter(Repl yHeaderFilter.j ava:81)
root cause
java.lang.Class CastException
com.sun.corba.s e.internal.java x.rmi.PortableR emoteObject.nar row(PortableRem oteObject.java: 293)
javax.rmi.Porta bleRemoteObject .narrow(Portabl eRemoteObject.j ava:134)
org.apache.jsp. Verify_jsp._jsp Service(org.apa che.jsp.Verify_ jsp:70)
org.apache.jasp er.runtime.Http JspBase.service (HttpJspBase.ja va:97)
javax.servlet.h ttp.HttpServlet .service(HttpSe rvlet.java:810)
org.apache.jasp er.servlet.JspS ervletWrapper.s ervice(JspServl etWrapper.java: 322)
org.apache.jasp er.servlet.JspS ervlet.serviceJ spFile(JspServl et.java:314)
org.apache.jasp er.servlet.JspS ervlet.service( JspServlet.java :264)
javax.servlet.h ttp.HttpServlet .service(HttpSe rvlet.java:810)
org.jboss.web.t omcat.filters.R eplyHeaderFilte r.doFilter(Repl yHeaderFilter.j ava:81)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.9 logs.
[/exception]
i have change code a little bit which i m presenting for ur consideration:
i dont know, what mistake i m doing now.:(
do i need to set any class path or anything else? currently i have set my class path to j2ee.jar, my other servlet taht do not involve ejbs are working perfectly.
my directory structue is as follows:
hm.war---> WEB-INF(folder) & Verify.jsp
WEBINF-->classes(folder ) & web.xml
classes-->hina(folder)-->mahmood(folder )--> VerifyUser.clas s & VerifyUserBean. class & VerifyUserHome. class
my beans.jar contains:
beans.jar-->msaccess-ds.xml & META-INF & and package hina(folder)-->mahmood(folder )-->VerifyUser.cla ss & VerifyUserBean. class & VerifyUserHome. class
META-INF-->ejb-jar.xml
plz plz plz help me. its really very important 4 me.
thanks
i am working with JSP and EJBs. i have written a simple code for verifying username and password of user by using session beans. my problem is that i m getting exception named "ClassCastExcep tion". Exception is as follows:
[exception]
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasp er.JasperExcept ion
org.apache.jasp er.servlet.JspS ervletWrapper.s ervice(JspServl etWrapper.java: 370)
org.apache.jasp er.servlet.JspS ervlet.serviceJ spFile(JspServl et.java:314)
org.apache.jasp er.servlet.JspS ervlet.service( JspServlet.java :264)
javax.servlet.h ttp.HttpServlet .service(HttpSe rvlet.java:810)
org.jboss.web.t omcat.filters.R eplyHeaderFilte r.doFilter(Repl yHeaderFilter.j ava:81)
root cause
java.lang.Class CastException
com.sun.corba.s e.internal.java x.rmi.PortableR emoteObject.nar row(PortableRem oteObject.java: 293)
javax.rmi.Porta bleRemoteObject .narrow(Portabl eRemoteObject.j ava:134)
org.apache.jsp. Verify_jsp._jsp Service(org.apa che.jsp.Verify_ jsp:70)
org.apache.jasp er.runtime.Http JspBase.service (HttpJspBase.ja va:97)
javax.servlet.h ttp.HttpServlet .service(HttpSe rvlet.java:810)
org.apache.jasp er.servlet.JspS ervletWrapper.s ervice(JspServl etWrapper.java: 322)
org.apache.jasp er.servlet.JspS ervlet.serviceJ spFile(JspServl et.java:314)
org.apache.jasp er.servlet.JspS ervlet.service( JspServlet.java :264)
javax.servlet.h ttp.HttpServlet .service(HttpSe rvlet.java:810)
org.jboss.web.t omcat.filters.R eplyHeaderFilte r.doFilter(Repl yHeaderFilter.j ava:81)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.9 logs.
[/exception]
i have change code a little bit which i m presenting for ur consideration:
Code:
VerifyUser.java
---------------
package hina.mahmood;
import javax.ejb.*;
import java.rmi.*;
public interface VerifyUser extends javax.ejb.EJBObject
{
public Boolean Verify(String user, String pswd) throws RemoteException;
}// end interface
*****************************
VerifyUserHome.java
-------------------
package hina.mahmood;
import javax.ejb.*;
import java.rmi.*;
import javax.ejb.EJBHome;
public interface VerifyUserHome extends javax.ejb.EJBHome
{
public VerifyUser create() throws RemoteException,CreateException;
}// end interface
*****************************
VerifyUserBean.java
--------------------
package hina.mahmood;
import javax.ejb.*;
import java.rmi.*;
import java.sql.*;
import javax.sql.*;
import javax.naming.*;
public class VerifyUserBean implements SessionBean
{
private SessionContext ctx;
public Boolean Verify(String user,String pswd) throws RemoteException
{
int flag=0;
Boolean bool=new Boolean("false");
try{
InitialContext ctx = new InitialContext();
DataSource ds =(DataSource)ctx.lookup("java:honie");
Connection con = ds.getConnection();
Statement stmt = con.createStatement();
String query="Select username,password from hina";
ResultSet rs=stmt.executeQuery(query);
while(rs.next())
{
if((rs.getString("username").equals(user))&&(rs.getString("password").equals(pswd)))
{
flag=1;
break;
}
}// end while
}// end try
catch(Exception e)
{System.out.println(e);}
if(flag==0)
{
bool=new Boolean("false");
return bool;
}
else
if(flag==1)
{
bool=new Boolean("true");
return bool;
}
return bool;
}// end method
public void ejbCreate() throws RemoteException,CreateException
{
}// end method
public void setSessionContext(SessionContext ctx)
{
this.ctx=ctx;
}
public void ejbPassivate()
{}
public void ejbActivate()
{}
public void ejbRemove()
{}
}// end class
*******************
ejb-jar.xml
--------------
<?xml version="1.0"?>
<!DOCTYPE ejb-jar PUBLIC '-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN' 'http://java.sun.com/dtd/ejb-jar_2_0.dtd'>
<ejb-jar>
<enterprise-beans>
<session>
<display-name></display-name>
<ejb-name>VerifyUser</ejb-name>
<home>hina.mahmood.VerifyUserHome</home>
<remote>hina.mahmood.VerifyUser</remote>
<ejb-class>hina.mahmood.VerifyUserBean</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Container</transaction-type>
</session>
</enterprise-beans>
</ejb-jar>
******************************
Verify.jsp(page that calls this bean)
------------------------------------
<%@ page import="java.rmi.*,javax.naming.Context,javax.naming.InitialContext,hina.mahmood.*"%>
<%
String username=request.getParameter("user");
String password=request.getParameter("pswd");
InitialContext cxt=new InitialContext();
Object obj=cxt.lookup("VerifyUser");
VerifyUserHome userHome=(VerifyUserHome)javax.rmi.PortableRemoteObject.narrow(obj,VerifyUserHome.class);
VerifyUser vs=userHome.create();
Boolean b=vs.Verify(username,password);
boolean bool=b.booleanValue();
if(bool)
response.sendRedirect("main.jsp");
else
response.sendRedirect("error.jsp");
%>
***********************
msaccess-ds.xml
---------------
<datasources>
<local-tx-datasource>
<jndi-name>honie</jndi-name>
<!-- format of URL is "jdbc:odbc:DSNNAME" -->
<connection-url>jdbc:odbc:honie</connection-url>
<driver-class>sun.jdbc.odbc.JdbcOdbcDriver</driver-class>
<user-name></user-name>
<password></password>
</local-tx-datasource>
</datasources>
*********************
i dont know, what mistake i m doing now.:(
do i need to set any class path or anything else? currently i have set my class path to j2ee.jar, my other servlet taht do not involve ejbs are working perfectly.
my directory structue is as follows:
hm.war---> WEB-INF(folder) & Verify.jsp
WEBINF-->classes(folder ) & web.xml
classes-->hina(folder)-->mahmood(folder )--> VerifyUser.clas s & VerifyUserBean. class & VerifyUserHome. class
my beans.jar contains:
beans.jar-->msaccess-ds.xml & META-INF & and package hina(folder)-->mahmood(folder )-->VerifyUser.cla ss & VerifyUserBean. class & VerifyUserHome. class
META-INF-->ejb-jar.xml
plz plz plz help me. its really very important 4 me.
thanks
Comment