Я новичок в java beans и JSP. В моем проекте, что я сделал, я создал несколько бобов, таких как LoginBean, RegisterBean, AddCourseBean и т. Д.Проблема с реализацией класса Bean в Java-ClassCastException
Предположим m на странице A.jsp, которая использует bean LoginBean для получения и настройки некоторых свойств. После этого m, перемещаясь на страницу B.jsp, которая использует другой компонент, скажем RegisterBean для установки некоторого свойства или добавления данных в базу данных.
При движении со страницей А до В м получения ошибочного в коте
HTTP Status 500 - java.lang.ClassCastException: ankit.ShowCourseBean cannot be cast to ankit.LoginBean
type Exception report
message java.lang.ClassCastException: ankit.ShowCourseBean cannot be cast to ankit.LoginBean
description The server encountered an internal error that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: java.lang.ClassCastException: ankit.ShowCourseBean cannot be cast to ankit.LoginBean
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:549)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:470)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
root cause
java.lang.ClassCastException: ankit.ShowCourseBean cannot be cast to ankit.LoginBean
org.apache.jsp.components.jsp.Login_jsp._jspService(Login_jsp.java:72)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
note The full stack trace of the root cause is available in the Apache Tomcat/7.0.42 logs.
Мой код в странице JSP, чтобы использовать боб выглядит следующим образом: Page A.jsp
<%@ page language="java" %>
<%@ page import="java.sql.*;" %>
<%!
ResultSet rs;
String coursename,courseid;
%>
<jsp:useBean id="obj" scope="application" class="ankit.ShowCourseBean" />
<%
rs=obj.getCourse();
%>
//my remaining Html and logic
Страницы B.jsp
<%@ page language="java" %>
<%!
boolean b;
String myemail, mypassword,userName,userType;
%>
<jsp:useBean id="obj" scope="application" class="ankit.LoginBean" />
<jsp:setProperty name="obj" property="myemail" />
<jsp:setProperty name="obj" property="mypassword" />
<%
myemail=request.getParameter("myemail");
mypassword=request.getParameter("mypassword");
try{
b=obj.checkLogin(myemail,mypassword);
System.out.println(b);
if(b)
{
userName=obj.checkUserName();
userType=obj.checkUserType();
System.out.println(userName);
session.setAttribute("loggedUserName",userName);
session.setAttribute("loggedUserType",userType);
response.sendRedirect("http://localhost:8080/vt/index.jsp");
}
else
{
out.println("Wrong User Name and Password");
}
}catch(Exception e)
{
out.println("Wrong User Name and Password");
e.printStackTrace();
}
%>
на самом деле пересмотрено: это из-за scope = "application" – Joeblade