java类如何获取session中的值

xdjzz 2008-07-17 04:36:14
如题,在一个类中定义了一个 request.getsession().setAttribute("users", username);如何在该类跳转后获取该session中users的值呢,请指教,分不够立刻就加!!!
...全文
83023 17 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
飘然的风 2010-05-24
  • 打赏
  • 举报
回复
应该写成if("wxn".equals(session.getAttribute("users"))){}
xxzfy 2010-04-02
  • 打赏
  • 举报
回复
楼主在session中设置是用的变量名时"users"所以取值时也应用"users"这个名取;
另外楼主的代码中的equals()方法用法也有问题:
session.getAttribute("username").equals("xwn")session.getAttribute("username")取出的的是Object对象,这段代码的意思是把这个Object对象与"xwn"这个字符串的值比较,因为类型不同所以结果肯定为fasle
应该写成"wxn".equals(session.getAttribute("username"))
storm_huang 2008-07-17
  • 打赏
  • 举报
回复
设置的是session.setAttribute("users", username);
获取的是session.getAttribute("username").
肯定是空指针啦
JerryBeckF 2008-07-17
  • 打赏
  • 举报
回复
java.lang.NullPointerException
俄,如果是numberformatExcetpion,可以考虑object转string...
qq278095755 2008-07-17
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 xuhaiyang 的回复:]
if(session.getAttribute("username").equals("xwn"))
改成
if(session.getAttribute("users").equals("xwn"))
[/Quote]
seeSkyblue 2008-07-17
  • 打赏
  • 举报
回复
if(session.getAttribute("username").equals("xwn"))
session.getAttribute()出来的是object类,要强制转型成String类才能做比较
而且你的方法欠妥,如果session里面没有username这个参数,直接点方法出来会报空字符串异常

修改如下:
String username = (String)request.getsession().getAttribute("users");
if("xwn".equals(username)) {
........
}
JerryBeckF 2008-07-17
  • 打赏
  • 举报
回复
action跳转action...从没式过,应该避免这种情况出现...设计问题..
xuhaiyang 2008-07-17
  • 打赏
  • 举报
回复
if(session.getAttribute("username").equals("xwn"))
改成
if(session.getAttribute("users").equals("xwn"))
ZangXT 2008-07-17
  • 打赏
  • 举报
回复
session.getAttribute("username").
需要强制类型转换(String)。。
lisl2003 2008-07-17
  • 打赏
  • 举报
回复
String username = (String)request.getsession().getAttribute("users");
xdjzz 2008-07-17
  • 打赏
  • 举报
回复
我一开始也这么做的,可是不行,出错了
下面是代码,大家帮忙看一下

regaction
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
RegForm regForm = (RegForm) form;
String username= regForm.getUsername();
HttpSession session=request.getSession();
session.setAttribute("users", username);
return new ActionForward("/text.do");
}




textaction:
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {

HttpSession session=request.getSession();
if(session.getAttribute("username").equals("xwn"))
{
return mapping.findForward("index");
}
return null;
}


程序的目的是把users中的值在regaction中存入后,在textaction中读取,可是出错了。
下面是错误的内容:
2008-7-17 16:48:49 org.apache.struts.action.RequestProcessor processException
警告: Unhandled Exception thrown: class java.lang.NullPointerException
2008-7-17 16:48:49 org.apache.catalina.core.ApplicationDispatcher invoke
严重: Servlet.service() for servlet action threw exception
java.lang.NullPointerException
at com.yourcompany.struts.action.TextAction.execute(TextAction.java:29)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:654)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:445)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:379)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:292)
at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1063)
at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:386)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:229)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)
2008-7-17 16:48:49 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet action threw exception
java.lang.NullPointerException
at com.yourcompany.struts.action.TextAction.execute(TextAction.java:29)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:654)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:445)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:379)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:292)
at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1063)
at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:386)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:229)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)
Rinoajun 2008-07-17
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 JerryBeckF 的回复:]
String username = request.getsession().getAttribute("users").toString();
[/Quote]
JerryBeckF 2008-07-17
  • 打赏
  • 举报
回复
String username = request.getsession().getAttribute("users").toString();
ZangXT 2008-07-17
  • 打赏
  • 举报
回复
支持楼上,跳转过去直接这么取就ok了。
alex0058 2008-07-17
  • 打赏
  • 举报
回复
这个问题有点怪。
lovingprince 2008-07-17
  • 打赏
  • 举报
回复
request.getsession().getAttribute("users")

62,635

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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