日期:2014-05-20  浏览次数:20891 次

jsp获取session的值的问题!
1,login.jsp 部分代码
 String sql="select * from userinfo where nickname='"+nicheng+"' and pwd='"+pwd+"'";
System.out.println(sql);
Statement stmt = DB.createStmt(conn);
ResultSet rs = DB.executeQuery(stmt, sql);

if(rs.next())
{
session.setAttribute("nicheng",nicheng);
response.sendRedirect("index.jsp");
}
else
{
 
response.sendRedirect("error.jsp");
 
}
2,index.jsp
 <%  
  String nicheng=(String)session.getAttribute("nicheng");
  if(nicheng!=null){}
%>
&nbsp;
<div align="right" class="STYLE3"><%if(session.getAttribute("nicheng")!=null){%>
  <%out.print(session.getAttribute("nicheng")); %>
  <a href="<%session.invalidate();%>" class="STYLE4">退出</a><%} %></div>
<div align="center">

3,bbs.jsp
  <div align="right">
<% if(session.getAttribute("nicheng")!=null){  
out.print(session.getAttribute("nicheng")); 
 
%>
<a href="../index.jsp" >退出</a>
<%} System.out.println(session.getAttribute("nicheng")); %>
<a href="../login.jsp">登陆</a>
<a href="../register.jsp"> 注册</a> 
</div>
login.jsp是用户注册 index.jsp是首页 用户注册后可以显示用户名 bbs.jsp是webroot/bbs里的 也要获取用户名
login和index都在webroot里。
现在的问题是:
  1:index可以获取到用户名 但是刷新后就没有了。
  2:bbs页获取的值为空。
  用其他页面测试也一样,都是空。
我用的是tomcat6.0.
请大家帮帮忙啦,我研究半天了也不知道为啥,别人做三个简单的页面测试过,好使。对tomcat有什么要求吗?
谢谢大家了!

------解决方案--------------------
LZ啊~

不用框架也行,最起码用个servlet来做数据操作吧

建议在setAttribute附近打印查询结果看看

先搞清楚的数据库问题还是session丢失的问题啊

仅供参考
------解决方案--------------------
探讨

引用:
LZ啊~

不用框架也行,最起码用个servlet来做数据操作吧

建议在setAttribute附近打印查询结果看看

先搞清楚的数据库问题还是session丢失的问题啊

仅供参考

setAttribute的值在index.jsp中已经可以显示了啊!
对tomcat有什么要求吗?

------解决方案--------------------
<a href="<%session.invalidate();%>" class="STYLE4">退出</a><%} %></div>

session已经失效了此处 应该去掉