我在用户登陆之前我进行如下操作
String username = (String)session.getAttribute("userName");
if(username.equals(UserName))//如果username的值等于登陆页面传来的UserName的值的话

{
response.sendRedirect("../Login/LoginPage.jsp?msg=nologin");
//跳转到登陆页面
}
登陆成功后
session.setAttribute("userName",UserName);可是出现如下异常
org.apache.jasper.JasperException
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:372)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

解决方案 »

  1.   

    还没有跳转的时候就需要session.setAttribute("userName",UserName);
      

  2.   

    这个异常不全阿
    还有
    登陆成功后
    session.setAttribute("userName",UserName);你登陆成功后才这样做,不知道你这一句
    String username = (String)session.getAttribute("userName");怎么取呢?
      

  3.   

    session中userName的值是在什么时候设置的呢.
      

  4.   

    应该是空值导致的错误吧.因为username为null所以出错,或者你反过来写
    if(UserName.equals(username))
      

  5.   

    这好像是jsp页面的问题,应该还没有执行到String username = (String)session.getAttribute("userName");这句报的异常;你还是调试一下看,jsp页面是否把值username传过来了;所以仔细看一下你的jsp页面,而且你的验证逻辑也不太对,应该是先登陆,在访问其他页面的时候才要判断session中的用户是否合法;
      

  6.   

    你判断一下username是不是等于""或NULL.
      

  7.   

    第一次登陆的时候他显示 username登陆登陆界面中输入的 值
    可是第二次登陆的时候他就显示为 null了