我在写一个博客系统,在登录页面设置一个session对象用来在登录成功后记录登录用户id:
session.setAttribute("logID",logid);//logid是从登录界面获得的用户id变量是int型;
在显示个人博客页面获得用户id成功:
String userid =(String)session.getAttribute("userID").toString();
想在显示个人信息页面同样获得,再写同样一句就提示错误:
String userid =(String)session.getAttribute("userID").toString();
错误信息:
org.apache.jasper.JasperException: An exception occurred processing JSP page /readblog.jsp at line 2623:
24: </head>
25: <%
26: String userid =(String)session.getAttribute("userID").toString();
27: String logid=request.getParameter("id");
28: String username=null,author=null;
29: DB_Conn db_conn =new DB_Conn();
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:419)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause java.lang.NullPointerException
org.apache.jsp.readblog_jsp._jspService(readblog_jsp.java:86)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)是不能在多个页面中引用啊,还是我写的有什么错误,请各高手指教!
session.setAttribute("logID",logid);//logid是从登录界面获得的用户id变量是int型;
在显示个人博客页面获得用户id成功:
String userid =(String)session.getAttribute("userID").toString();
想在显示个人信息页面同样获得,再写同样一句就提示错误:
String userid =(String)session.getAttribute("userID").toString();
错误信息:
org.apache.jasper.JasperException: An exception occurred processing JSP page /readblog.jsp at line 2623:
24: </head>
25: <%
26: String userid =(String)session.getAttribute("userID").toString();
27: String logid=request.getParameter("id");
28: String username=null,author=null;
29: DB_Conn db_conn =new DB_Conn();
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:419)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause java.lang.NullPointerException
org.apache.jsp.readblog_jsp._jspService(readblog_jsp.java:86)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)是不能在多个页面中引用啊,还是我写的有什么错误,请各高手指教!
解决方案 »
- 股票订阅功能的实现(新浪API)
- Unable to find a value 问题
- 怎么获取服务器IP?
- 急。各位大大。进来帮我解决一下。谢谢啦!!
- 空指向异常!
- jsp里cookie的怪异问题!
- Tomcat安装成功,但是不能不能编译文件,说是找不到javax.servlet包,这个包到底在哪?
- 谁教教我java web start应用程序管理器是做什么用的
- 关于IIS+RESIN的问题.http://127.0.0.1/interflow http://127.0.0.1:8080/的使用.
- 那儿有比较完整的jsp+xml的教程
- jquery 克隆节点后,修改节点的name属性值
- struts2 如何实现url参数隐藏,需要把后边的参数隐藏或者转化成静态url。在线等呢!!!
不要 toString()因为如果你的 session 中如果不存在userID 会报空指针异常你可以这样
String userid =session.getAttribute("userID")+"";
会自动转成 String
你试试
String userid =(String)session.getAttribute("userID");
if(userid == null){
System.out.println("userid 为空了.");
}你检查下自己的代码吧,这样用是没有问题的`肯定哪里出现了编码的逻辑错误.
怎么取的时候变成
String userid =(String)session.getAttribute("userID").toString();logID?userID?
既然已经用了(String)就不需要toString了,如果值是空的还会报错。
你session里设的不是logID么,怎么取的时候用的userID?
org.apache.jasper.JasperException: java.lang.ClassCastException: java.lang.Integer
我再改改看吧,谢谢各位了!
String userid =(String)session.getAttribute("userID").toString()出现了错误。
原因:logID != userID
这样,不过你的的logid是int型的,也有可能(String) 有问题,换种转换方式
session.getAttribute("logID",logid);//
不用toString();
是否可行?????
在显示个人博客页面获得用户id成功:
String userid =(String)session.getAttribute("userID").toString();
想在显示个人信息页面同样获得,再写同样一句就提示错误:
String userid =(String)session.getAttribute("userID").toString();
toString()和(String)转换是不行的,而且你获得的Session一个是logID,一个是userID,名字应该一致吧。如果你用了Struts,转换问题还好解决。