JSP session值为null问题

在主页index.jsp的登录模块登录,跳至登录处理界面logDeal.jsp,在登录处理界面若验证成功则“session.setAttribute("username"... 在主页index.jsp的登录模块登录,跳至登录处理界面logDeal.jsp,在登录处理界面若验证成功则“session.setAttribute("username",username);”,并通过“请<a href="index.jsp?logname=<%=session.getAttribute("username")%>">点击这里</a>返回主页!”跳转回主页,在主页通过"<%=session.getAttribute("username")%>"获取当前登录用户的信息,当取得的值却为null。想要在主页还有其他页面显示当前登录用户的信息该怎么弄呢???急!!!在做毕业设计,偏偏在过不去这个坎!!
错了!登录处理页面是这句"请<a href="index.jsp">点击这里</a>返回主页!"
展开
 我来答
Iris弈
推荐于2018-03-29
知道答主
回答量:5
采纳率:0%
帮助的人:12.6万
展开全部
userbean.java里面的登录方法是这么写的:
/**
* 用户登录
*/
public boolean customerLogin(String customername, String customerpass) {

String sql="select * from customer where c_name = ? and c_pass = ? ";

if(jdbcTemplate.query(sql, new CustomerRowMapper(),customername,customerpass).size()==1){

return true;

}

return false;
}
action调用里面是这么写的:
request.setCharacterEncoding("utf-8");
String action=request.getParameter("action");
PrintWriter out =response.getWriter();
CustomerService ads=new CustomerService();

HttpSession session=request.getSession(true);//拿到session对象

if(action.equals("denglu"))
{
String name=request.getParameter("customername");
String pass=request.getParameter("customerpass");

boolean t =ads.customerLogin(name, pass);
if(t)
{
session.setAttribute("customername", name);//将用户名放进session里面
session.setAttribute("customerid", ads.SearchByname(name).getCname());
out.println("<script>alert('right~');location.href='main.jsp';</script>");
-------这句话就是登录成功直接到主页面
}
else
{
session.setAttribute("customername", "guest");
session.setAttribute("customerid",null);
out.print("<script>alert('error~');location.href='login.html';</script>");
}
}
再在主页面的jsp页面里面这么写:

<%
String customername=(String)session.getAttribute("customername");//从session中取出用户名
if (customername == null||customername.length()==0) {
customername = "guest";
}else{
session.setAttribute("customername", customername);
}
%>
亲爱的会员<%=customername%>,欢迎光临!
小炯小朋友
2013-05-10
知道答主
回答量:30
采纳率:0%
帮助的人:18.6万
展开全部
你是不是在servlet里面创建的“session.setAttribute("username",username);”啊?如果实在servlet里面的话要先声明 HttpSession session=request.getSession();,然后才能用session去点那些方法
更多追问追答
追问
我没有用servlet
追答
那你用的是什么啊?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
简讯快递
2013-05-10 · TA获得超过1202个赞
知道小有建树答主
回答量:1926
采纳率:33%
帮助的人:507万
展开全部
你登陆处理页面代码贴出来!!!!!!!!!!!看看
追问
主要代码有点长,贴不过来
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式