java.lang.ClassCastException:java.lang.String不能强制转换为org.springframework.orm.hibernate3.HibernateTemplate

java.lang.ClassCastException:java.lang.String不能强制转换为org.springframework.orm.hibernate3.HibernateTemplate,java,spring,hibernate,jsp,Java,Spring,Hibernate,Jsp,以下是我正在编写的jsp页面: 我的要求是显示sql数据库中的一行 <%@page import="edu.mindscripts.BookAction"%> <%@page import="java.util.Iterator"%> <%@page import="edu.mindscripts.BookPojo"%> <%@page import="java.util.List"%> <%@page

以下是我正在编写的jsp页面: 我的要求是显示sql数据库中的一行

    <%@page import="edu.mindscripts.BookAction"%>
    <%@page import="java.util.Iterator"%>
    <%@page import="edu.mindscripts.BookPojo"%>
    <%@page import="java.util.List"%>
    <%@page import="org.hibernate.Query"%>
    <%@page import="org.hibernate.Session"%>
    <%@page import="org.springframework.orm.hibernate3.HibernateTemplate"%>
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
    "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Insert title here</title>
    </head>
    <body>
    <%!Object o; %>
    <%
        //Object o = session.getAttribute("template");
        //HibernateTemplate template = (HibernateTemplate)o;
        Cookie c[]=request.getCookies();

        for(Cookie c1:c)
        {
           out.println(c1);
           out.println(c1.getValue());
           session.setAttribute("temp",c1.getValue());
                }

                out.println(session.getAttribute("temp"));

                Object o=session.getAttribute("temp");
                out.println(o);

                HibernateTemplate template=(HibernateTemplate)o;
                out.println(template);
        %>

提前感谢

错误告诉您,
session.getAttribute(“temp”)
返回的是字符串,而不是HibernateTemplate


查看所有设置会话属性“temp”的代码区域,确保在设置hibernate模板时没有设置字符串值。

伙计,这就是在网页中使用Scriptlet的问题,它很难维护,也很难阅读。问题在于这里
HibernateTemplate=(HibernateTemplate)o。您的o对象是一个字符串而不是HibernateTemplate,您必须调试控制器并查看您在“temp”变量中输入了什么。也许,考虑使用<强> JSTL<强>而不是<强>脚本> <强>。祝你今天愉快

SEVERE: Servlet.service() for servlet jsp threw exception
java.lang.ClassCastException: java.lang.String cannot be cast to 
org.springframework.orm.hibernate3.HibernateTemplate
    at org.apache.jsp.bookdetails_jsp._jspService(bookdetails_jsp.java:96)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at 


  org.apache.jasper.servlet.JspServletWrapper.
      service(JspServletWrapper.java:388)
       at org.apache.jasper.servlet.JspServlet.
   serviceJspFile(JspServlet.java:313)
        at org.apache.jasper.servlet.JspServlet.
  service(JspServlet.java:260)
      at javax.servlet.http.HttpServlet.
     service(HttpServlet.java:717)
        at