HttpSession session = request.getSession();
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
out.println("<HTML>");
out.println("  <HEAD><TITLE>demo session</TITLE></HEAD>");
out.println("  <BODY>");
Integer counter = null;
                   counter = (Integer)session.getAttribute("count");
if (counter == null){
                counter = 1;
}
else {
counter=counter+1;
} session.setAttribute("count", "counter");
out.println("<h1>counter:" + counter +"</h1>");*/
out.println("  </BODY>");
out.println("</HTML>");
out.flush();
out.close();
在第一个执行的时候能够执行出结果,提示counter为1,但刷新的以后就会报如下错误
HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer
com.v512.chapter7.DemoSessionServlet.doGet(DemoSessionServlet.java:38)
javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.18 logs.com.v512.chapter7.DemoSessionServlet.doGet(DemoSessionServlet.java:38)指的就是下面我用红笔标注的语句。
counter = (Integer)session.getAttribute("count");
session.getAtrribute("count");它返回的是object类型怎么会报ClassCastException的错误呢?
谢谢