一个Session的问题,请高手帮忙!来者有分!

geleisi 2005-04-12 08:48:22
一段登陆的小程序。如果登陆成功生成session,并跳转到logined.jsp页面,我在logined.jsp页面中可以取得session的值,但是当我点击另一个页面取得的session的值却是null,请高手指点!谢谢了.

LoginAction.java:

public final class LoginAction extends Action {
public ActionForward execute(ActionMapping mapping,
ActionForm form, HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {

String userName = ((LoginForm) form).getUsername();
String password = ((LoginForm) form).getPassword();

if (userName.equals("name") && password.equals("name")) {
HttpSession session = request.getSession();
session.setAttribute("name", userName);
return mapping.findForward("success");
}
else {
return mapping.findForward("failed");
}
}
}

logined.jsp :

<%String username= (String)session.getAttribute("name");%>
...全文
277 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
discolt 2005-04-25
  • 打赏
  • 举报
回复
没有问题。

同意

HttpSession session = request.getSession();
session.setAttribute("name", userName);
System.out.println(session.getAttribute("name"));//在这儿看看取得的session值是否是null
return mapping.findForward("success");

一步一步测试
chinadrencher 2005-04-14
  • 打赏
  • 举报
回复
在filter里检查一下.
飞行的兔子 2005-04-13
  • 打赏
  • 举报
回复
楼主你的没问题啊,我的程序和你差不多,但是我却取出了session的值啊!
我在Action中的代码:
HttpSession session=request.getSession(true);
System.out.println("session:"+session);

session.setAttribute("username",username);
在转向页面success.jsp中取得session
out.println("session in username:"+session.getAttribute("username"));
输出不是null啊,结果正确啊!
OnlyFor_love 2005-04-13
  • 打赏
  • 举报
回复
关注!
gaogaoseu 2005-04-13
  • 打赏
  • 举报
回复
这个好像没有道理啊
如果没有removeAttribute或者session.invalidate()
应该不会取不到地啊
要么在struts-config里面把scope的属性设置为session
Latnok Han 2005-04-13
  • 打赏
  • 举报
回复
你的xml里面是怎么配置的,forward里面最好只写name和path方法,不要多写别的东西。
jianghuxing 2005-04-12
  • 打赏
  • 举报
回复
没有见到过。!!!!

看看你在其它的面面是不是也设了一个同样的session而它的值是空的。
还有看看你的代码是不是前后写的不一样,取的时候,和放的时候。

UP。
geleisi 2005-04-12
  • 打赏
  • 举报
回复
to: zhutouzip(Speak out!-shyboy)
System.out.println(session.getAttribute("name"));生成的值不为空,因为我在跳转到logined.jsp的页面后还能取到session的值,但是当我从longined.jsp页面上点击转到另一个页面后,取到的session的值却是null了,另一个页面取session的值和logined.jsp页面方法是一样的。
njtucomputer 2005-04-12
  • 打赏
  • 举报
回复
session 的 scope 设置为scope="session"
geleisi 2005-04-12
  • 打赏
  • 举报
回复
我另一个页面用的是同一种方法取的session的值,但是取得的session的值是null
飞行的兔子 2005-04-12
  • 打赏
  • 举报
回复
HttpSession session = request.getSession();
session.setAttribute("name", userName);
System.out.println(session.getAttribute("name"));//在这儿看看取得的session值是否是null
return mapping.findForward("success");
waterwash 2005-04-12
  • 打赏
  • 举报
回复
session.setAttribute("sCITYNO","1");


String sCITYNO = session.getAttribute("sCITYNO");
zhangxiaomin88 2005-04-12
  • 打赏
  • 举报
回复
你用 session.setAttribuite("","") 方法 另一个页面用session.getAttribute("") 就得到你要的值了
geleisi 2005-04-12
  • 打赏
  • 举报
回复
我的意思是想在除了logined.jsp这个页面能取得session的值外,其他的页面我也需要这个session值,但是现在其他的页面却取不到值.
vcvj 2005-04-12
  • 打赏
  • 举报
回复
no problem! but it will always get 'name', what's the meaning of expression.
geleisi 2005-04-12
  • 打赏
  • 举报
回复
另外一个jsp页面也是这么取的,但是得到的值是null
llp1217 2005-04-12
  • 打赏
  • 举报
回复
另外一个页面写的程序有问题吗
虫虫大叔 2005-04-12
  • 打赏
  • 举报
回复
up
bestdelphier 2005-04-12
  • 打赏
  • 举报
回复
奇怪的问题。

正常情况应该每次都一样的。
geleisi 2005-04-12
  • 打赏
  • 举报
回复
to: bestdelphier(菜鸟升级中......)
每次刷新都是不同的值啊
加载更多回复(1)

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧